Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Proxies/Buildings/building_control_handler.h
T
torstenandCopilot 7a6be7474e Qt6 migration: Fix BUILD_RTI=OFF build errors in TrainingAreaBase
- training_area_telegrams.cpp: Fixed QJsonObject initializer syntax (Qt6 requires {{}} not ({}))
- training_area_telegrams.cpp: Fixed fromJson() methods to access m_* members directly
- training_area_telegrams.cpp: Fixed brace mismatches in multiple toJson() methods
- training_area_telegrams.h: Changed Header struct to public members for consistency
- tx_mixin.cpp: Fixed getEquipmentNumber() template for direct member access
- lts_coordinate.cpp: Added missing #include <iomanip>
- MIGRATION_STATUS.md: Added migration progress tracking document

C++17 constraint enforced due to RTI Connext DDS 7.7.0 incompatibility with C++20+

Build status: BUILD_RTI=OFF successful (0 errors, warnings only)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-23 20:49:23 +02:00

75 lines
3.4 KiB
C++
Executable File

#pragma once
#include <QtCore/QObject>
#include <QtCore/QVector>
#include "ism_handler.h"
#include "logger.h"
#include <bld_fts.h>
namespace AssetManagement {
class RelayInfo;
}
namespace Buildings
{
class MainHandler;
class BuildingProcess;
class BuildingControlHandler final : public QObject
, protected Interface::Fts::SetBuildingStatesRequestHandler
, protected Interface::Fts::SetBuildingContaminationStateRequestHandler
, protected Interface::Fts::SetFortifyFactorRequestHandler
, protected Interface::Fts::SendCesHitOnBuildingRequestHandler
, protected Interface::Fts::SendCesHit3DonBuildingRequestHandler
, protected Interface::Fts::TriggerBsmFlashRequestHandler
, protected Interface::Fts::SwitchRelayRequestHandler
{
Q_OBJECT
public:
explicit BuildingControlHandler(MainHandler *mainHandler);
~BuildingControlHandler();
bool init();
QMap<int, BuildingProcess *> getBuildings() { return m_buildings;}
public Q_SLOTS:
void onBuildingRemoved(int buildingId);
void onBuildingChanged(const BuildingInfo &buildingInfo, bool damageInit);
void setEffectStates(const int buildingId, const int assetId, const QByteArray &properties);
void onRelayInfoChanged(const AssetManagement::RelayInfo &info, const DataModification mod);
private:
NGL::INGLLogger &m_logger;
void onSetBuildingContaminationStateRequest(const rti::core::SampleIdentity &cookie,
const SetBuildingContaminationStateRequest &request) override;
void onSetBuildingStatesRequest(const rti::core::SampleIdentity &cookie,
const SetBuildingStatesRequest &request) override;
void onSetFortifyFactorRequest(const rti::core::SampleIdentity &cookie,
const SetFortifyFactorRequest &request) override;
void onSendCesHitOnBuildingRequest(const rti::core::SampleIdentity &cookie,
const SendCesHitOnBuildingRequest &request) override;
void onSendCesHit3DonBuildingRequest(const rti::core::SampleIdentity &cookie,
const SendCesHit3DonBuildingRequest &request) override;
void onTriggerBsmFlashRequest(const rti::core::SampleIdentity &cookie,
const TriggerBsmFlashRequest &request) override;
void onSwitchRelayRequest(const rti::core::SampleIdentity &cookie,
const SwitchRelayRequest &request) override;
Core::FunctionReplyObject onSetBuildingContaminationStateRequestInternal(const SetBuildingContaminationStateRequest &data);
Core::FunctionReplyObject onSetBuildingStatesRequestInternal(const SetBuildingStatesRequest &data);
Core::FunctionReplyObject onSetFortifyFactorRequestInternal(const SetFortifyFactorRequest &data);
Core::FunctionReplyObject onSendCesHitOnBuildingRequestInternal(const SendCesHitOnBuildingRequest &data);
Core::FunctionReplyObject onSendCesHit3DonBuildingRequestInternal(const SendCesHit3DonBuildingRequest &data);
Core::FunctionReplyObject onTriggerBsmFlashInternal(const TriggerBsmFlashRequest &data);
Core::FunctionReplyObject onSwitchRelayInternal(const SwitchRelayRequest &data);
private:
NGL::INGLLogger &m_logger;
QMap<int, BuildingProcess *> m_buildings;
QMap<int, Buildings::HistoryState> m_historyStates;
QMap<int, AssetManagement::RelayInfo> m_relayInfos;
QString m_bcuExecutableName;
MainHandler *m_mainHandler;
};
}