Files
qt5-legatus-legacy/Lts/Services/CentralEffectSimulation/Plugins/ParticipantBuildings/plugin.cpp
T
2026-08-13 18:33:10 +02:00

102 lines
4.1 KiB
C++
Executable File

/**
* Plugin Ces Participant Buildings
* $Id$
* $HeadURL$
* $Author$
* Created by Gerlinde Rudolphus, SLTE, 2016-04-14
*/
#include "plugin.h"
#include "settings.h"
#include <ngldb/db_service_handler.h>
namespace CesParticipantBuildings
{
std::shared_ptr<CentralEffectSimulation::Plugin::Interface> CesParticipantBuildingsPlugin::createInterface(CentralEffectSimulation::Plugin::DataProvider *pdp,
const std::shared_ptr<DDSConnector::DdsConnector> &dDSConnector,
NGL::Settings *settings,
CentralEffectSimulation::MainHandler *mainHandler)
{
return std::make_shared<CesParticipantBuildingsInterfaceImpl>(pdp, dDSConnector, settings, mainHandler);
}
CesParticipantBuildingsInterfaceImpl::CesParticipantBuildingsInterfaceImpl(CentralEffectSimulation::Plugin::DataProvider *pdp,
const std::shared_ptr<DDSConnector::DdsConnector> &dDSConnector,
NGL::Settings *settings,
CentralEffectSimulation::MainHandler *mainHandler)
: m_pdp(pdp)
, m_ddsConnector(dDSConnector)
, m_mainHandler(mainHandler)
, m_ddsHandler(m_mainHandler->dds())
, m_db(m_mainHandler->db())
, m_handlerBuildingData(m_mainHandler->handlerBuildingData())
, m_handlerParticipant(m_mainHandler->handlerParticipant())
, m_logger(CentralEffectSimulation::getLogger("Plugin.ParticipantBuildings.CesParticipantBuildingsInterfaceImpl"))
{
Q_UNUSED(settings)
}
CesParticipantBuildingsInterfaceImpl::~CesParticipantBuildingsInterfaceImpl()
{
m_handlerParticipantBuilding.reset();
m_handlerBlockedAreas.reset();
}
bool CesParticipantBuildingsInterfaceImpl::init(int domainId, int exerciseId)
{
m_domainId = domainId;
m_exerciseId = exerciseId;
INFO_LOG(m_logger) << "CesParticipantBuildingsInterfaceImpl::init()"
<< " m_domainId=" << m_domainId
<< " m_exerciseId=" << m_exerciseId;
INFO_LOG(m_logger) << "initialize HandlerParticipantBuilding ----------------------------";
m_handlerParticipantBuilding = std::make_shared<HandlerParticipantBuilding>(m_ddsHandler,
m_handlerParticipant,
m_handlerBuildingData,
this);
if (!m_handlerParticipantBuilding->init())
{
ERROR_LOG(m_logger) << "Initialisation HandlerParticipantData failed.";
return false;
}
INFO_LOG(m_logger) << "end initialize HandlerParticipantBuilding ----------------------------";
if (Settings::handleBlockedAreas())
{
INFO_LOG(m_logger) << "initialize HandlerBlockedAreas ----------------------------";
// initialize HandlerBlockedAreas
m_handlerBlockedAreas = std::make_shared<HandlerBlockedAreas>(m_ddsHandler,
m_handlerParticipant,
m_handlerParticipantBuilding,
this);
// Blocked Areas
if (!m_handlerBlockedAreas->init())
{
ERROR_LOG(m_logger) << "Initialisation m_handlerBlockedAreas failed.";
return false;
}
}
INFO_LOG(m_logger) << "CesParticipantBuildingsInterfaceImpl::init() return true";
return true;
}
QString CesParticipantBuildingsInterfaceImpl::echo(const QString &message)
{
QString ret(QStringLiteral("<<<< %1 >>>> CES_FUNCTIONAL_AREAInterfaceImpl::echo").arg(message));
INFO_LOG(m_logger) << "CES_FUNCTIONAL_AREAInterfaceImpl::echo return:" << ret;
DEBUG_LOG(m_logger) << "DEBUG: CesParticipantBuildingsInterfaceImpl::echo return:" << ret;
return ret;
}
} //namespace CesParticipantBuildings