12#ifndef RTCTK_COMPONENTFRAMEWORK_DATAPATH_DDS_HPP
13#define RTCTK_COMPONENTFRAMEWORK_DATAPATH_DDS_HPP
18#include <log4cplus/logger.h>
61 explicit Dds(
const std::string &qos_file,
64 const std::string &participant_name =
"");
65 virtual ~Dds() noexcept;
128 void DestroyTopic(Topic *topic,
bool to_be_removed =
true);
150 const std::
string GetTopicName(
size_t index) const noexcept;
Common functionallty needed to create DDS entities like participant and topic that can be later used ...
Definition: dds.hpp:33
void CreateManyTopics(std::vector< std::string > &topic_names)
Creates many DDS topics.
Definition: dds.cpp:314
static const DomainId_t DEFAULT_DOMAIN_ID
default Domain Id for different DDS
Definition: dds.hpp:168
std::string m_participant_name
Definition: dds.hpp:44
void DestroyParticipant()
Destroys DDS participant created in CreateParticipant.
Definition: dds.cpp:226
void SetParticipantName(const std::string &name)
Sets the name of the DDS Participant.
Definition: dds.hpp:97
std::vector< std::string > m_interface_white_list
Definition: dds.hpp:42
void DestroyTopic(Topic *topic, bool to_be_removed=true)
Destroys DDS topic.
Definition: dds.cpp:297
DomainParticipant * m_participant
Definition: dds.hpp:36
static const std::string DEFAULT_QOS_PROFILE
default profile name for different DDS QoSs
Definition: dds.hpp:162
const std::string GetTopicName(size_t index) const noexcept
Definition: dds.cpp:346
std::vector< Topic * > m_topics
Definition: dds.hpp:47
size_t GetNumberOfTopics() const noexcept
Definition: dds.cpp:341
Topic * CreateTopic(const std::string &topic_name)
Creates DDS topic.
Definition: dds.cpp:243
void CreateParticipant()
Creates DDS participant.
Definition: dds.cpp:125
static const std::string TELEM_DP_QOS_FILE
default file name for different DDS QoSs
Definition: dds.hpp:156
virtual ~Dds() noexcept
Definition: dds.cpp:104
void DestroyAllTopics()
Destroys all DDS topics from internal map.
Definition: dds.cpp:326
std::string m_qos_profile
Definition: dds.hpp:38
log4cplus::Logger & m_logger
Definition: dds.hpp:48
DomainParticipantFactory * m_factory
Definition: dds.hpp:35
void DumpDDSstatistics()
Dumps / logs varios DDS statistic like NACks, ACKs, ... for each DDS writer.
Definition: dds.cpp:355
void SetQosProfile(const std::string &qos_profile)
Set FastDDS QoS profile after creation.
Definition: dds.hpp:74
void SetInterfaceWhiteList(const std::vector< std::string > &iwl)
Sets the interfaces that can be used for DDS sample traffic.
Definition: dds.cpp:113
DomainId_t m_domain_id
Definition: dds.hpp:40
Declares some common DDS functionality.
Definition: commandReplier.cpp:22