15 #ifndef RCLCPP__GRAPH_LISTENER_HPP_ 16 #define RCLCPP__GRAPH_LISTENER_HPP_ 34 namespace graph_listener
69 virtual ~GraphListener();
80 start_if_not_started();
168 rclcpp::Context::SharedPtr parent_context_;
172 std::atomic_bool is_shutdown_;
175 mutable std::mutex node_graph_interfaces_barrier_mutex_;
176 mutable std::mutex node_graph_interfaces_mutex_;
188 #endif // RCLCPP__GRAPH_LISTENER_HPP_
#define RCLCPP_DISABLE_COPY(...)
Definition: macros.hpp:26
GraphListenerShutdownError()
Definition: graph_listener.hpp:41
Definition: allocator_common.hpp:24
bool shutdown(rclcpp::Context::SharedPtr context=nullptr, const std::string &reason="user called rclcpp::shutdown()")
Shutdown rclcpp context, invalidating it for derived entities.
rcl_wait_set_t rcl_get_zero_initialized_wait_set(void)
rcl_guard_condition_t rcl_get_zero_initialized_guard_condition(void)
Notifies many nodes of graph changes by listening in a thread.
Definition: graph_listener.hpp:62
NodeAlreadyAddedError()
Definition: graph_listener.hpp:49
Thrown when a node has already been added to the GraphListener.
Definition: graph_listener.hpp:46
#define RCLCPP_PUBLIC
Definition: visibility_control.hpp:50
Thrown when a function is called on a GraphListener that is already shutdown.
Definition: graph_listener.hpp:38
NodeNotFoundError()
Definition: graph_listener.hpp:57
Thrown when the given node is not in the GraphListener.
Definition: graph_listener.hpp:54
Pure virtual interface class for the NodeGraph part of the Node API.
Definition: node_graph_interface.hpp:36