- 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>
142 lines
5.4 KiB
C++
Executable File
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
|