15 #ifndef RCLCPP__NODE_INTERFACES__NODE_GRAPH_HPP_ 16 #define RCLCPP__NODE_INTERFACES__NODE_GRAPH_HPP_ 37 namespace graph_listener
42 namespace node_interfaces
61 get_topic_names_and_types(
bool no_demangle =
false)
const;
66 get_service_names_and_types()
const;
71 get_node_names()
const;
76 get_node_names_and_namespaces()
const;
81 count_publishers(
const std::string & topic_name)
const;
86 count_subscribers(
const std::string & topic_name)
const;
91 get_graph_guard_condition()
const;
96 notify_graph_change();
105 rclcpp::Event::SharedPtr
111 wait_for_graph_change(
112 rclcpp::Event::SharedPtr event,
129 std::atomic_bool should_add_to_graph_listener_;
139 std::atomic_size_t graph_users_count_;
145 #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:46
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:36