15 #ifndef RCLCPP__PUBLISHER_BASE_HPP_ 16 #define RCLCPP__PUBLISHER_BASE_HPP_ 40 namespace node_interfaces
42 class NodeBaseInterface;
43 class NodeTopicsInterface;
46 namespace intra_process_manager
52 class IntraProcessManager;
57 friend ::rclcpp::node_interfaces::NodeTopicsInterface;
75 const rosidl_message_type_support_t & type_support,
79 virtual ~PublisherBase();
85 get_topic_name()
const;
91 get_queue_size()
const;
103 get_intra_process_gid()
const;
109 get_publisher_handle();
115 get_publisher_handle()
const;
121 get_event_handlers()
const;
127 get_subscription_count()
const;
133 get_intra_process_subscription_count()
const;
146 assert_liveliness()
const;
160 get_actual_qos()
const;
187 mapped_ring_buffer::MappedRingBufferBase::SharedPtr
188 virtual make_mapped_ring_buffer(
size_t size)
const;
194 uint64_t intra_process_publisher_id,
199 template<
typename EventCallbackT>
202 const EventCallbackT & callback,
205 auto handler = std::make_shared<QOSEventHandler<EventCallbackT>>(
210 event_handlers_.emplace_back(handler);
232 #endif // RCLCPP__PUBLISHER_BASE_HPP_ uint64_t intra_process_publisher_id_
Definition: publisher_base.hpp:224
Definition: publisher_base.hpp:55
This header provides the get_node_topics_interface() template function.
Definition: allocator_common.hpp:24
bool intra_process_is_enabled_
Definition: publisher_base.hpp:222
rcl_publisher_t rcl_get_zero_initialized_publisher(void)
#define RCLCPP_SMART_PTR_DEFINITIONS(...)
Definition: macros.hpp:36
rmw_gid_t rmw_gid_
Definition: publisher_base.hpp:226
Pure virtual interface class for the NodeBase part of the Node API.
Definition: node_base_interface.hpp:36
rcl_publisher_event_type_t
std::shared_ptr< rcl_node_t > rcl_node_handle_
Definition: publisher_base.hpp:213
rcl_ret_t rcl_publisher_event_init(rcl_event_t *event, const rcl_publisher_t *publisher, const rcl_publisher_event_type_t event_type)
IntraProcessManagerWeakPtr weak_ipm_
Definition: publisher_base.hpp:223
#define RCLCPP_PUBLIC
Definition: visibility_control.hpp:50
#define RCUTILS_WARN_UNUSED
rmw_gid_t intra_process_rmw_gid_
Definition: publisher_base.hpp:227
std::vector< std::shared_ptr< rclcpp::QOSEventHandlerBase > > event_handlers_
Definition: publisher_base.hpp:218
void add_event_handler(const EventCallbackT &callback, const rcl_publisher_event_type_t event_type)
Definition: publisher_base.hpp:201