51 lines
1.2 KiB
C++
Executable File
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;
|
|
}
|
|
|
|
|
|
}
|