rclcpp icon indicating copy to clipboard operation
rclcpp copied to clipboard

Backport request - Unified NodeInterfaces in Humble

Open BrettRD opened this issue 2 years ago • 1 comments

Feature request

I'd like to use a unified NodeInterfaces object from https://github.com/ros2/rclcpp/pull/2041 under ROS2 Humble.

Feature description

Fuse uses https://github.com/ros2/rclcpp/pull/2041 as an extremely tidy way of passing interfaces from the base node to its many pluginlib plugins.

I'm building a modular wrapper for GStreamer pipelines, intended to replace and unify gscam and audio_common, adding lots of features in the process.

A lot of complexity comes out of mapping the Properties of GStreamer Elements to Parameters on the Node, and I need ParameterEventHandler::add_parameter_callback to separate the rclcpp parameter validate and update stages to allow GStreamer elements to validate properties before accepting them.

ParameterEventHandler needs a NodeT macro type in its constructor, and satisfying that is making a mess of my ROS2 version portability.

Implementation considerations

https://github.com/ros2/rclcpp/pull/2041 appears to be the complete picture, I haven't found any discussion of why a back-port wouldn't be possible

BrettRD avatar Sep 13 '23 04:09 BrettRD

It is certainly worth a try. Keep in mind that in a backport, we can't change API or ABI; as long as those rules are followed, I don't see a huge problem in doing it. That said, I don't think we'll have time to do it in the near future, so I'll mark this as "help wanted" for now.

clalancette avatar Sep 13 '23 13:09 clalancette