/** * Initialization for MarkerManagement * $Id$ * $HeadURL$ * $Author$ * Created by hjl, SLSE, 2016-04-05 */ #include "initialization.h" #include "handler_marker.h" #include "handler_snapshot.h" #include "settings.h" #include #include namespace MarkerManagement { Initialization::Initialization() : m_logger(getLogger("Initialization")) { } // end of ctor() //----------------------------------------------------------------------------- Initialization::~Initialization() { m_handlerMarker = nullptr; m_handlerSnapshot = nullptr; m_dbHandler = nullptr; m_ddsHandler = nullptr; } // end of dtor() //----------------------------------------------------------------------------- bool Initialization::initialize(const std::shared_ptr &ddsConnector, const QSqlDatabase &sqlDb) { INFO_LOG(m_logger) << "--- Start MarkerManagement Initialization."; // initialize DDS // for MarkerManagement => exerciseId = partitionId m_ddsHandler = std::make_shared(ddsConnector); if (!m_ddsHandler->init()) { ERROR_LOG(m_logger) << "Initialisation DdsHandler failed."; return false; } // initialize database m_dbHandler = std::make_shared(); if (!m_dbHandler->init(ddsConnector->getPartitionId(), sqlDb)) { ERROR_LOG(m_logger) << "Initialisation dbHandler failed."; return false; } // read project specific data from database // publish project specific data // initialize handler m_handlerMarker.reset(new HandlerMarker(m_ddsHandler, m_dbHandler->db())); m_handlerSnapshot.reset(new HandlerSnapshot(m_ddsHandler, m_dbHandler->db())); INFO_LOG(m_logger) << "MRK Handler initialized."; return true; } // end of initialize() //----------------------------------------------------------------------------- bool Initialization::loadFromDatabase() { if (!m_handlerMarker || !m_handlerMarker->init()) { ERROR_LOG(m_logger) << "Initialisation HandlerMarker failed."; return false; } if (!m_handlerSnapshot || !m_handlerSnapshot->init()) { ERROR_LOG(m_logger) << "Initialisation HandlerSnapshot failed."; return false; } INFO_LOG(m_logger) << "MRK Handler initialized."; return true; } // end of loadFromDatabase() //----------------------------------------------------------------------------- } // namespace MarkerManagement