RTC Toolkit  0.1.0-alpha
statePublisher.hpp
Go to the documentation of this file.
1 
9 #ifndef RTCTK_COMPONENTFRAMEWORK_STATEPUBLISHER_HPP
10 #define RTCTK_COMPONENTFRAMEWORK_STATEPUBLISHER_HPP
11 
12 #include <mal/utility/Uri.hpp>
13 #include <memory>
14 
15 namespace elt::mal::ps {
16  template <typename TOPIC_TYPE>
17  class Publisher;
18 }
19 
20 namespace stdif {
21  class State;
22 }
23 
24 namespace rtctk::componentFramework {
25 
27  public:
28  StatePublisher(const elt::mal::Uri& uri, const std::string& name);
29 
30  // no copy allowed
31  StatePublisher(const StatePublisher& other) = delete;
32  StatePublisher& operator=(const StatePublisher& other) = delete;
33 
34  // move it instead
35  StatePublisher(StatePublisher&& other) = default;
37 
38  virtual ~StatePublisher() = default;
39 
40  void PublishState(const std::string& state);
41 
42  private:
43  std::unique_ptr<elt::mal::ps::Publisher<stdif::State>> m_publisher;
44  std::string m_name;
45  };
46 }
47 
48 #endif
rtctk::componentFramework::StatePublisher::~StatePublisher
virtual ~StatePublisher()=default
rtctk::componentFramework
Definition: rtcComponent.hpp:17
rtctk::componentFramework::StatePublisher::StatePublisher
StatePublisher(StatePublisher &&other)=default
rtctk::componentFramework::StatePublisher
Definition: statePublisher.hpp:26
rtctk::componentFramework::StatePublisher::StatePublisher
StatePublisher(const elt::mal::Uri &uri, const std::string &name)
rtctk::componentFramework::StatePublisher::operator=
StatePublisher & operator=(const StatePublisher &other)=delete
rtctk::componentFramework::StatePublisher::PublishState
void PublishState(const std::string &state)
Definition: statePublisher.cpp:27
rtctk::componentFramework::StatePublisher::StatePublisher
StatePublisher(const StatePublisher &other)=delete
elt::mal::ps
Definition: statePublisher.hpp:15
rtctk::componentFramework::StatePublisher::operator=
StatePublisher & operator=(StatePublisher &&other)=default
stdif
Definition: statePublisher.hpp:20
elt::mal::ps::Publisher
Definition: statePublisher.hpp:17