15 #ifndef RCLCPP__NODE_INTERFACES__NODE_TOPICS_HPP_
16 #define RCLCPP__NODE_INTERFACES__NODE_TOPICS_HPP_
23 #include "rclcpp/callback_group.hpp"
24 #include "rclcpp/macros.hpp"
25 #include "rclcpp/node_interfaces/node_base_interface.hpp"
26 #include "rclcpp/node_interfaces/node_timers_interface.hpp"
27 #include "rclcpp/node_interfaces/node_topics_interface.hpp"
28 #include "rclcpp/publisher_base.hpp"
29 #include "rclcpp/publisher_factory.hpp"
30 #include "rclcpp/qos.hpp"
31 #include "rclcpp/subscription_base.hpp"
32 #include "rclcpp/subscription_factory.hpp"
33 #include "rclcpp/visibility_control.hpp"
37 namespace node_interfaces
55 rclcpp::PublisherBase::SharedPtr
57 const std::string & topic_name,
64 rclcpp::PublisherBase::SharedPtr publisher,
65 rclcpp::CallbackGroup::SharedPtr callback_group)
override;
68 rclcpp::SubscriptionBase::SharedPtr
70 const std::string & topic_name,
77 rclcpp::SubscriptionBase::SharedPtr subscription,
78 rclcpp::CallbackGroup::SharedPtr callback_group)
override;
82 get_node_base_interface()
const override;
86 get_node_timers_interface()
const override;
Encapsulation of Quality of Service settings.
Pure virtual interface class for the NodeBase part of the Node API.
Pure virtual interface class for the NodeTimers part of the Node API.
Pure virtual interface class for the NodeTopics part of the Node API.
Implementation of the NodeTopics part of the Node API.
RCLCPP_PUBLIC std::string resolve_topic_name(const std::string &name, bool only_expand=false) const override
Get a remapped and expanded topic name given an input name.
Versions of rosidl_typesupport_cpp::get_message_type_support_handle that handle adapted types.
Factory with functions used to create a MessageT specific PublisherT.
Factory containing a function used to create a Subscription<MessageT>.