rclcpp  master
C++ ROS Client Library API
Public Types | Public Attributes | List of all members
rclcpp::PublisherFactory Struct Reference

Factory with functions used to create a MessageT specific PublisherT. More...

#include <publisher_factory.hpp>

Public Types

using PublisherFactoryFunction = std::function< rclcpp::publisher::PublisherBase::SharedPtr(rclcpp::node_interfaces::NodeBaseInterface *node_base, const std::string &topic_name, rcl_publisher_options_t &publisher_options)>
 
using AddPublisherToIntraProcessManagerFunction = std::function< uint64_t(rclcpp::intra_process_manager::IntraProcessManager *ipm, rclcpp::publisher::PublisherBase::SharedPtr publisher)>
 
using SharedPublishCallbackFactoryFunction = std::function< rclcpp::publisher::PublisherBase::StoreMessageCallbackT(rclcpp::intra_process_manager::IntraProcessManager::SharedPtr ipm)>
 

Public Attributes

PublisherFactoryFunction create_typed_publisher
 
AddPublisherToIntraProcessManagerFunction add_publisher_to_intra_process_manager
 
SharedPublishCallbackFactoryFunction create_shared_publish_callback
 

Detailed Description

Factory with functions used to create a MessageT specific PublisherT.

This factory class is used to encapsulate the template generated functions which are used during the creation of a Message type specific publisher within a non-templated class.

It is created using the create_publisher_factory function, which is usually called from a templated "create_publisher" method on the Node class, and is passed to the non-templated "create_publisher" method on the NodeTopics class where it is used to create and setup the Publisher.

Member Typedef Documentation

◆ PublisherFactoryFunction

using rclcpp::PublisherFactory::PublisherFactoryFunction = std::function< rclcpp::publisher::PublisherBase::SharedPtr( rclcpp::node_interfaces::NodeBaseInterface * node_base, const std::string & topic_name, rcl_publisher_options_t & publisher_options)>

◆ AddPublisherToIntraProcessManagerFunction

using rclcpp::PublisherFactory::AddPublisherToIntraProcessManagerFunction = std::function< uint64_t( rclcpp::intra_process_manager::IntraProcessManager * ipm, rclcpp::publisher::PublisherBase::SharedPtr publisher)>

◆ SharedPublishCallbackFactoryFunction

using rclcpp::PublisherFactory::SharedPublishCallbackFactoryFunction = std::function< rclcpp::publisher::PublisherBase::StoreMessageCallbackT( rclcpp::intra_process_manager::IntraProcessManager::SharedPtr ipm)>

Member Data Documentation

◆ create_typed_publisher

PublisherFactoryFunction rclcpp::PublisherFactory::create_typed_publisher

◆ add_publisher_to_intra_process_manager

AddPublisherToIntraProcessManagerFunction rclcpp::PublisherFactory::add_publisher_to_intra_process_manager

◆ create_shared_publish_callback

SharedPublishCallbackFactoryFunction rclcpp::PublisherFactory::create_shared_publish_callback

The documentation for this struct was generated from the following file: