Files
torstenandCopilot b774f4035c Qt6 Migration: DDS-Stubs, Logger-Fixes, Export-Header Korrekturen
- NGL_ADD_LIBRARY2: 87 CMakeLists.txt konvertiert für Export-Header Generierung
- 44 Export-Header Include-Pfade korrigiert (_export.h)
- 81 DDS-Stub-Header generiert (*_dtc.h, *_fts.h, *_dts.h, *_ftc.h)
- INGLLogger: Duplikat gelöscht, m_logger Member entfernt, variadische Makros
- Q_FUNC_INFO Redefinition behoben (Qt6 definiert bereits)
- FATAL_LOG Makro hinzugefügt
- InfrastructureManagement DDS-Stubs (ism.hpp, ism_enums.hpp, ism_ftc.h)
- FilterManagement DDS-Stubs (flt_ftc.h, flt_dts.h)
- AreaEffectSimulation DDS-Stubs (aes.hpp, aes_enums.hpp)
- SymbolAppearance Klasse vollständig definiert mit content() Methode
- BuildingComponentFilter Klasse definiert mit Copy-Konstruktor
- Ftc Factory: nullptr Return (abstract class)
- AesFilter Klasse in aes.hpp hinzugefügt
- Dtc Klasse in ppm.hpp mit participantChanged Signal
- AesType Enum: alle 15 At* Werte definiert
- AesEffectState_def: EsReceived hinzugefügt
- DataModification Enum: eAdded/eModified/eRemoved
- function_reply_object.h → core_types.h Include-Pfad (72 Dateien)
- Enum-Class-Streaming Template-Operator in INGLLogger.h
- ism_mounting_point.h: QImage → QtGui/QImage, QGuiApplication/QScreen
- ism_data_plugin_interface.h: QSet Include, Include-Reihenfolge
- QRegExp → QRegularExpression in tpm_js_parser.cpp
- .underlying() Aufrufe zu direktem Enum-Vergleich korrigiert
- Include-Pfade: aes.hpp in symbol_appearance_settings_impl.h und aes_display_filter_impl.h

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-19 06:06:24 +02:00

142 lines
5.4 KiB
C++
Executable File

/**
* Plugin Building Ownership
* $Id$
* $HeadURL$
* $Author$
* Created by Gerlinde Rudolphus, SLTE, 2016-04-14
*/
#include "plugin.h"
#include <CentralEffectSimulation/proxy_building.h>
#include <QTimer>
namespace CesBuildings
{
std::shared_ptr<CentralEffectSimulation::Plugin::Interface> CesBuildingsPlugin::createInterface(CentralEffectSimulation::Plugin::DataProvider *pdp,
const std::shared_ptr<DDSConnector::DdsConnector> &dDSConnector,
NGL::Settings *settings,
CentralEffectSimulation::MainHandler *mainHandler)
{
return std::make_shared<CesBuildingsInterfaceImpl>(pdp, dDSConnector, settings, mainHandler);
}
CesBuildingsInterfaceImpl::CesBuildingsInterfaceImpl(CentralEffectSimulation::Plugin::DataProvider *pdp,
const std::shared_ptr<DDSConnector::DdsConnector> &dDSConnector,
NGL::Settings *settings,
CentralEffectSimulation::MainHandler *mainHandler)
: m_pdp(pdp)
, m_ddsConnector(dDSConnector)
, m_mainHandler(mainHandler)
, m_ddsHandler(m_mainHandler->dds())
, m_db(m_mainHandler->db())
, m_handlerBuildingData(m_mainHandler->handlerBuildingData())
, m_handlerParticipant(m_mainHandler->handlerParticipant())
, m_logger(CentralEffectSimulation::getLogger("Plugin.Buildings.CesBuildingsInterfaceImpl"))
{
Q_UNUSED(settings)
}
CesBuildingsInterfaceImpl::~CesBuildingsInterfaceImpl()
{
m_handlerBuildingOwnership.reset();
m_handlerAesData.reset();
m_handlerContaminations.reset();
}
bool CesBuildingsInterfaceImpl::init(int domainId, int exerciseId)
{
m_domainId = domainId;
m_exerciseId = exerciseId;
INFO_LOG() << "CesBuildingsInterfaceImpl::init()"
<< " m_domainId=" << m_domainId
<< " m_exerciseId=" << m_exerciseId;
// initialize handlerBuildingOwnership
INFO_LOG() << "initialize handlerBuildingOwnership ----------------------------";
m_handlerBuildingOwnership = std::make_shared<HandlerBuildingOwnership>(m_ddsHandler,
m_handlerParticipant,
m_handlerBuildingData,
m_db,
this);
if (!m_handlerBuildingOwnership->init())
{
ERROR_LOG() << "Initialisation m_handlerBuildingOwnership failed.";
return false;
}
INFO_LOG() << "end initialize handlerBuildingOwnership ----------------------------";
// initialize handlerAesData
INFO_LOG() << "initialize handlerAesData ----------------------------";
m_handlerAesData = std::make_shared<HandlerAesData>(m_ddsHandler,
m_handlerBuildingData,
this);
if (!m_handlerAesData->init())
{
ERROR_LOG() << "Initialisation m_handlerAesData failed.";
return false;
}
INFO_LOG() << "end initialize HandlerAesData ----------------------------";
// initialize handlerAesData
INFO_LOG() << "initialize handlerContaminations ----------------------------";
m_handlerContaminations = std::make_shared<HandlerContamination>(m_ddsHandler,
this);
if (!m_handlerContaminations->init())
{
ERROR_LOG() << "Initialisation m_handlerContaminations failed.";
return false;
}
INFO_LOG() << "end initialize HandlerContaminations ----------------------------";
// initialize handlerBuildingModel
INFO_LOG() << "initialize handlerBuildingModel ----------------------------";
m_handlerBuildingModel = std::make_shared<HandlerBuildingModel>(m_ddsHandler,
m_handlerAesData,
this);
if (!m_handlerBuildingModel->init())
{
ERROR_LOG() << "Initialisation m_handlerBuildingModel failed.";
return false;
}
INFO_LOG() << "end initialize handlerBuildingModel ----------------------------";
// Maybe not all MainStructureElements are processed yet.
// So give MainEventLoop time to finish their processing:
// suggest Qtimer::singleShot()
QTimer::singleShot(1000, this, [this]()
{
std::shared_ptr<CentralEffectSimulation::ProxyBuilding> proxyBuilding = m_mainHandler->proxyBuilding();
if (proxyBuilding)
{
INFO_LOG() << "set_handlerBuildingModel ----------------------------";
proxyBuilding->set_handlerBuildingModel(m_handlerBuildingModel);
}
});
INFO_LOG() << "CesBuildingsInterfaceImpl::init() return true";
return true;
}
QString CesBuildingsInterfaceImpl::echo(const QString &message)
{
QString ret(QStringLiteral("<<<< %1 >>>> CentralEffectSimulationBuildingOwnershipInterfaceImpl::echo").arg(message));
INFO_LOG() << "CentralEffectSimulationBuildingOwnershipInterfaceImpl::echo return:" << ret;
DEBUG_LOG() << "DEBUG: CentralEffectSimulationBuildingOwnershipInterfaceImpl::echo return:" << ret;
return ret;
}
} //namespace CesBuildings