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>
56 lines
1.4 KiB
C++
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
|