15 #ifndef RCLCPP__NODE_INTERFACES__NODE_GRAPH_HPP_ 16 #define RCLCPP__NODE_INTERFACES__NODE_GRAPH_HPP_ 36 namespace graph_listener
41 namespace node_interfaces
60 get_topic_names_and_types(
bool no_demangle =
false)
const;
65 get_service_names_and_types()
const;
70 get_node_names()
const;
75 count_publishers(
const std::string & topic_name)
const;
80 count_subscribers(
const std::string & topic_name)
const;
85 get_graph_guard_condition()
const;
90 notify_graph_change();
99 rclcpp::event::Event::SharedPtr
105 wait_for_graph_change(
106 rclcpp::event::Event::SharedPtr event,
123 std::atomic_bool should_add_to_graph_listener_;
133 std::atomic_size_t graph_users_count_;
139 #endif // RCLCPP__NODE_INTERFACES__NODE_GRAPH_HPP_
#define RCLCPP_DISABLE_COPY(...)
Definition: macros.hpp:26
#define RCLCPP_SMART_PTR_ALIASES_ONLY(...)
Definition: macros.hpp:66
Definition: allocator_common.hpp:24
Implementation the NodeGraph part of the Node API.
Definition: node_graph.hpp:45
Pure virtual interface class for the NodeBase part of the Node API.
Definition: node_base_interface.hpp:36
#define RCLCPP_PUBLIC
Definition: visibility_control.hpp:50
Pure virtual interface class for the NodeGraph part of the Node API.
Definition: node_graph_interface.hpp:35