Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Proxies/Buildings/pdm_handler.cpp
T
2026-10-03 09:20:13 +02:00

51 lines
1.2 KiB
C++
Executable File

#include "pdm_handler.h"
#include "main_handler.h"
#include <ProjectDataManagement/pdm_dtc.h>
#include <NGLLogger/NGLLoggerBootstrap.h>
namespace Buildings
{
PdmHandler::PdmHandler(MainHandler *mainHandler) : m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
, m_mainHandler(mainHandler)
, m_bPdmInitialized(false) {}
PdmHandler::~PdmHandler()
{}
void PdmHandler::initializePdm()
{
if (m_bPdmInitialized)
return;
m_bPdmInitialized = true;
auto dtcPdm = ProjectDataManagement::Interface::Dtc::create(m_mainHandler->ddsHandler()->ddsConnector());
if (!dtcPdm->enableChargeType() ||
!dtcPdm->enableBuildingChargeEffect() ||
!dtcPdm->waitForHistoricalDataChargeType(20000) ||
!dtcPdm->waitForHistoricalDataBuildingChargeEffect(20000))
{
ERROR_LOG(m_logger) << "Can not read charge/gear types from PDM";
m_bPdmInitialized = false;
return;
}
m_buildingChargeEffects = dtcPdm->buildingChargeEffects();
m_chargeTypes = dtcPdm->chargeTypes();
}
QMap<int, ProjectDataManagement::BuildingChargeEffect> PdmHandler::buildingChargeEffects()
{
initializePdm();
return m_buildingChargeEffects;
}
QMap<int, ProjectDataManagement::ChargeType> PdmHandler::chargeTypes()
{
initializePdm();
return m_chargeTypes;
}
}