/** * MainHandler for AssetManagement * $Id$ * $HeadURL$ * $Author$ */ #include "main_handler.h" #include "handler_order.h" #include "handler_operating_condition.h" #include "handler_firing_explosion.h" #include "handler_firing_smoke.h" #include "handler_tab_data.h" #include "handler_vehicle.h" #include "control_unit_handler.h" #include "settings.h" #include namespace EffectShowClient { MainHandler::MainHandler(QObject *parent) : QObject(parent) , m_ddsHandler(nullptr) , m_dbHandler(nullptr) , m_handlerOrder(nullptr) , m_handlerOperatingCondition(nullptr) , m_handlerFiringExplosion(nullptr) , m_handlerFiringSmoke(nullptr) , m_handlerTabData(nullptr) , m_handlerVehicle(nullptr) , m_handlerControlUnit(nullptr) , m_logger(getLogger("MainHandler")) {} MainHandler::~MainHandler() { m_handlerOrder = nullptr; m_handlerOperatingCondition = nullptr; m_handlerFiringExplosion = nullptr; m_handlerFiringSmoke = nullptr; m_handlerTabData = nullptr; m_handlerVehicle = nullptr; m_handlerControlUnit = nullptr; m_dbHandler = nullptr; m_ddsHandler = nullptr; } bool MainHandler::init(int domainId, int exerciseId) { // initialize database m_dbHandler = std::make_shared(); if (!m_dbHandler->init(exerciseId, Settings::settings())) { ERROR_LOG(m_logger) << "Initialisation dbHandler failed."; return false; } DEBUG_LOG(m_logger) << "Initialisation dbHandler succesful."; // initialize DDS m_ddsHandler = std::make_shared(domainId, exerciseId); if (!m_ddsHandler->init()) { ERROR_LOG(m_logger) << "Initialisation ddsHandler failed."; return false; } DEBUG_LOG(m_logger) << "Initialisation ddsHandler succesful."; // init control unit handler m_handlerControlUnit = std::make_shared(this); if (!m_handlerControlUnit->init()) { ERROR_LOG(m_logger) << "Initialisation control unit handler failed."; return false; } DEBUG_LOG(m_logger) << "Initialisation control unit handler succesful."; // create handler m_handlerOrder = std::make_shared(this, this); m_handlerOperatingCondition = std::make_shared(this, this); m_handlerFiringExplosion = std::make_shared(this, this); m_handlerFiringSmoke = std::make_shared(this, this); m_handlerTabData = std::make_shared(this, this); m_handlerVehicle = std::make_shared(this, this); // ini handler if (!m_handlerOrder->init()) { ERROR_LOG(m_logger) << "Initialisation HandlerOrder failed."; return false; } if (!m_handlerOperatingCondition->init()) { ERROR_LOG(m_logger) << "Initialisation handlerOperatingCondition failed."; return false; } if (!m_handlerFiringExplosion->init()) { ERROR_LOG(m_logger) << "Initialisation handlerFiringExplosion failed."; return false; } if (!m_handlerFiringSmoke->init()) { ERROR_LOG(m_logger) << "Initialisation handlerFiringSmoke failed."; return false; } if (!m_handlerTabData->init()) { ERROR_LOG(m_logger) << "Initialisation HandlerTabData failed."; return false; } if (!m_handlerVehicle->init()) { ERROR_LOG(m_logger) << "Initialisation handlerVehicle failed."; return false; } m_ddsHandler->pacemaker()->setNewState(Core::RunningState::Running); return true; } } // namespace EffectShowClient