/** * MainHandler for ReportManagement Generator * $Id$ * $HeadURL$ * $Author$ */ #include "main_handler.h" #include "settings.h" #include "logger.h" #include #include #include #include namespace ReportManagement { MainHandler::MainHandler(QObject *parent) : QObject(parent) , m_ddsHandler(nullptr) , m_dbHandler(nullptr) , m_preService(nullptr) , m_logger(getLogger("MainHandlerGenerator")) {} MainHandler::~MainHandler() { m_reportGetData = nullptr; m_reportData = nullptr; m_ddsHandler = nullptr; m_dbHandler = nullptr; delete m_preService; } bool MainHandler::init(int domainId, int exerciseId) { // initialize database m_dbHandler = std::make_shared(); if (!m_dbHandler->init(exerciseId, Settings::settings())) return false; // initialize DDS m_ddsHandler = std::make_shared(domainId, exerciseId); if (!m_ddsHandler->init(true)) return false; m_reportData = std::make_shared(m_ddsHandler, m_dbHandler->db()); if (!m_reportData->init()) return false; m_preService = new PresentationManagement::Initialization; if (!m_preService->initialize(m_ddsHandler->ddsConnector(), m_dbHandler->db()->database())) return false; if (!m_preService->loadFromDatabase()) return false; m_reportGetData = std::make_shared(m_ddsHandler, m_dbHandler->db()); m_ddsHandler->pacemaker()->setNewState(Core::RunningState::Running); return true; } } // ReportManagement