rclcpp
master
C++ ROS Client Library API
|
Pure virtual interface class for the NodeGraph part of the Node API. More...
#include <node_graph_interface.hpp>
Public Member Functions | |
virtual std::map< std::string, std::vector< std::string > > | get_topic_names_and_types (bool no_demangle=false) const =0 |
Return a map of existing topic names to list of topic types. More... | |
virtual std::map< std::string, std::vector< std::string > > | get_service_names_and_types () const =0 |
Return a map of existing service names to list of service types. More... | |
virtual std::vector< std::string > | get_node_names () const =0 |
Return a vector of existing node names (string). More... | |
virtual size_t | count_publishers (const std::string &topic_name) const =0 |
Return the number of publishers that are advertised on a given topic. More... | |
virtual size_t | count_subscribers (const std::string &topic_name) const =0 |
Return the number of subscribers who have created a subscription for a given topic. More... | |
virtual const rcl_guard_condition_t * | get_graph_guard_condition () const =0 |
Return the rcl guard condition which is triggered when the ROS graph changes. More... | |
virtual void | notify_graph_change ()=0 |
Notify threads waiting on graph changes. More... | |
virtual void | notify_shutdown ()=0 |
Notify any and all blocking node actions that shutdown has occurred. More... | |
virtual rclcpp::Event::SharedPtr | get_graph_event ()=0 |
Return a graph event, which will be set anytime a graph change occurs. More... | |
virtual void | wait_for_graph_change (rclcpp::Event::SharedPtr event, std::chrono::nanoseconds timeout)=0 |
Wait for a graph event to occur by waiting on an Event to become set. More... | |
virtual size_t | count_graph_users ()=0 |
Return the number of on loan graph events, see get_graph_event(). More... | |
|
pure virtual |
Return a map of existing topic names to list of topic types.
A topic is considered to exist when at least one publisher or subscriber exists for it, whether they be local or remote to this process.
[in] | no_demangle | if true, topic names and types are not demangled |
Implemented in rclcpp::node_interfaces::NodeGraph.
|
pure virtual |
Return a map of existing service names to list of service types.
A service is considered to exist when at least one service server or service client exists for it, whether they be local or remote to this process.
Implemented in rclcpp::node_interfaces::NodeGraph.
|
pure virtual |
Return a vector of existing node names (string).
Implemented in rclcpp::node_interfaces::NodeGraph.
|
pure virtual |
Return the number of publishers that are advertised on a given topic.
Implemented in rclcpp::node_interfaces::NodeGraph.
|
pure virtual |
Return the number of subscribers who have created a subscription for a given topic.
Implemented in rclcpp::node_interfaces::NodeGraph.
|
pure virtual |
Return the rcl guard condition which is triggered when the ROS graph changes.
Implemented in rclcpp::node_interfaces::NodeGraph.
|
pure virtual |
Notify threads waiting on graph changes.
Affects threads waiting on the notify guard condition, see: get_notify_guard_condition(), as well as the threads waiting on graph changes using a graph Event, see: wait_for_graph_change().
This is typically only used by the rclcpp::graph_listener::GraphListener.
RCLBaseError | (a child of that exception) when an rcl error occurs |
Implemented in rclcpp::node_interfaces::NodeGraph.
|
pure virtual |
Notify any and all blocking node actions that shutdown has occurred.
Implemented in rclcpp::node_interfaces::NodeGraph.
|
pure virtual |
Return a graph event, which will be set anytime a graph change occurs.
The graph Event object is a loan which must be returned. The Event object is scoped and therefore to return the load just let it go out of scope.
Implemented in rclcpp::node_interfaces::NodeGraph.
|
pure virtual |
Wait for a graph event to occur by waiting on an Event to become set.
The given Event must be acquire through the get_graph_event() method.
InvalidEventError | if the given event is nullptr |
EventNotRegisteredError | if the given event was not acquired with get_graph_event(). |
Implemented in rclcpp::node_interfaces::NodeGraph.
|
pure virtual |
Return the number of on loan graph events, see get_graph_event().
This is typically only used by the rclcpp::graph_listener::GraphListener.
Implemented in rclcpp::node_interfaces::NodeGraph.