Adds succesfull lts/proxies migration & testsuite
This commit is contained in:
59 files changed
+754
-273
No files matched your search
@@ -1,6 +1,11 @@
|
||||
|
||||
|
||||
#pragma once
|
||||
|
||||
// Include Qt headers FIRST to prevent namespace pollution when RTI DDS headers include Qt
|
||||
#include <QtCore/QString>
|
||||
#include <QtCore/QUrl>
|
||||
#include <QtCore/QFlag>
|
||||
#include <LtsUtils/LtsUtilsCore/data_modification_enum.h>
|
||||
#include <dds/sub/LoanedSamples.hpp>
|
||||
|
||||
@@ -36,6 +41,18 @@ template <typename DRO_OBJECT>
|
||||
class GenericDtc
|
||||
: public GenericDtcSC<DRO_OBJECT, std::function<void(const typename DRO_OBJECT::TopicType&, DataModification)>>
|
||||
{
|
||||
public:
|
||||
using BaseClass = GenericDtcSC<DRO_OBJECT, std::function<void(const typename DRO_OBJECT::TopicType&, DataModification)>>;
|
||||
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); }
|
||||
bool readAlive(TopicType& data) { return BaseClass::readAlive(data); }
|
||||
bool takeAlive(TopicType& data) { return BaseClass::takeAlive(data); }
|
||||
bool takeDisposed(TopicType& data) { return BaseClass::takeDisposed(data); }
|
||||
bool hasSamples() const { return BaseClass::hasSamples(); }
|
||||
std::shared_ptr<DRO_OBJECT> dataReader() { return BaseClass::dataReader(); }
|
||||
bool waitForHistoricalData(int timeoutMSec) { return BaseClass::waitForHistoricalData(timeoutMSec); }
|
||||
};
|
||||
|
||||
template <typename DRO_OBJECT>
|
||||
@@ -43,6 +60,18 @@ class GenericDtcSampleInfo
|
||||
: public GenericDtcSC<DRO_OBJECT,
|
||||
std::function<void(const typename DRO_OBJECT::TopicType&, const dds::sub::SampleInfo&)>>
|
||||
{
|
||||
public:
|
||||
using BaseClass = GenericDtcSC<DRO_OBJECT, std::function<void(const typename DRO_OBJECT::TopicType&, const dds::sub::SampleInfo&)>>;
|
||||
using TopicType = typename BaseClass::TopicType;
|
||||
|
||||
// Explicitly expose base class methods for accessibility through smart pointers
|
||||
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); }
|
||||
bool takeDisposed(TopicType& data) { return BaseClass::takeDisposed(data); }
|
||||
bool hasSamples() const { return BaseClass::hasSamples(); }
|
||||
std::shared_ptr<DRO_OBJECT> dataReader() { return BaseClass::dataReader(); }
|
||||
bool waitForHistoricalData(int timeoutMSec) { return BaseClass::waitForHistoricalData(timeoutMSec); }
|
||||
};
|
||||
|
||||
template <typename DRO_OBJECT>
|
||||
@@ -50,6 +79,18 @@ class Ddtc
|
||||
: public GenericDtcSC<
|
||||
DRO_OBJECT, std::function<void(const typename DRO_OBJECT::TopicType&, const std::string&, DataModification)>>
|
||||
{
|
||||
public:
|
||||
using BaseClass = GenericDtcSC<DRO_OBJECT, std::function<void(const typename DRO_OBJECT::TopicType&, const std::string&, DataModification)>>;
|
||||
using TopicType = typename BaseClass::TopicType;
|
||||
|
||||
// Explicitly expose base class methods for accessibility through smart pointers
|
||||
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); }
|
||||
bool takeDisposed(TopicType& data) { return BaseClass::takeDisposed(data); }
|
||||
bool hasSamples() const { return BaseClass::hasSamples(); }
|
||||
std::shared_ptr<DRO_OBJECT> dataReader() { return BaseClass::dataReader(); }
|
||||
bool waitForHistoricalData(int timeoutMSec) { return BaseClass::waitForHistoricalData(timeoutMSec); }
|
||||
};
|
||||
|
||||
template <typename DRO_OBJECT>
|
||||
@@ -57,5 +98,17 @@ class DdtcSampleInfo
|
||||
: public GenericDtcSC<DRO_OBJECT, std::function<void(const typename DRO_OBJECT::TopicType&, const std::string&,
|
||||
const dds::sub::SampleInfo&)>>
|
||||
{
|
||||
public:
|
||||
using BaseClass = GenericDtcSC<DRO_OBJECT, std::function<void(const typename DRO_OBJECT::TopicType&, const std::string&, const dds::sub::SampleInfo&)>>;
|
||||
using TopicType = typename BaseClass::TopicType;
|
||||
|
||||
// Explicitly expose base class methods for accessibility through smart pointers
|
||||
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); }
|
||||
bool takeDisposed(TopicType& data) { return BaseClass::takeDisposed(data); }
|
||||
bool hasSamples() const { return BaseClass::hasSamples(); }
|
||||
std::shared_ptr<DRO_OBJECT> dataReader() { return BaseClass::dataReader(); }
|
||||
bool waitForHistoricalData(int timeoutMSec) { return BaseClass::waitForHistoricalData(timeoutMSec); }
|
||||
};
|
||||
} // namespace DTC
|
||||
Reference in new issue
Block a user