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