- 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>
123 lines
3.2 KiB
C++
123 lines
3.2 KiB
C++
#pragma once
|
|
|
|
// STUB-HEADER: Diese Datei wird normalerweise von ddsdtc generiert
|
|
// Für die Migration erstellen wir minimale Forward-Declarations
|
|
|
|
#include <functional>
|
|
#include <memory>
|
|
#include <ostream>
|
|
#include <string>
|
|
|
|
#include <QtCore/QObject>
|
|
|
|
#include "LtsUtils/LtsUtilsCore/data_modification_enum.h"
|
|
|
|
namespace AreaEffectSimulation
|
|
{
|
|
|
|
// AesItem-Struct (wird normalerweise von DDS generiert)
|
|
struct AesItem
|
|
{
|
|
int32_t id() const { return m_id; }
|
|
const std::string& name() const { return m_name; }
|
|
|
|
int32_t m_id = 0;
|
|
std::string m_name;
|
|
};
|
|
|
|
inline std::ostream& operator<<(std::ostream& os, const AesItem& item)
|
|
{
|
|
os << "AesItem{id=" << item.id() << ", name=" << item.name() << "}";
|
|
return os;
|
|
}
|
|
|
|
// BCContamination-Struct (wird normalerweise von DDS generiert)
|
|
struct BCContamination : public AesItem
|
|
{
|
|
};
|
|
|
|
// BoobyTrap-Struct (wird normalerweise von DDS generiert)
|
|
struct BoobyTrap : public AesItem
|
|
{
|
|
};
|
|
|
|
// OffRouteMine-Struct (wird normalerweise von DDS generiert)
|
|
struct OffRouteMine : public AesItem
|
|
{
|
|
};
|
|
|
|
namespace Interface
|
|
{
|
|
|
|
// Dtc - Data Transfer Component für Area Effect Simulation
|
|
// DDS-generierte Klasse mit Signals für AES-Item-Änderungen
|
|
class Dtc : public QObject {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
Dtc() = default;
|
|
~Dtc() override = default;
|
|
|
|
// Callback registration for AES item changes
|
|
void bcContaminations(std::function<void(const BCContamination&)> callback) {
|
|
m_bcCallback = callback;
|
|
}
|
|
|
|
void boobyTraps(std::function<void(const BoobyTrap&)> callback) {
|
|
m_boobyTrapCallback = callback;
|
|
}
|
|
|
|
void offRouteMines(std::function<void(const OffRouteMine&)> callback) {
|
|
m_offRouteMineCallback = callback;
|
|
}
|
|
|
|
void aesItems(std::function<void(const AesItem&)> callback) {
|
|
m_aesCallback = callback;
|
|
}
|
|
|
|
// Trigger methods for STUB testing
|
|
void triggerBCContaminationChanged(const BCContamination& item, DataModification modType) {
|
|
emit bcContaminationChanged(item, modType);
|
|
if (m_bcCallback) {
|
|
m_bcCallback(item);
|
|
}
|
|
}
|
|
|
|
void triggerBoobyTrapChanged(const BoobyTrap& item, DataModification modType) {
|
|
emit boobyTrapChanged(item, modType);
|
|
if (m_boobyTrapCallback) {
|
|
m_boobyTrapCallback(item);
|
|
}
|
|
}
|
|
|
|
void triggerOffRouteMineChanged(const OffRouteMine& item, DataModification modType) {
|
|
emit offRouteMineChanged(item, modType);
|
|
if (m_offRouteMineCallback) {
|
|
m_offRouteMineCallback(item);
|
|
}
|
|
}
|
|
|
|
void triggerAesItemChanged(const AesItem& item, DataModification modType) {
|
|
emit aesItemChanged(item, modType);
|
|
if (m_aesCallback) {
|
|
m_aesCallback(item);
|
|
}
|
|
}
|
|
|
|
signals:
|
|
void bcContaminationChanged(const BCContamination& item, DataModification modType);
|
|
void boobyTrapChanged(const BoobyTrap& item, DataModification modType);
|
|
void offRouteMineChanged(const OffRouteMine& item, DataModification modType);
|
|
void aesItemChanged(const AesItem& item, DataModification modType);
|
|
|
|
private:
|
|
std::function<void(const BCContamination&)> m_bcCallback;
|
|
std::function<void(const BoobyTrap&)> m_boobyTrapCallback;
|
|
std::function<void(const OffRouteMine&)> m_offRouteMineCallback;
|
|
std::function<void(const AesItem&)> m_aesCallback;
|
|
};
|
|
|
|
class Ftc;
|
|
} // namespace Interface
|
|
} // namespace AreaEffectSimulation
|