15 #ifndef RCLCPP__GRAPH_LISTENER_HPP_ 16 #define RCLCPP__GRAPH_LISTENER_HPP_ 33 namespace graph_listener
159 std::atomic_bool is_shutdown_;
162 mutable std::mutex node_graph_interfaces_barrier_mutex_;
163 mutable std::mutex node_graph_interfaces_mutex_;
174 #endif // RCLCPP__GRAPH_LISTENER_HPP_
NodeAlreadyAddedError()
Definition: graph_listener.hpp:48
#define RCLCPP_DISABLE_COPY(...)
Definition: macros.hpp:26
GraphListenerShutdownError()
Definition: graph_listener.hpp:40
virtual bool has_node(rclcpp::node_interfaces::NodeGraphInterface *node_graph)
Return true if the given node is in the graph listener's list of nodes.
Definition: allocator_common.hpp:24
rcl_wait_set_t rcl_get_zero_initialized_wait_set(void)
rcl_guard_condition_t rcl_get_zero_initialized_guard_condition(void)
virtual void run()
Main function for the listening thread.
Notifies many nodes of graph changes by listening in a thread.
Definition: graph_listener.hpp:61
virtual void shutdown()
Stop the listening thread.
Pure virtual interface class for the NodeGraph part of the Node API.
Definition: node_graph_interface.hpp:35
virtual void add_node(rclcpp::node_interfaces::NodeGraphInterface *node_graph)
Add a node to the graph listener's list of nodes.
Thrown when a function is called on a GraphListener that is already shutdown.
Definition: graph_listener.hpp:37
#define RCLCPP_PUBLIC
Definition: visibility_control.hpp:50
virtual void start_if_not_started()
Start the graph listener's listen thread if it hasn't been started.
Thrown when a node has already been added to the GraphListener.
Definition: graph_listener.hpp:45
NodeNotFoundError()
Definition: graph_listener.hpp:56
virtual void remove_node(rclcpp::node_interfaces::NodeGraphInterface *node_graph)
Remove a node from the graph listener's list of nodes.
virtual bool is_shutdown()
Return true if shutdown() has been called, else false.
Thrown when the given node is not in the GraphListener.
Definition: graph_listener.hpp:53