//===-- core/MessagingSystem.cpp --------------------------------*- C++ -*-===//
//
//                                 The RoSA Framework
//
// Distributed under the terms and conditions of the Boost Software License 1.0.
// See accompanying file LICENSE.
//
// If you did not receive a copy of the license file, see
// http://www.boost.org/LICENSE_1_0.txt.
//
//===----------------------------------------------------------------------===//
///
/// \file core/MessagingSystem.cpp
///
/// \author David Juhasz (david.juhasz@tuwien.ac.at)
///
/// \date 2017
///
/// \brief Implementation of rosa/core/MessagingSystem.hpp.
///
//===----------------------------------------------------------------------===//

#include "rosa/core/MessagingSystem.hpp"

#include "rosa/core/Agent.hpp"

#include "MessagingSystemImpl.hpp"

namespace rosa {

std::unique_ptr<MessagingSystem>
MessagingSystem::createSystem(const std::string &Name) noexcept {
  return std::unique_ptr<MessagingSystem>(new MessagingSystemImpl(Name));
}

void MessagingSystem::destroyAgent(const AgentHandle &H) noexcept {
  destroyUnit(unwrapAgent(H));
}

} // End namespace rosa
