58 lines
1.4 KiB
C++
Executable File
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
|