Fixes merge conflicts, but leaves out-of-DDS-scope build errors (tbc)

This commit is contained in:
torsten committed 2026-09-21 17:04:53 +00:00
1 parent f6292cc244
commit 0997dcba79
6 files changed
+109 -17

No files matched your search

@@ -30,8 +30,11 @@ template <typename DRO_OBJECT, typename SC> class GenericDtcSC
virtual bool setSubscriberCallback(const SubscriberCallback& subscriberCallback) = 0;
virtual dds::sub::LoanedSamples<TopicType> readAlive() const = 0;
virtual bool readAlive(TopicType& data) = 0;
virtual dds::sub::LoanedSamples<TopicType> takeAlive() const = 0;
virtual bool takeAlive(TopicType& data) = 0;
virtual dds::sub::LoanedSamples<TopicType> takeDisposed() const = 0;
virtual bool takeDisposed(TopicType& data) = 0;
virtual bool hasSamples() const = 0;
virtual DataReaderObject* dataReader() const = 0;
virtual bool waitForHistoricalData(int timeoutMSec) = 0;
@@ -46,7 +49,11 @@ class GenericDtc
using TopicType = typename BaseClass::TopicType;
// Explicitly expose base class methods for accessibility through smart pointers
void setSubscriberCallback(std::function<void(const TopicType&, DataModification)> callback) { BaseClass::setSubscriberCallback(callback); }
using BaseClass::readAlive;
using BaseClass::takeAlive;
using BaseClass::takeDisposed;
using BaseClass::SubscriberCallback;
bool setSubscriberCallback(const typename BaseClass::SubscriberCallback& callback) override { return BaseClass::setSubscriberCallback(callback); }
bool readAlive(TopicType& data) { return BaseClass::readAlive(data); }
bool takeAlive(TopicType& data) { return BaseClass::takeAlive(data); }
bool takeDisposed(TopicType& data) { return BaseClass::takeDisposed(data); }
@@ -65,6 +72,9 @@ class GenericDtcSampleInfo
using TopicType = typename BaseClass::TopicType;
// Explicitly expose base class methods for accessibility through smart pointers
using BaseClass::readAlive;
using BaseClass::takeAlive;
using BaseClass::takeDisposed;
void setSubscriberCallback(std::function<void(const TopicType&, const dds::sub::SampleInfo&)> callback) { BaseClass::setSubscriberCallback(callback); }
bool readAlive(TopicType& data) { return BaseClass::readAlive(data); }
bool takeAlive(TopicType& data) { return BaseClass::takeAlive(data); }
@@ -84,6 +94,9 @@ class Ddtc
using TopicType = typename BaseClass::TopicType;
// Explicitly expose base class methods for accessibility through smart pointers
using BaseClass::readAlive;
using BaseClass::takeAlive;
using BaseClass::takeDisposed;
void setSubscriberCallback(std::function<void(const TopicType&, const std::string&, DataModification)> callback) { BaseClass::setSubscriberCallback(callback); }
bool readAlive(TopicType& data) { return BaseClass::readAlive(data); }
bool takeAlive(TopicType& data) { return BaseClass::takeAlive(data); }
@@ -103,6 +116,9 @@ class DdtcSampleInfo
using TopicType = typename BaseClass::TopicType;
// Explicitly expose base class methods for accessibility through smart pointers
using BaseClass::readAlive;
using BaseClass::takeAlive;
using BaseClass::takeDisposed;
void setSubscriberCallback(std::function<void(const TopicType&, const std::string&, const dds::sub::SampleInfo&)> callback) { BaseClass::setSubscriberCallback(callback); }
bool readAlive(TopicType& data) { return BaseClass::readAlive(data); }
bool takeAlive(TopicType& data) { return BaseClass::takeAlive(data); }
@@ -127,6 +127,17 @@ public:
return ret;
}
bool readAlive(TopicTypeRead& data) override final
{
auto samples = readAlive();
if (samples.length() > 0)
{
data = samples[0].data();
return true;
}
return false;
}
dds::sub::LoanedSamples<TopicTypeRead> takeAlive() const override final
{
if (!m_dataReaderObject)
@@ -140,6 +151,17 @@ public:
return ret;
}
bool takeAlive(TopicTypeRead& data) override final
{
auto samples = takeAlive();
if (samples.length() > 0)
{
data = samples[0].data();
return true;
}
return false;
}
dds::sub::LoanedSamples<TopicTypeRead> takeDisposed() const override final
{
if (!m_dataReaderObject)
@@ -148,6 +170,17 @@ public:
return m_dataReaderObject->takeDisposed();
}
bool takeDisposed(TopicTypeRead& data) override final
{
auto samples = takeDisposed();
if (samples.length() > 0)
{
data = samples[0].data();
return true;
}
return false;
}
bool hasSamples() const override final
{
if (!m_dataReaderObject)