18 #ifndef MAUVE_ROS_PUBLISHER_HPP 19 #define MAUVE_ROS_PUBLISHER_HPP 26 #include <mauve/runtime.hpp> 27 #include <mauve/base/PeriodicStateMachine.hpp> 29 #include "Connector.hpp" 42 template <
typename T,
typename ROS_T>
56 virtual bool open(
const std::string& topic)
final;
70 template <
typename T,
typename ROS_T>
76 return this->
open(this->shell().topic);
84 void publish(T value);
95 template <
typename T,
typename ROS_T>
98 PublisherCore<T, ROS_T> >
104 template <
typename T,
typename ROS_T>
110 template <
typename T,
typename ROS_T>
113 PublisherCore<T, ROS_T>,
118 #include "ipp/Publisher.ipp" Definition: Interface.hpp:34
Core of the ROS Publisher Resource.
Definition: Publisher.hpp:71
Interface of the ROS Publisher Resource.
Definition: Publisher.hpp:96
::ros::Publisher publisher
The ROS publisher.
Definition: Publisher.hpp:58
virtual void cleanup_hook() override
Hook function called when cleaning the shell.
Definition: Publisher.hpp:78
virtual bool open(const std::string &topic) final
Open publisher on topic topic.
Definition: Publisher.ipp:30
ROS Connector interface.
Definition: Connector.hpp:31
Definition: RtMutex.hpp:26
runtime::RtMutex mutex
A mutex to protect the msg.
Definition: Publisher.hpp:62
Object with a Logger.
Definition: WithLogger.hpp:27
virtual void shutdown() final
Shutdown the publisher.
Definition: Publisher.ipp:40
Component class.
Definition: Architecture.hpp:34
ROS Shell for conversion.
Definition: Shell.hpp:47
virtual bool configure_hook() override
Hook function called when configuring the shell.
Definition: Publisher.hpp:75
The MAUVE namespace.
Definition: tracing.hpp:24
Definition: Architecture.hpp:38
ROS_T msg
The ROS message owned by the resource.
Definition: Publisher.hpp:60
Defines a Periodic State Machine.
Definition: PeriodicStateMachine.hpp:32
The Core defines the methods of the component.
Definition: Core.hpp:38
Definition: WritePort.hpp:27
Adapter of the ROS Publisher.
Definition: Publisher.hpp:43