BUILD_RTI DDS Module Guard Fixes

- Add missing m_logger member declarations to GenericDataWriter,
  GenericDataReader, GenericDtcImplSubscriberTemplate
- Add DynamicDataImpl.hpp include for complete type in publisher.h/cpp
- Wrap dds_connector.cpp implementation in #if BUILD_RTI guards
- Fix stub signatures in dds_connector.h to match implementation
- Set CMAKE_CXX_STANDARD to 17 (RTI 7.7.0 hard requirement)

RTI Connext DDS 7.7.0 only supports C++14/C++17. C++20/23 causes
header compilation errors. Cannot mix C++ variants.

Remaining Qt6 issues (separate from RTI work):
- QJsonDocument::toBinaryData/fromBinaryData → toJson/fromJson
- QJsonObject initializer list syntax in training_area_telegrams.cpp

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
torstenandCopilot committed 2026-08-23 14:39:10 +02:00
1 parent ec75789fae
commit 8d456c7d1a
12 files changed
+22 -13

No files matched your search

@@ -63,8 +63,8 @@ include_directories(${CMAKE_SOURCE_DIR}/include/ProjectDataManagement)
include_directories(${CMAKE_BINARY_DIR}/Lts/Services/ProjectDataManagement) include_directories(${CMAKE_BINARY_DIR}/Lts/Services/ProjectDataManagement)
include_directories(${CMAKE_SOURCE_DIR}/Lts/Proxies/GuezNasat) include_directories(${CMAKE_SOURCE_DIR}/Lts/Proxies/GuezNasat)
include_directories(${CMAKE_SOURCE_DIR}/Lts/DDS) include_directories(${CMAKE_SOURCE_DIR}/Lts/DDS)
SET(CMAKE_CXX_STANDARD 20) SET(CMAKE_CXX_STANDARD 17)
SET(CMAKE_CXX_STANDARD_REQUIRED 14) SET(CMAKE_CXX_STANDARD_REQUIRED ON)
SET(CMAKE_VISIBILITY_INLINES_HIDDEN ON) SET(CMAKE_VISIBILITY_INLINES_HIDDEN ON)
SET(CMAKE_CXX_VISIBILITY_PRESET hidden) SET(CMAKE_CXX_VISIBILITY_PRESET hidden)
SET(CMAKE_POSITION_INDEPENDENT_CODE ON) SET(CMAKE_POSITION_INDEPENDENT_CODE ON)
@@ -2,6 +2,8 @@
#include "dds_connector.h" #include "dds_connector.h"
#if BUILD_RTI
#include "publisher.h" #include "publisher.h"
#include "subscriber.h" #include "subscriber.h"
@@ -250,3 +252,5 @@ void DdsConnector::createWaitSetHandler()
} }
} // namespace DDSConnector } // namespace DDSConnector
#endif // BUILD_RTI
@@ -207,11 +207,6 @@ class DDSCONNECTOR_EXPORT DdsConnector
void initDomainParticipant() {} void initDomainParticipant() {}
#endif #endif
private:
NGL::INGLLogger& m_logger;
void initInternal();
void createWaitSetHandler();
private: private:
NGL::INGLLogger& m_logger; NGL::INGLLogger& m_logger;
int m_domainId; int m_domainId;
@@ -238,7 +233,6 @@ class CoherentSet
} }
private: private:
NGL::INGLLogger& m_logger;
dds::pub::CoherentSet m_coherentSet; dds::pub::CoherentSet m_coherentSet;
}; };
#else #else
@@ -247,8 +241,6 @@ class CoherentSet
{ {
public: public:
explicit CoherentSet(const std::shared_ptr<DdsConnector>& /*connector*/) {} explicit CoherentSet(const std::shared_ptr<DdsConnector>& /*connector*/) {}
private:
NGL::INGLLogger& m_logger;
}; };
#endif #endif
@@ -4,6 +4,7 @@
#include "pub_sub_base_p.h" #include "pub_sub_base_p.h"
#include <dds/pub/AnyDataWriter.hpp> #include <dds/pub/AnyDataWriter.hpp>
#include <rti/core/xtypes/DynamicDataImpl.hpp>
#include <DDS/QosProfile/DDS_DefaultQos.h> #include <DDS/QosProfile/DDS_DefaultQos.h>
#include <NGLLogger/INGLLogger.h> #include <NGLLogger/INGLLogger.h>
@@ -6,6 +6,7 @@
#include <NGLLogger/INGLLogger.h> #include <NGLLogger/INGLLogger.h>
#include <DDS/DTS/generic_dts_impl.h> #include <DDS/DTS/generic_dts_impl.h>
#include <DDS/Generic/generic_data_writer.h> #include <DDS/Generic/generic_data_writer.h>
#include <rti/core/xtypes/DynamicDataImpl.hpp>
#include "pub_sub_base.h" #include "pub_sub_base.h"
@@ -254,6 +254,8 @@ class GenericDtcImplSubscriberTemplate : public DDSGeneric::SubscriberListenerCa
SubscriberCallback m_subscriberCallback; SubscriberCallback m_subscriberCallback;
QAtomicInt m_writerState; QAtomicInt m_writerState;
NGL::INGLLogger& m_logger;
}; };
template <typename DRO_OBJECT> template <typename DRO_OBJECT>
@@ -6,6 +6,11 @@
#include <string> #include <string>
#include <ddsgen_export.h> #include <ddsgen_export.h>
#if BUILD_RTI
#include <dds/topic/topic.hpp>
#include <rti/core/xtypes/DynamicTypeImpl.hpp>
#endif
class QObject; class QObject;
class QMetaMethod; class QMetaMethod;
@@ -26,6 +31,8 @@ struct topic_type_name {
#endif #endif
} }
}; };
#if BUILD_RTI
template<> template<>
struct topic_type_name<dds::core::xtypes::DynamicData> { struct topic_type_name<dds::core::xtypes::DynamicData> {
static std::string value() { static std::string value() {
@@ -308,6 +308,7 @@ template <typename TOPICTYPE> class GenericDataReader
std::vector<SampleStruct> m_newSamplesDuringRead; std::vector<SampleStruct> m_newSamplesDuringRead;
bool m_bHaveSubscriberCallback; bool m_bHaveSubscriberCallback;
NGL::INGLLogger& m_logger;
}; };
template <typename TOPICTYPE> class GenericDataReaderContentFilter final : public GenericDataReader<TOPICTYPE> template <typename TOPICTYPE> class GenericDataReaderContentFilter final : public GenericDataReader<TOPICTYPE>
@@ -126,6 +126,7 @@ template <typename TOPICTYPE> class GenericDataWriter final
private: private:
DataWriter m_dataWriter; DataWriter m_dataWriter;
DataTopic m_ddsTopic; DataTopic m_ddsTopic;
NGL::INGLLogger& m_logger;
}; };
} // namespace DDSGeneric } // namespace DDSGeneric
@@ -9,7 +9,7 @@ namespace DDSGeneric
{ {
SubscriberListener::SubscriberListener() SubscriberListener::SubscriberListener()
: m_bPrepareForShutdown(false), m_logger(DDS::getLogger("SubscriberListener", DDS::DataType::DATA_TOPIC_CLIENT)) : m_logger(DDS::getLogger("SubscriberListener", DDS::DataType::DATA_TOPIC_CLIENT)), m_bPrepareForShutdown(false)
{ {
qRegisterMetaType<std::string>("std::string"); qRegisterMetaType<std::string>("std::string");
DEBUG_LOG(m_logger) << "SubscriberListener initialized, this " << this; DEBUG_LOG(m_logger) << "SubscriberListener initialized, this " << this;
@@ -4,7 +4,7 @@
#pragma once #pragma once
#include <PluginInterfaces/data_plugin_interface.h> #include <PluginInterfaces/data_plugin_interface.h>
#include <Plugins/ComponentMonitor/cmo_data_plugin_interface.h> #include <ComponentMonitor/cmo_data_plugin_interface.h>
namespace ComponentMonitor namespace ComponentMonitor
{ {
@@ -12,7 +12,7 @@
#include "resource_manager_mode.h" #include "resource_manager_mode.h"
#include <Plugins/InfrastructureManagement/ism_data_plugin_interface.h> #include <Plugins/InfrastructureManagement/ism_data_plugin_interface.h>
#include <Plugins/InfrastructureManagement/ism_resource_management_gui_plugin_interface.h> #include <Plugins/InfrastructureManagement/ism_resource_management_gui_plugin_interface.h>
#include <Plugins/ComponentMonitor/cmo_data_plugin_interface.h> #include <ComponentMonitor/cmo_data_plugin_interface.h>
#include <Plugins/InfrastructureManagement/Shared/ism_mounting_point.h> #include <Plugins/InfrastructureManagement/Shared/ism_mounting_point.h>
#include <MapObjects/geo_image.h> #include <MapObjects/geo_image.h>
#include <MapObjects/map_object_attributes.h> #include <MapObjects/map_object_attributes.h>