74 lines
2.0 KiB
C++
Executable File
74 lines
2.0 KiB
C++
Executable File
/**
|
|
* Initialization for CodificationManagement
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by hjl, SLSE, 2016-11-14
|
|
*/
|
|
|
|
#include "initialization.h"
|
|
#include "settings.h"
|
|
#include "handler_codification_data.h"
|
|
#include <CodificationManagement/cod_db.h>
|
|
|
|
#include <DDS/DDSConnector/dds_connector.h>
|
|
#include <DDS/Core/pacemaker.h>
|
|
|
|
using namespace CodificationManagement;
|
|
|
|
Initialization::Initialization()
|
|
: m_logger(getLogger("Initialization"))
|
|
{
|
|
} // end of ctor()
|
|
//-----------------------------------------------------------------------------
|
|
|
|
Initialization::~Initialization()
|
|
{
|
|
m_handlerCodificationData = nullptr;
|
|
m_ddsHandler = nullptr;
|
|
m_dbHandler = nullptr;
|
|
} // end of dtor()
|
|
//-----------------------------------------------------------------------------
|
|
|
|
bool Initialization::initialize(const std::shared_ptr<DDSConnector::DdsConnector> &ddsConnector,
|
|
const QSqlDatabase &sqlDb)
|
|
{
|
|
INFO_LOG(m_logger) << "Start CodificationManagement Initialization.";
|
|
|
|
// initialize DDS
|
|
m_ddsHandler = std::make_shared<DdsHandler>(ddsConnector);
|
|
if (!m_ddsHandler->init())
|
|
{
|
|
ERROR_LOG(m_logger) << "Initialisation DdsHandler failed.";
|
|
return false;
|
|
}
|
|
|
|
// initialize database
|
|
m_dbHandler = std::make_shared<DbHandler>();
|
|
if (!m_dbHandler->init(ddsConnector->getPartitionId(), sqlDb))
|
|
{
|
|
ERROR_LOG(m_logger) << "Initialisation DbHandler failed.";
|
|
return false;
|
|
}
|
|
|
|
// create HandlerCodificationData
|
|
m_handlerCodificationData.reset(new HandlerCodificationData(m_ddsHandler, m_dbHandler));
|
|
|
|
INFO_LOG(m_logger) << "CodificationManagement Initialization initialized. pacemakerState: Running ";
|
|
|
|
return true;
|
|
} // end of init()
|
|
//-----------------------------------------------------------------------------
|
|
|
|
bool Initialization::loadFromDatabase()
|
|
{
|
|
if (!m_ddsHandler || !m_dbHandler || !m_handlerCodificationData)
|
|
return false;
|
|
if (!m_handlerCodificationData->init())
|
|
{
|
|
ERROR_LOG(m_logger) << "Initialisation HandlerCodificationData failed.";
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|