The MAUVE Toolchain
mauve::ros::RosShell< T, U > Struct Template Reference

ROS Shell for conversion. More...

#include <Shell.hpp>

Inheritance diagram for mauve::ros::RosShell< T, U >:
Collaboration diagram for mauve::ros::RosShell< T, U >:

Public Types

using conversion_t = std::function< bool(const T &, U &)>
 Type of the conversion functions.
 

Public Member Functions

 RosShell ()
 Default constructor.
 
 RosShell (const std::string &topic)
 Constructor with topic. More...
 
 RosShell (const conversion_t &convert)
 Constructor with conversion. More...
 
 RosShell (const std::string &topic, const conversion_t &convert)
 Constructor with conversion and topic. More...
 
virtual bool configure_hook ()
 Configure shell: init ROS node.
 
- Public Member Functions inherited from mauve::runtime::Shell
 Shell (const Shell &shell)=delete
 Copy constructor. More...
 
void cleanup () overridefinal
 Cleanup the object.
 
bool configure () overridefinal
 Configure the object.
 
bool is_configured () const overridefinal
 Get the configuration status of the configurable object. More...
 
AbstractLoggerlogger () const override
 Get the logger.
 
virtual std::string name () const overridefinal
 Get Component name.
 
void print_model (std::ostream &out) const
 Print the Shell model. More...
 
std::string type_name () const
 Get the Shell type name. More...
 
- Public Member Functions inherited from mauve::runtime::HasProperty
const std::vector< AbstractProperty * > get_properties () const
 Get the properties of the shell. More...
 
std::size_t get_properties_size () const
 
AbstractPropertyget_property (std::string const &name) const
 
AbstractPropertyget_property (int index) const
 
- Public Member Functions inherited from mauve::runtime::HasPort
void disconnect ()
 
AbstractPortget_port (std::string const &name) const
 
AbstractPortget_port (int index) const
 
const std::vector< AbstractPort * > get_ports () const
 Get the ports of the shell. More...
 
std::size_t get_ports_size () const
 
- Public Member Functions inherited from mauve::ros::Connector
bool init ()
 Initialize ROS Node.
 

Public Attributes

runtime::Property< conversion_t > & conversion
 Conversion function property. More...
 
runtime::ReadPort< runtime::StatusValue< T > > & read_port
 Read port for the publisher component. More...
 
runtime::WritePort< U > & write_port
 Write port for the subscriber component. More...
 
- Public Attributes inherited from mauve::ros::RosAbstractShell
runtime::Property< std::string > & topic = mk_property<std::string>("topic", "")
 Topic property.
 

Additional Inherited Members

- Static Public Attributes inherited from mauve::ros::Connector
::ros::NodeHandle * node
 An handle to the ROS node.
 
::ros::NodeHandle * node_private
 An handle to the private view of the ROS node.
 
- Protected Member Functions inherited from mauve::runtime::Shell
 Shell ()
 Default constructor. More...
 
virtual ~Shell () noexcept
 Default destructor. More...
 
- Protected Member Functions inherited from mauve::runtime::HasProperty
template<typename T >
Property< T > & mk_property (std::string const &name, T init_value)
 Create a new property. More...
 
- Protected Member Functions inherited from mauve::runtime::HasPort
template<typename R , typename... P>
CallPort< R, P... > mk_call_port (std::string const &name, R default_value)
 
EventPortmk_event_port (std::string const &name)
 
template<typename PORT , typename... PARAM>
PORT & mk_port (std::string const &name, PARAM...parameters)
 Create a new port in this shell. More...
 
template<typename T >
ReadPort< T > & mk_read_port (std::string const &name, T default_value)
 
template<typename T >
WritePort< T > & mk_write_port (std::string const &name)
 
- Protected Member Functions inherited from mauve::runtime::WithHook
virtual void cleanup_hook ()
 Hook function called when cleaning the shell. More...
 

Detailed Description

template<typename T, typename U>
struct mauve::ros::RosShell< T, U >

ROS Shell for conversion.

Template Parameters
TMAUVE Type
ROS_TROS Type

Constructor & Destructor Documentation

template<typename T , typename U >
mauve::ros::RosShell< T, U >::RosShell ( const std::string &  topic)
inline

Constructor with topic.

Parameters
topictopic to subscribe to
template<typename T , typename U >
mauve::ros::RosShell< T, U >::RosShell ( const conversion_t convert)
inline

Constructor with conversion.

Parameters
convertconversion function
template<typename T , typename U >
mauve::ros::RosShell< T, U >::RosShell ( const std::string &  topic,
const conversion_t convert 
)
inline

Constructor with conversion and topic.

Parameters
convertconversion function
topictopic to subscribe to

Member Data Documentation

template<typename T , typename U >
runtime::Property<conversion_t>& mauve::ros::RosShell< T, U >::conversion
Initial value:
= mk_property<conversion_t>(
"conversion", nullptr
)

Conversion function property.

template<typename T , typename U >
runtime::ReadPort<runtime::StatusValue<T> >& mauve::ros::RosShell< T, U >::read_port
Initial value:
=
this->template mk_read_port<runtime::StatusValue<T>>("read",
{ runtime::DataStatus::NO_DATA, T() })

Read port for the publisher component.

template<typename T , typename U >
runtime::WritePort<U>& mauve::ros::RosShell< T, U >::write_port
Initial value:
=
this->template mk_write_port<U>("write")

Write port for the subscriber component.