#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 with signature: // template 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 class DataReaderImpl { // Empty stub implementation }; } // namespace detail // Forward declaration stub for DataReader // Must match RTI 7.7 signature for compatibility template 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 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