|
nros C++ API
Lightweight ROS 2 client for embedded real-time systems (C++ headers)
|
Classes | |
| class | NodeInterfaceHandle |
| One slice's handle; Tag only keeps the five spellings distinct types. More... | |
Typedefs | |
| using | NodeBaseInterface = NodeInterfaceHandle<0> |
| using | NodeClockInterface = NodeInterfaceHandle<1> |
| using | NodeGraphInterface = NodeInterfaceHandle<2> |
| using | NodeLoggingInterface = NodeInterfaceHandle<3> |
| using | NodeWaitablesInterface = NodeInterfaceHandle<4> |
Issue 2015 — upstream's node-interface slices, as HANDLES ON THE ONE NODE.
rclcpp splits a node into ~10 node_interfaces::Node*Interface objects so rclcpp_action::create_server / create_client (a separate package) can take the parts they need. nano-ros has no slices: a node is one object, and each get_node_*_interface() returns a non-owning handle naming it, whose only use is to be passed to those factories. That keeps the stock call rclcpp_action::create_server<A>(this->get_node_base_interface(), ...) compiling as written. Of upstream's interface members the handle has only get_context() (phase-488); calling any other is a compile error.