nros C++ API
Lightweight ROS 2 client for embedded real-time systems (C++ headers)
Loading...
Searching...
No Matches
rclcpp::node_interfaces Namespace Reference

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>

Detailed Description

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.

Typedef Documentation

◆ NodeBaseInterface

◆ NodeClockInterface

◆ NodeGraphInterface

◆ NodeLoggingInterface

◆ NodeWaitablesInterface