diff --git a/qt6-after/qt6-migrated-legatus/include/AdlerJson/aes_handler.h b/qt6-after/qt6-migrated-legatus/include/AdlerJson/aes_handler.h index cf936beb9..c84b83183 100755 --- a/qt6-after/qt6-migrated-legatus/include/AdlerJson/aes_handler.h +++ b/qt6-after/qt6-migrated-legatus/include/AdlerJson/aes_handler.h @@ -9,7 +9,7 @@ #pragma once -#include "DDS/Core/core_types.h" +#include "Core/core_types.h" #include "logger.h" #include "main_dispatcher.h" #include "telegrams.h" diff --git a/qt6-after/qt6-migrated-legatus/include/DDS/DTC/generic_dtc.h b/qt6-after/qt6-migrated-legatus/include/DDS/DTC/generic_dtc.h index 15d842868..437b1e220 100644 --- a/qt6-after/qt6-migrated-legatus/include/DDS/DTC/generic_dtc.h +++ b/qt6-after/qt6-migrated-legatus/include/DDS/DTC/generic_dtc.h @@ -16,10 +16,11 @@ // Use actual RTI Connext DDS types #include #include -// DataModification enum is provided by LtsUtilsCore/data_modification_enum.h +// DataModification enum is provided by LtsUtilsCore/data_modification_enum.h (included above) #else // Stub für BUILD_RTI=OFF - keine RTI Connext DDS Verfügbarkeit // Diese Header ermöglicht Kompilierung ohne RTI DDS Dependencies +// DataModification enum is still provided by LtsUtilsCore/data_modification_enum.h // Forward declarations für DDS-Typen (Stubs) namespace dds { @@ -34,13 +35,6 @@ namespace sub { }; } } - -// Stub enum for BUILD_RTI=OFF -enum class DataModification { - Added, - Modified, - Removed -}; #endif namespace NGLLogger @@ -52,12 +46,8 @@ namespace DTC { class SubscriberListener; -// DataModification Enum aus LtsUtilsCore/data_modification_enum.h stub -enum class DataModification { - Added, - Modified, - Removed -}; +// DataModification Enum is provided by LtsUtilsCore/data_modification_enum.h +// Do NOT redefine here - use the one from LtsUtilsCore // uses DRO (static) template diff --git a/qt6-after/qt6-migrated-legatus/include/DDS/DTC/generic_dtc_impl.h b/qt6-after/qt6-migrated-legatus/include/DDS/DTC/generic_dtc_impl.h index f017f15dd..f9e81dd67 100755 --- a/qt6-after/qt6-migrated-legatus/include/DDS/DTC/generic_dtc_impl.h +++ b/qt6-after/qt6-migrated-legatus/include/DDS/DTC/generic_dtc_impl.h @@ -10,6 +10,7 @@ #include #include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/include/DDS/Generic/generic_data_reader.h b/qt6-after/qt6-migrated-legatus/include/DDS/Generic/generic_data_reader.h index 12e139a73..7298059a8 100644 --- a/qt6-after/qt6-migrated-legatus/include/DDS/Generic/generic_data_reader.h +++ b/qt6-after/qt6-migrated-legatus/include/DDS/Generic/generic_data_reader.h @@ -2,17 +2,49 @@ /** * @file generic_data_reader.h - * @brief Stub header for BUILD_RTI=OFF configuration + * @brief Generic Data Reader wrapper for DDS * - * This file provides minimal stub definitions for DDS Generic Data Reader - * when RTI Connext DDS is not available (BUILD_RTI=OFF). + * Provides GenericDataReader template class that wraps RTI DataReader + * when BUILD_RTI=ON, or provides stub implementation when BUILD_RTI=OFF. */ +#include + +namespace DDSGeneric +{ + #ifdef BUILD_RTI -// RTI DDS is available - include the real implementation from RTI headers -// DataReader is already defined in with signature: -// template class DELEGATE = dds::sub::detail::DataReaderImpl> -// class DataReader; +// RTI DDS is available - include full DynamicDataReader implementation +#include + +// Forward declaration stub for DataReader +// RTI 7.7 signature: template class DELEGATE = dds::sub::detail::DataReaderImpl> +template +class GenericDataReader { +public: + using DataType = T; + using ReaderType = dds::sub::DataReader; + + // Minimal interface - extend as needed + bool has_data() const { return false; } + T read_data() { return T{}; } + void cleanup() {} + + // Access to underlying RTI reader if needed + ReaderType& reader() { return m_reader; } + const ReaderType& reader() const { return m_reader; } + +private: + ReaderType m_reader; +}; + +template +class GenericDataReaderContentFilter { +public: + using DataType = T; + // Minimal stub - extend as needed +}; + #else // BUILD_RTI=OFF: Provide minimal stub definitions @@ -53,4 +85,32 @@ public: void cleanup() {} }; -#endif // BUILD_RTI \ No newline at end of file +template +class GenericDataReaderContentFilter { +public: + using DataType = T; + // Minimal stub - extend as needed +}; + +// DynamicDataReader stub for BUILD_RTI=OFF +class DynamicDataReader { +public: + using TopicType = void*; + using DataReader = void*; + using DataTopic = void*; + + DynamicDataReader() {} + ~DynamicDataReader() {} + + bool create(const void* domainParticipant, const void* ddsSubscriber, + const std::string& specialTopicName, const void* structType) + { + return false; + } + + bool hasSamples() const { return false; } +}; + +#endif // BUILD_RTI + +} // namespace DDSGeneric \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/include/DDS/Generic/generic_logger.h b/qt6-after/qt6-migrated-legatus/include/DDS/Generic/generic_logger.h index e3a0711fc..c51e009d3 100644 --- a/qt6-after/qt6-migrated-legatus/include/DDS/Generic/generic_logger.h +++ b/qt6-after/qt6-migrated-legatus/include/DDS/Generic/generic_logger.h @@ -1,8 +1,42 @@ #pragma once -// Stub header for BUILD_RTI=OFF -// Original generic_logger.h uses NGL::INGLLogger from RTI infrastructure +#ifdef BUILD_RTI +// Real implementation with RTI NGL logger +#include +#include +#include +namespace DDS +{ + +enum class DataType +{ + DATA_TYPE_UNKNOWN = 0, + + DATA_WRITER = 1, + DATA_READER = 2, + + DYNAMIC_DATA_WRITER = 3, + DYNAMIC_DATA_READER = 4, + + DATA_TOPIC_SERVER = 8, + DATA_TOPIC_CLIENT = 9, + + FUNCTION_TOPIC_SERVER = 12, + FUNCTION_TOPIC_CLIENT = 13 +}; + +using LOGGER_T = NGL::INGLLogger&; + +DDSGEN_EXPORT LOGGER_T getLogger(const char *name, DataType dt); +inline LOGGER_T getLogger(const std::string &loggerName, DataType dt) +{ + return getLogger(loggerName.data(), dt); +} + +} // namespace DDS +#else +// Stub header for BUILD_RTI=OFF #include #include #include @@ -46,4 +80,5 @@ inline LOGGER_T getLogger(const std::string &loggerName, DataType dt) return getLogger(loggerName.data(), dt); } -} // namespace DDS \ No newline at end of file +} // namespace DDS +#endif \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/include/LtsUtils/LtsUtilsCore/data_modification_enum.h b/qt6-after/qt6-migrated-legatus/include/LtsUtils/LtsUtilsCore/data_modification_enum.h deleted file mode 100644 index c6c7283c8..000000000 --- a/qt6-after/qt6-migrated-legatus/include/LtsUtils/LtsUtilsCore/data_modification_enum.h +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Enum to describe the type of modification for an incoming data topic - * $Id$ - * $HeadURL$ - * $Author$ - * Created by Christian Ehrlicher, SLSE, 2016-02-26 - * - * Stub für BUILD_RTI=OFF - */ - -#pragma once - -enum class DataModification -{ - eAdded, - eModified, - eRemoved -}; \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/include/ProjectDataManagement/pdm_dtc.h b/qt6-after/qt6-migrated-legatus/include/ProjectDataManagement/pdm_dtc.h.stub similarity index 100% rename from qt6-after/qt6-migrated-legatus/include/ProjectDataManagement/pdm_dtc.h rename to qt6-after/qt6-migrated-legatus/include/ProjectDataManagement/pdm_dtc.h.stub diff --git a/qt6-after/qt6-migrated-legatus/include/ProjectDataManagement/pdm_dtc_impl.h b/qt6-after/qt6-migrated-legatus/include/ProjectDataManagement/pdm_dtc_impl.h.stub similarity index 100% rename from qt6-after/qt6-migrated-legatus/include/ProjectDataManagement/pdm_dtc_impl.h rename to qt6-after/qt6-migrated-legatus/include/ProjectDataManagement/pdm_dtc_impl.h.stub diff --git a/qt6-after/qt6-migrated-legatus/include/ProjectDataManagement/pdm_enums.hpp b/qt6-after/qt6-migrated-legatus/include/ProjectDataManagement/pdm_enums.hpp.stub similarity index 86% rename from qt6-after/qt6-migrated-legatus/include/ProjectDataManagement/pdm_enums.hpp rename to qt6-after/qt6-migrated-legatus/include/ProjectDataManagement/pdm_enums.hpp.stub index e0f2c2a65..3387d4b32 100644 --- a/qt6-after/qt6-migrated-legatus/include/ProjectDataManagement/pdm_enums.hpp +++ b/qt6-after/qt6-migrated-legatus/include/ProjectDataManagement/pdm_enums.hpp.stub @@ -210,4 +210,34 @@ enum class L46_GpsFrequency : int { L1 = 0, L2 }; enum class L48_TrajectoryRocket : int { Nominal = 0, Vertical }; +// Enums required by pdm_db_structs.h +enum class HgrMineSearchFilterType : int { + Unknown = 0, + Type1 = 1, + Type2 = 2, + Type3 = 3, + Type4 = 4, + Type5 = 5, + Type6 = 6, + Type7 = 7 +}; + +enum class GearClass : int { + Unknown = 0, + Class1 = 1, + Class2 = 2, + Class3 = 3, + Class4 = 4, + Class5 = 5 +}; + +enum class VulnerabilityClass : int { + Unknown = 0, + ClassA = 1, + ClassB = 2, + ClassC = 3, + ClassD = 4, + ClassE = 5 +}; + } // namespace ProjectDataManagement \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/include/ProjectDataManagement/pdm_translation.h b/qt6-after/qt6-migrated-legatus/include/ProjectDataManagement/pdm_translation.h.stub similarity index 73% rename from qt6-after/qt6-migrated-legatus/include/ProjectDataManagement/pdm_translation.h rename to qt6-after/qt6-migrated-legatus/include/ProjectDataManagement/pdm_translation.h.stub index 3e5b899ca..dcf29db46 100644 --- a/qt6-after/qt6-migrated-legatus/include/ProjectDataManagement/pdm_translation.h +++ b/qt6-after/qt6-migrated-legatus/include/ProjectDataManagement/pdm_translation.h.stub @@ -10,10 +10,12 @@ // filename: pdm_translation.h +#include #include "pdm_enums.hpp" #ifndef PDM_COMMON_EXPORT #ifdef BUILD_RTI #include "svcpdmcommon_export.h" +#define PDM_COMMON_EXPORT SVCPDMCOMMON_EXPORT #else #define PDM_COMMON_EXPORT #endif @@ -161,4 +163,29 @@ inline PDM_COMMON_EXPORT QString toString(EventType et) } } +inline PDM_COMMON_EXPORT QString toString(VulnerabilityState vs) +{ + switch (vs) { + case VulnerabilityState::NoChange: return QStringLiteral("NoChange"); + case VulnerabilityState::CombatReady: return QStringLiteral("CombatReady"); + case VulnerabilityState::LightDamage: return QStringLiteral("LightDamage"); + case VulnerabilityState::MediumDamage: return QStringLiteral("MediumDamage"); + case VulnerabilityState::HeavyDamage: return QStringLiteral("HeavyDamage"); + case VulnerabilityState::MobilityKill: return QStringLiteral("MobilityKill"); + case VulnerabilityState::VisibleMobilityKill: return QStringLiteral("VisibleMobilityKill"); + case VulnerabilityState::WeaponSystemDamage: return QStringLiteral("WeaponSystemDamage"); + case VulnerabilityState::VisibleWeaponSystemDamage: return QStringLiteral("VisibleWeaponSystemDamage"); + case VulnerabilityState::CatastrophicKill: return QStringLiteral("CatastrophicKill"); + case VulnerabilityState::TemporarySeverance: return QStringLiteral("TemporarySeverance"); + case VulnerabilityState::NearMiss: return QStringLiteral("NearMiss"); + case VulnerabilityState::HitWithNoEffect: return QStringLiteral("HitWithNoEffect"); + case VulnerabilityState::VulnerabilityBitsChanged: return QStringLiteral("VulnerabilityBitsChanged"); + case VulnerabilityState::Reserved: return QStringLiteral("Reserved"); + case VulnerabilityState::NContamination: return QStringLiteral("NContamination"); + case VulnerabilityState::BContamination: return QStringLiteral("BContamination"); + case VulnerabilityState::CContamination: return QStringLiteral("CContamination"); + default: return QStringLiteral("Unknown"); + } +} + } // namespace ProjectDataManagement \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/include/ProjectDataManagement/pdm_types.h b/qt6-after/qt6-migrated-legatus/include/ProjectDataManagement/pdm_types.h deleted file mode 100644 index cc01aa357..000000000 --- a/qt6-after/qt6-migrated-legatus/include/ProjectDataManagement/pdm_types.h +++ /dev/null @@ -1,100 +0,0 @@ -#pragma once - -// STUB-HEADER: Diese Datei wird normalerweise von ddsdtc generiert -// Für die Migration erstellen wir minimale Typ-Definitionen - -#include -#include "pdm_export.h" - -namespace ProjectDataManagement -{ - -// STUB: VulnerabilityState Enum -enum class VulnerabilityState : int -{ - eUnknown = 0, - eNormal = 1, - eWarning = 2, - eCritical = 3 -}; - -// STUB: VulnerabilityClass Enum -enum class VulnerabilityClass : int -{ - eUnknown = 0, - eClassA = 1, - eClassB = 2, - eClassC = 3 -}; - -// STUB: VulnerabilityState_def - DDS-generierte Wrapper-Struktur -struct VulnerabilityState_def -{ - using type = VulnerabilityState; - static constexpr VulnerabilityState eUnknown = VulnerabilityState::eUnknown; - static constexpr VulnerabilityState eNormal = VulnerabilityState::eNormal; - static constexpr VulnerabilityState eWarning = VulnerabilityState::eWarning; - static constexpr VulnerabilityState eCritical = VulnerabilityState::eCritical; -}; - -// STUB: VulnerabilityClass_def - DDS-generierte Wrapper-Struktur -struct VulnerabilityClass_def -{ - using type = VulnerabilityClass; - static constexpr VulnerabilityClass eUnknown = VulnerabilityClass::eUnknown; - static constexpr VulnerabilityClass eClassA = VulnerabilityClass::eClassA; - static constexpr VulnerabilityClass eClassB = VulnerabilityClass::eClassB; - static constexpr VulnerabilityClass eClassC = VulnerabilityClass::eClassC; - - // Statische Member für SoldierInjuries und VehicleDamages - static constexpr VulnerabilityClass SoldierInjuries = VulnerabilityClass::eClassA; - static constexpr VulnerabilityClass VehicleDamages = VulnerabilityClass::eClassB; -}; - -// STUB: ChargeType Enum -enum class ChargeType : int -{ - Unknown = 0, - Live = 1, - Inert = 2, - Practice = 3 -}; - -// STUB: UnitType Enum -enum class UnitType : int -{ - Unknown = 0, - Air = 1, - Ground = 2, - Naval = 3 -}; - -// STUB: SimulationType Enum -enum class SimulationType : int -{ - Unknown = 0, - Live = 1, - Constructive = 2, - Virtual = 3 -}; - -// STUB: EventType Enum -enum class EventType : int -{ - Unknown = 0, - Alarm = 1, - Warning = 2, - Info = 3, - Status = 4 -}; - -// STUB: GearClass Enum -enum class GearClass : int -{ - Unknown = 0, - ClassA = 1, - ClassB = 2, - ClassC = 3 -}; - -} // namespace ProjectDataManagement \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/include/ProjectDataManagement/pdm_types.h.stub b/qt6-after/qt6-migrated-legatus/include/ProjectDataManagement/pdm_types.h.stub new file mode 100644 index 000000000..390e7a64f --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/include/ProjectDataManagement/pdm_types.h.stub @@ -0,0 +1,34 @@ +#pragma once + +// STUB-HEADER: Diese Datei enthält nur Typen die NICHT von RTIDDSGEN generiert werden +// Alle DDS-generierten Typen sind in pdm_enums.hpp und pdm.hpp + +#include +#include "pdm_export.h" + +// Include generated DDS types +#include "pdm_enums.hpp" + +namespace ProjectDataManagement +{ + +// These types are NOT generated by RTIDDSGEN and must be defined here +// STUB: UnitType Enum +enum class UnitType : int +{ + Unknown = 0, + Air = 1, + Ground = 2, + Naval = 3 +}; + +// STUB: SimulationType Enum +enum class SimulationType : int +{ + Unknown = 0, + Live = 1, + Constructive = 2, + Virtual = 3 +}; + +} // namespace ProjectDataManagement \ No newline at end of file