Modulo 5.0.0
Loading...
Searching...
No Matches
Classes | Enumerations | Functions
modulo_core::communication Namespace Reference

Modulo Core communication module for handling messages on publication and subscription interfaces. More...

Classes

class  MessagePair
 The MessagePair stores a pointer to a variable and translates the value of this pointer back and forth between the corresponding ROS messages. More...
 
class  MessagePairInterface
 Interface class to enable non-templated writing and reading ROS messages from derived MessagePair instances through dynamic down-casting. More...
 
class  PublisherHandler
 The PublisherHandler handles different types of ROS publishers to activate, deactivate and publish data with those publishers. More...
 
class  PublisherInterface
 Interface class to enable non-templated activating/deactivating/publishing of ROS publishers from derived PublisherHandler instances through dynamic down-casting. More...
 
class  SubscriptionHandler
 The SubscriptionHandler handles different types of ROS subscriptions to receive data from those subscriptions. More...
 
class  SubscriptionInterface
 Interface class to enable non-templated subscriptions with ROS subscriptions from derived SubscriptionHandler instances through dynamic down-casting. More...
 

Enumerations

enum class  MessageType {
  BOOL , FLOAT64 , FLOAT64_MULTI_ARRAY , INT32 ,
  STRING , ENCODED_STATE , CUSTOM_MESSAGE
}
 Enum of all supported ROS message types for the MessagePairInterface. More...
 
enum class  PublisherType { PUBLISHER , LIFECYCLE_PUBLISHER }
 Enum of supported ROS publisher types for the PublisherInterface. More...
 

Functions

template<concepts::CoreDataT DataT>
std::shared_ptr< MessagePairInterfacemake_shared_message_pair (const std::shared_ptr< DataT > &data, const std::shared_ptr< rclcpp::Clock > &clock)
 
template<typename DataT = bool>
std::shared_ptr< MessagePairInterfacemake_shared_message_pair (const std::shared_ptr< bool > &data, const std::shared_ptr< rclcpp::Clock > &clock)
 
template<typename DataT = double>
std::shared_ptr< MessagePairInterfacemake_shared_message_pair (const std::shared_ptr< double > &data, const std::shared_ptr< rclcpp::Clock > &clock)
 
template<typename DataT = std::vector<double>>
std::shared_ptr< MessagePairInterfacemake_shared_message_pair (const std::shared_ptr< std::vector< double > > &data, const std::shared_ptr< rclcpp::Clock > &clock)
 
template<typename DataT = int>
std::shared_ptr< MessagePairInterfacemake_shared_message_pair (const std::shared_ptr< int > &data, const std::shared_ptr< rclcpp::Clock > &clock)
 
template<typename DataT = std::string>
std::shared_ptr< MessagePairInterfacemake_shared_message_pair (const std::shared_ptr< std::string > &data, const std::shared_ptr< rclcpp::Clock > &clock)
 

Detailed Description

Modulo Core communication module for handling messages on publication and subscription interfaces.

Enumeration Type Documentation

◆ MessageType

Enum of all supported ROS message types for the MessagePairInterface.

See also
MessagePairInterface

Definition at line 13 of file MessageType.hpp.

◆ PublisherType

Enum of supported ROS publisher types for the PublisherInterface.

See also
PublisherInterface

Definition at line 9 of file PublisherType.hpp.

Function Documentation

◆ make_shared_message_pair() [1/6]

template<typename DataT = bool>
std::shared_ptr< MessagePairInterface > modulo_core::communication::make_shared_message_pair ( const std::shared_ptr< bool > &  data,
const std::shared_ptr< rclcpp::Clock > &  clock 
)
inline

Definition at line 205 of file MessagePair.hpp.

◆ make_shared_message_pair() [2/6]

template<concepts::CoreDataT DataT>
std::shared_ptr< MessagePairInterface > modulo_core::communication::make_shared_message_pair ( const std::shared_ptr< DataT > &  data,
const std::shared_ptr< rclcpp::Clock > &  clock 
)
inline

Definition at line 192 of file MessagePair.hpp.

◆ make_shared_message_pair() [3/6]

template<typename DataT = double>
std::shared_ptr< MessagePairInterface > modulo_core::communication::make_shared_message_pair ( const std::shared_ptr< double > &  data,
const std::shared_ptr< rclcpp::Clock > &  clock 
)
inline

Definition at line 211 of file MessagePair.hpp.

◆ make_shared_message_pair() [4/6]

template<typename DataT = int>
std::shared_ptr< MessagePairInterface > modulo_core::communication::make_shared_message_pair ( const std::shared_ptr< int > &  data,
const std::shared_ptr< rclcpp::Clock > &  clock 
)
inline

Definition at line 223 of file MessagePair.hpp.

◆ make_shared_message_pair() [5/6]

template<typename DataT = std::string>
std::shared_ptr< MessagePairInterface > modulo_core::communication::make_shared_message_pair ( const std::shared_ptr< std::string > &  data,
const std::shared_ptr< rclcpp::Clock > &  clock 
)
inline

Definition at line 229 of file MessagePair.hpp.

◆ make_shared_message_pair() [6/6]

template<typename DataT = std::vector<double>>
std::shared_ptr< MessagePairInterface > modulo_core::communication::make_shared_message_pair ( const std::shared_ptr< std::vector< double > > &  data,
const std::shared_ptr< rclcpp::Clock > &  clock 
)
inline

Definition at line 216 of file MessagePair.hpp.