RTC Toolkit 4.0.2
Loading...
Searching...
No Matches
ddsWaitSetIf.hpp
Go to the documentation of this file.
1
12#ifndef RTCTK_TELSUB_DDSWAITSETIF_HPP
13#define RTCTK_TELSUB_DDSWAITSETIF_HPP
14#include <rtctk/config.hpp>
15
16#include <chrono>
17#include <cstdint>
18#include <functional>
19#include <string>
20#include <system_error>
21#include <vector>
22
25
26namespace rtctk::telSub {
27
28using namespace rtctk::componentFramework;
29
40struct DdsParams {
44
45 // the size of m_topics and m_multicast_addresses (if defined) should be the same
46 std::vector<std::string> m_topics = {};
47 std::vector<std::string> m_multicast_addresses = {};
48
49 // size is the number of network interfaces that we want, not the same as size of
50 // m_topics/m_multicast_addresses
51 std::vector<std::string> m_interface_white_list = {};
52
53 std::string m_component_name = "";
54};
55
63public:
66
75
110 virtual std::error_code Take(std::chrono::nanoseconds timeout) RTCTK_NOEXCEPT = 0;
111
121 virtual size_t GetNumberOfTopics() const RTCTK_NOEXCEPT = 0;
122
136 virtual std::string GetTopicName(size_t index) const RTCTK_NOEXCEPT = 0;
137};
138
139} // namespace rtctk::telSub
140
141#endif // RTCTK_TELSUB_DDSWAITSETIF_HPP
Declares AgnosticDataSamples.
static const DomainId_t DEFAULT_DOMAIN_ID
default Domain Id for different DDS
Definition: dds.hpp:168
static const std::string DEFAULT_QOS_PROFILE
default profile name for different DDS QoSs
Definition: dds.hpp:162
static const std::string TELEM_DP_QOS_FILE
default file name for different DDS QoSs
Definition: dds.hpp:156
Container of DDS samples and associated sample information.
Definition: agnosticDataSamples.hpp:74
Base class abstracting DDS communication code.
Definition: ddsWaitSetIf.hpp:62
DdsWaitSetIf() RTCTK_NOEXCEPT
Definition: ddsWaitSetIf.hpp:64
virtual ~DdsWaitSetIf() RTCTK_NOEXCEPT
Definition: ddsWaitSetIf.hpp:65
virtual std::string GetTopicName(size_t index) const RTCTK_NOEXCEPT=0
Returns a string containing the name of a configured topic.
virtual std::error_code Take(std::chrono::nanoseconds timeout) RTCTK_NOEXCEPT=0
Takes new samples from DDS readers and updates data structure accessable from GetSamples()
virtual size_t GetNumberOfTopics() const RTCTK_NOEXCEPT=0
Returns the number of configured topics.
virtual AgnosticDataSamples & GetSamples() RTCTK_NOEXCEPT=0
Returns reference to data structure holding taken data samples.
Project-wide configuration header.
#define RTCTK_NOEXCEPT
Definition: config.hpp:63
Declares some common DDS functionality.
Definition: commandReplier.cpp:22
Definition: main.cpp:18
Parameter set to be passed to classes deriving from DdsWaitSetIf.
Definition: ddsWaitSetIf.hpp:40
std::vector< std::string > m_multicast_addresses
Definition: ddsWaitSetIf.hpp:47
int32_t m_domain_id
Definition: ddsWaitSetIf.hpp:41
std::vector< std::string > m_topics
Definition: ddsWaitSetIf.hpp:46
std::string m_qos_profile
Definition: ddsWaitSetIf.hpp:43
std::string m_component_name
Definition: ddsWaitSetIf.hpp:53
std::string m_qos_file
Definition: ddsWaitSetIf.hpp:42
std::vector< std::string > m_interface_white_list
Definition: ddsWaitSetIf.hpp:51