Files
qt5-legatus-legacy/Lts/Services/PresentationManagement/initialization.cpp
T
2026-08-13 18:33:10 +02:00

74 lines
1.5 KiB
C++
Executable File

/**
* Initialization for Presentation
* $Id$
* $HeadURL$
* $Author$
*/
#include "initialization.h"
#include "settings.h"
#include "dds_handler.h"
#include "handler_presentation.h"
#include <DDS/DDSConnector/dds_connector.h>
#include <ngldb/db_service_handler.h>
#include <memory>
namespace PresentationManagement
{
Initialization::Initialization(QObject *parent)
: QObject(parent)
, m_logger(getLogger("Initialization"))
{
qsrand(time(nullptr));
}
Initialization::~Initialization()
{
m_handlerPresentation = nullptr;
m_dbHandler = nullptr;
m_ddsHandler = nullptr;
}
bool Initialization::initialize(const std::shared_ptr<DDSConnector::DdsConnector> &ddsConnector, const QSqlDatabase &sqlDb)
{
// initialize DDS
m_ddsHandler = std::make_shared<DdsHandler>(ddsConnector);
if (!m_ddsHandler->init())
return false;
// initialize database
m_dbHandler = std::make_shared<DbHandler>();
if (!m_dbHandler->init(ddsConnector->getPartitionId(), sqlDb))
return false;
// read project specific data from database
// publish project specific data
m_handlerPresentation = std::make_shared<HandlerPresentation>(this);
return true;
}
bool Initialization::loadFromDatabase()
{
if (!m_handlerPresentation->init())
return false;
return true;
}
std::shared_ptr<DatabaseInterface> Initialization::db() const
{
return m_dbHandler->db();
}
int Initialization::exerciseId() const
{
if (dds())
return dds()->ddsConnector()->getPartitionId();
return -1;
}
} // namespace PresentationManagement