Files
qt5-legatus-legacy/Lts/Proxies/Buildings/pdm_handler.cpp
T
2026-08-13 18:33:10 +02:00

57 lines
1.4 KiB
C++
Executable File

/**
* Convert internal gear and charge id to and from tas ids
* $Id$
* $HeadURL$
* $Author$
* Created by Christian Ehrlicher, SLSE, 2016-04-14
*/
#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)) // 20s - more to load
{
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;
}
} // namespace Buildings