/** * 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 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 PdmHandler::buildingChargeEffects() { initializePdm(); return m_buildingChargeEffects; } QMap PdmHandler::chargeTypes() { initializePdm(); return m_chargeTypes; } } // namespace Buildings