Files
qt5-legatus-legacy/Lts/Tools/DdsView/subscriber.h
T
2026-08-13 18:33:10 +02:00

46 lines
967 B
C++
Executable File

/**
* @RDE_HEADER@
*
* Subscriber (DataSampleReceiver)
* Uses DDTCs to subscribe to data
*
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
#include <QtCore/QVector>
#include <DDS/DDSConnector/subscriber.h>
#include <DDS/Generic/topic_type_plugin.h>
#include "logger.h"
class TelegramModel;
namespace DdsView
{
class TopicData;
class Subscriber : public DDSConnector::Subscriber
{
public:
Subscriber(const dds::domain::DomainParticipant &domainParticipant,
const std::string &partition,
TelegramModel *tm);
~Subscriber();
// Process data dynamically
void processData(const dds::core::xtypes::DynamicData &data, const QString &topicName, DataModification modType);
bool initDDTCs(const QVector<DDSGeneric::TopicDescription> &vDro);
private:
using ddtc = DTC::Ddtc<DDSGeneric::DynamicDataReader>;
QMap<std::string, ddtc *> m_ddtcMap;
TelegramModel *m_telegramModel;
NGL::INGLLogger &m_logger;
};
}