Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/include/DDS/Generic/generic_data_reader.h
T
torstenandCopilot 497baa804b Qt6/RTI 7.7 Migration: Build-System und RTI-Integration fixes
CMake Build-System:
- NGL_ADD_SUBDIR_GUARDED() vor erstem Aufruf definiert (Zeile 38)
- Z/src wird VOR ENABLE_TESTING() eingebunden
- InfrastructureManagement an Anfang von Lts/Services CMakeLists.txt
- ALIAS Targets für RTI nur für existierende Libraries erstellt

RTI 7.7 Integration:
- generic_base.h: QMetaMethod Include hinzugefügt
- generic_data_reader.h: Template-Signatur auf 2 Parameter angepasst
  - detail::DataReaderImpl<Q> als Default-Template-Parameter

Qt6 Location Support:
- Dockerfile: qtlocation und qtpositioning Module hinzugefügt

Dokumentation:
- C++23 Inkompatibilität mit RTI 7.7 in copilot-instructions.md
- EXTERNAL_DEPENDENCIES.md Strategie dokumentiert

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-30 13:36:41 +02:00

56 lines
1.4 KiB
C++

#pragma once
/**
* @file generic_data_reader.h
* @brief Stub header for BUILD_RTI=OFF configuration
*
* This file provides minimal stub definitions for DDS Generic Data Reader
* when RTI Connext DDS is not available (BUILD_RTI=OFF).
*/
#ifdef BUILD_RTI
// RTI DDS is available - include the real implementation from RTI headers
// DataReader is already defined in <dds/sub/subfwd.hpp> with signature:
// template <typename T, template <typename Q> class DELEGATE = dds::sub::detail::DataReaderImpl>
// class DataReader;
#else
// BUILD_RTI=OFF: Provide minimal stub definitions
namespace dds {
namespace sub {
namespace detail {
// Dummy delegate class to serve as default template parameter
template<typename Q>
class DataReaderImpl {
// Empty stub implementation
};
} // namespace detail
// Forward declaration stub for DataReader
// Must match RTI 7.7 signature for compatibility
template<typename T, template <typename Q> class DELEGATE = detail::DataReaderImpl>
class DataReader {
public:
// Minimal stub interface - add methods as needed by the codebase
T read() { return T{}; }
void take() {}
};
} // namespace sub
} // namespace dds
// GenericDataReader stub template
template<typename T>
class GenericDataReader {
public:
using DataType = T;
// Minimal stub methods - extend as needed
bool has_data() const { return false; }
T read_data() { return T{}; }
void cleanup() {}
};
#endif // BUILD_RTI