MADARA  3.4.1
NddsTransport.h
Go to the documentation of this file.
1 #ifndef _NDDS_TRANSPORT_H_
2 #define _NDDS_TRANSPORT_H_
3 
4 #ifdef _MADARA_NDDS_
5 
6 #include <string>
7 
10 #include <ndds/ndds_cpp.h>
11 #include "madara/transport/ndds/Ndds_Knowledge_Update.h"
12 #include "madara/transport/ndds/Ndds_Knowledge_UpdateSupport.h"
14 
15 namespace madara
16 {
17 namespace transport
18 {
24 class NddsTransport : public Base
25 {
26 public:
34  NddsTransport(const std::string& id, knowledge::ThreadSafeContext& context,
35  TransportSettings& config, bool launch_transport);
36 
40  ~NddsTransport();
41 
47  long send_data(const knowledge::KnowledgeMap& updates) override;
48 
53  int reliability(void) const;
54 
59  int reliability(const int& setting);
60 
64  void close(void);
65 
71  int setup(void);
72 
73 protected:
74 private:
75  const static char* topic_names_[];
76  const static char* partition_;
77 
78  // NDDS variables
79  DDSDomainParticipant* domain_participant_;
80  DDSPublisher* publisher_;
81  DDSSubscriber* subscriber_;
82  DDSTopic* update_topic_;
83  DDSDataReader* data_reader_;
84  DDSDataWriter* data_writer_;
85  Ndds_Knowledge_UpdateDataWriter* update_writer_;
86  NddsListener* listener_;
87 };
88 }
89 }
90 
91 #endif // _MADARA_NDDS_
92 
93 #endif // header include
This class stores variables and their values for use by any entity needing state information in a thr...
constexpr string_t string
::std::map< std::string, KnowledgeRecord > KnowledgeMap
Copyright(c) 2020 Galois.