/** * MainHandler for OCSituationClient * $Id$ * $HeadURL$ * $Author$ * Created by Philipp Dassow, NLST, 14-02-2018 */ #include "main_handler.h" #include #include "handler_oc_data.h" #include "settings.h" namespace OcSituationClient { MainHandler::MainHandler(QObject *parent) : QObject(parent) , m_ddsHandler(nullptr) , m_handlerOcData(nullptr) , m_dbHandler(nullptr) , m_aesDtc(nullptr) , m_aesFtc(nullptr) , m_evlFtc(nullptr) , m_gimDtc(nullptr) , m_msgDtc(nullptr) , m_msgFtc(nullptr) , m_opmDtc(nullptr) , m_ossDts(nullptr) , m_ossFts(nullptr) , m_ppmDtc(nullptr) , m_ppmFtc(nullptr) , m_tabDtc(nullptr) , m_tabFtc(nullptr) , m_tabocDtc(nullptr) , m_tabocDts(nullptr) , m_logger(getLogger("MainHandler")) {} MainHandler::~MainHandler() { m_ddsHandler = nullptr; m_handlerOcData = nullptr; m_dbHandler = nullptr; m_aesDtc = nullptr; m_aesFtc = nullptr; m_evlFtc = nullptr; m_gimDtc = nullptr; m_msgDtc = nullptr; m_msgFtc = nullptr; m_ossDts = nullptr; m_ossFts = nullptr; m_ppmDtc = nullptr; m_ppmFtc = nullptr; m_tabDtc = nullptr; m_tabFtc = nullptr; m_tabocDtc = nullptr; m_tabocDts = 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."; // create AES Dtc m_aesDtc = AreaEffectSimulation::Interface::Dtc::create(m_ddsHandler->dds()); DEBUG_LOG(m_logger) << "Created AES Dtc"; // create AES Ftc m_aesFtc = AreaEffectSimulation::Interface::Ftc::create(m_ddsHandler->dds()); DEBUG_LOG(m_logger) << "Created AES Ftc"; // create EVL Ftc m_evlFtc = Evaluations::Interface::Ftc::create(m_ddsHandler->dds()); DEBUG_LOG(m_logger) << "Created EVL Ftc"; // create GIM Dtc m_gimDtc = GuezIedManagement::Interface::Dtc::create(m_ddsHandler->dds()); DEBUG_LOG(m_logger) << "Created GIM Dtc"; // create MSG Dtc m_msgDtc = Messaging::Interface::Dtc::create(m_ddsHandler->dds()); DEBUG_LOG(m_logger) << "Created MSG Dtc"; // create MSG Ftc m_msgFtc = Messaging::Interface::Ftc::create(m_ddsHandler->dds()); DEBUG_LOG(m_logger) << "Created MSG Ftc"; // create OPM Dtc m_opmDtc = OperatorManagement::Interface::Dtc::create(m_ddsHandler->dds()); DEBUG_LOG(m_logger) << "Created OPM Dtc"; // create OSS Dts m_ossDts = OcSituationServer::Interface::Dts::create(m_ddsHandler->dds()); DEBUG_LOG(m_logger) << "Created OSS Dts"; // create OSS Fts m_ossFts = OcSituationServer::Interface::Fts::create(m_ddsHandler->dds()); DEBUG_LOG(m_logger) << "Created OSS Fts"; // create PPM Dtc m_ppmDtc = ParticipantManagement::Interface::Dtc::create(m_ddsHandler->dds()); DEBUG_LOG(m_logger) << "Created PPM Dtc"; // create PPM Ftc m_ppmFtc = ParticipantManagement::Interface::Ftc::create(m_ddsHandler->dds()); DEBUG_LOG(m_logger) << "Created PPM Ftc"; // create TAB Dtc m_tabDtc = TrainingAreaBase::Interface::Dtc::create(m_ddsHandler->dds()); DEBUG_LOG(m_logger) << "Created TAB Dtc"; // create TAB Dts m_tabDts = TrainingAreaBase::Interface::Dts::create(m_ddsHandler->dds()); DEBUG_LOG(m_logger) << "Created TAB Dts"; // create TAB Ftc m_tabFtc = TrainingAreaBase::Interface::Ftc::create(m_ddsHandler->dds()); DEBUG_LOG(m_logger) << "Created TAB Ftc"; // create TABOC Dtc m_tabocDtc = TrainingAreaBaseOC::Interface::Dtc::create(m_ddsHandler->dds()); DEBUG_LOG(m_logger) << "Created TABOC Dtc"; // create TABOC Dts m_tabocDts = TrainingAreaBaseOC::Interface::Dts::create(m_ddsHandler->dds()); DEBUG_LOG(m_logger) << "Created TABOC Dts"; // create handler oc-data m_handlerOcData = std::make_shared(this, this); if (!m_handlerOcData->init()) { ERROR_LOG(m_logger) << "Initialisation HandlerOcData failed."; return false; } m_ddsHandler->pacemaker()->setNewState(Core::RunningState::Running); return true; } } // namespace OcSituationClient