Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Proxies/Buildings/pdm_handler.cpp
T

52 lines
1.2 KiB
C++
Executable File

#include "pdm_handler.h"
#include "main_handler.h"
#include <ProjectDataManagement/pdm_dtc.h>
namespace Buildings
{
PdmHandler::PdmHandler(MainHandler *mainHandler)
: m_mainHandler(mainHandler)
, m_bPdmInitialized(false)
, m_logger(getLogger("PdmHandler"))
{}
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;
}
}