Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/DDS/Generic/generic_base.h
T
torstenandCopilot 8d456c7d1a 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>
2026-08-23 14:39:10 +02:00

66 lines
1.3 KiB
C++
Executable File

#pragma once
#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;
namespace NGL {
class INGLLogger;
}
namespace DDS
{
template<typename T>
struct topic_type_name {
static std::string value() {
#if BUILD_RTI
return dds::topic::topic_type_name<T>::value();
#else
return "";
#endif
}
};
#if BUILD_RTI
template<>
struct topic_type_name<dds::core::xtypes::DynamicData> {
static std::string value() {
return "dds::topic::DynamicData::value()";
}
};
template<>
struct topic_type_name<rti::core::xtypes::DynamicTypeImpl> {
static std::string value() {
return "dds::topic::DynamicTypeImpl::value()";
}
};
#endif
namespace Helper
{
DDSGEN_EXPORT std::string getFunctionTopicName(const std::string &fqName);
DDSGEN_EXPORT std::string getShortTopicName(const std::string &fqName);
DDSGEN_EXPORT QMetaMethod getMethod(NGL::INGLLogger &logger,
QObject *objectToInform,
const char *slotToExecute,
const char *signalSignature,
bool bWarnOnEmptySlot = true);
}
}