15 #ifndef RCLCPP__PUBLISHER_BASE_HPP_ 16 #define RCLCPP__PUBLISHER_BASE_HPP_ 40 namespace node_interfaces
42 class NodeBaseInterface;
43 class NodeTopicsInterface;
46 namespace experimental
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_publisher_handle();
109 get_publisher_handle()
const;
115 get_event_handlers()
const;
121 get_subscription_count()
const;
127 get_intra_process_subscription_count()
const;
140 assert_liveliness()
const;
155 get_actual_qos()
const;
164 can_loan_messages()
const;
193 uint64_t intra_process_publisher_id,
197 template<
typename EventCallbackT>
200 const EventCallbackT & callback,
203 auto handler = std::make_shared<QOSEventHandler<EventCallbackT>>(
208 event_handlers_.emplace_back(handler);
228 #endif // RCLCPP__PUBLISHER_BASE_HPP_ uint64_t intra_process_publisher_id_
Definition: publisher_base.hpp:221
Encapsulation of Quality of Service settings.
Definition: qos.hpp:55
Definition: publisher_base.hpp:55
This header provides the get_node_base_interface() template function.
Definition: allocator_common.hpp:24
bool intra_process_is_enabled_
Definition: publisher_base.hpp:219
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:223
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:211
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:220
#define RCLCPP_PUBLIC
Definition: visibility_control.hpp:50
#define RCUTILS_WARN_UNUSED
std::vector< std::shared_ptr< rclcpp::QOSEventHandlerBase > > event_handlers_
Definition: publisher_base.hpp:215
void add_event_handler(const EventCallbackT &callback, const rcl_publisher_event_type_t event_type)
Definition: publisher_base.hpp:199