Files
qt5-legatus-legacy/Lts/Proxies/WarehouseManagement/main_handler.cpp
T

58 lines
1.4 KiB
C++
Executable File

/**
* MainHandler for TetraRadio
* $Id$
* $HeadURL$
* $Author$
* Created by Christian Ehrlicher, SLSE, 2016-04-14
*/
#include "main_handler.h"
#include <Core/pacemaker.h>
namespace WarehouseManagement
{
MainHandler::MainHandler()
: QObject()
, m_logger(getLogger("MainHandler"))
{}
MainHandler::~MainHandler()
{
delete m_dataManager;
m_wms2ecc = nullptr;
m_exercisesHandler = nullptr;
m_ddsHandler = nullptr;
}
bool MainHandler::init(int domainId)
{
// initialize DDS
m_ddsHandler = std::make_shared<DdsHandler>(domainId);
if (!m_ddsHandler->init())
return false;
m_exercisesHandler = std::make_shared<ExercisesHandler>(m_ddsHandler);
if (!m_exercisesHandler->init())
return false;
m_wms2ecc = std::make_shared<IWMS2ECC_Impl>(m_exercisesHandler);
m_dataManager = new DataManager(m_wms2ecc, m_ddsHandler, m_exercisesHandler);
m_dataManager->init();
connect(m_exercisesHandler.get(), &ExercisesHandler::participantChanged, m_dataManager,
&DataManager::onParticipantChanged);
connect(m_exercisesHandler.get(), &ExercisesHandler::exerciseChanged, m_dataManager,
&DataManager::onExerciseChanged);
connect(m_exercisesHandler.get(), &ExercisesHandler::registrationReturnValue, m_dataManager,
&DataManager::onRegistrationReturnValue);
m_ddsHandler->pacemaker()->setNewState(Core::RunningState::inner_enum::Running);
return true;
}
} // namespace WarehouseManagement