BUILD_RTI guards for DDS/Routing modules + logger init fixes

- Lts/DDS: Add BUILD_RTI guards to pacemaker.h, dds_connector.h,
  generic_fts_* files, generic_base.h, routing_plugin.h
- Lts/Services/RoutingServiceNG: Add BUILD_RTI guards to session.h/cpp,
  connection.h/cpp, data_writer_task.h/cpp
- Fix C++23 reference member initialization: use getLogger() instead of
  getNGLLogger() in constructor initializer lists
- Root CMakeLists.txt: Add Lts/DDS to include_directories
- Fix export header generation order (GENERATE_EXPORT_HEADER before
  TARGET_INCLUDE_DIRECTORIES)
- Remove auto-generated stub files (external deps collected separately)
This commit is contained in:
torsten committed 2026-08-21 21:57:27 +02:00
1 parent 6588fc7d3f
commit 3cc3129de0
27 files changed
+339 -92

No files matched your search

@@ -3,6 +3,8 @@
#include <DDS/Generic/generic_base.h>
#include <DDS/QosProfile/DDS_DefaultQos.h>
#include <NGLLogger/INGLLogger.h>
#if BUILD_RTI
#include <dds/pub/DataWriter.hpp>
#include <dds/pub/discovery.hpp>
#include <dds/sub/DataReader.hpp>
@@ -333,3 +335,99 @@ class FunctionTopicRequestDispatcher final : public TopicDispatcher<typename FTC
};
} // namespace RoutingService
#else // BUILD_RTI=OFF - Stub declarations
namespace RoutingService
{
// Stub interfaces when BUILD_RTI=OFF
class SampleWriterInterface
{
public:
SampleWriterInterface() = default;
virtual ~SampleWriterInterface() = default;
virtual void writeSamples() = 0;
virtual NGL::INGLLogger& logger() = 0;
};
class DataWriterTaskInterface
{
public:
DataWriterTaskInterface() = default;
virtual ~DataWriterTaskInterface() = default;
virtual void enqueue(SampleWriterInterface* /*swi*/) = 0;
};
class TopicDispatcherInterface
{
public:
TopicDispatcherInterface() = default;
virtual ~TopicDispatcherInterface() = default;
virtual bool init(DataWriterTaskInterface* /*dwt*/, void* /*dpIn*/, void* /*subIn*/, void* /*dpOut*/,
void* /*pubOut*/) = 0;
virtual void shutdown() = 0;
};
// Stub template classes when BUILD_RTI=OFF
template <typename TOPIC> class SampleWriter final : public SampleWriterInterface
{
public:
SampleWriter(void* /*samples*/, void* /*dataWriter*/, bool /*bWithOriginalIdentity*/, NGL::INGLLogger& /*logger*/)
{
}
void writeSamples() override {}
NGL::INGLLogger& logger() override
{
static NGL::INGLLogger dummyLogger;
return dummyLogger;
}
private:
NGL::INGLLogger& m_logger;
};
template <typename TOPIC> class TopicDispatcher : public TopicDispatcherInterface
{
protected:
explicit TopicDispatcher(NGL::INGLLogger& /*logger*/, const std::string& /*topicName*/, int /*topicType*/) {}
~TopicDispatcher() { shutdown(); }
bool init(DataWriterTaskInterface* /*dwt*/, void* /*dpIn*/, void* /*subIn*/, void* /*dpOut*/,
void* /*pubOut*/) override
{
return false;
}
void shutdown() override {}
private:
NGL::INGLLogger& m_logger;
};
template <typename TOPIC> class DataTopicDispatcher final : public TopicDispatcher<TOPIC>
{
public:
explicit DataTopicDispatcher(NGL::INGLLogger& logger) : TopicDispatcher<TOPIC>(logger, "", 0) {}
};
template <typename FTS_TOPIC>
class FunctionTopicReplyDispatcher final : public TopicDispatcher<typename FTS_TOPIC::ReplyTopic>
{
public:
explicit FunctionTopicReplyDispatcher(NGL::INGLLogger& logger)
: TopicDispatcher<typename FTS_TOPIC::ReplyTopic>(logger, "", 0)
{
}
};
template <typename FTC_TOPIC>
class FunctionTopicRequestDispatcher final : public TopicDispatcher<typename FTC_TOPIC::RequestTopic>
{
public:
explicit FunctionTopicRequestDispatcher(NGL::INGLLogger& logger)
: TopicDispatcher<typename FTC_TOPIC::RequestTopic>(logger, "", 0)
{
}
};
} // namespace RoutingService
#endif // BUILD_RTI