Skip to content

Conversation

@methylDragon
Copy link
Contributor

@methylDragon methylDragon commented Mar 20, 2023

This PR is part of the runtime interface reflection subscription feature of REP-2011: ros2/ros2#1374
It is a dependency of: #2077

Depends on:

Description

This PR implements C++ wrapper classes for the rosidl_dynamic_typesupport dynamic type/type builder/data structs that help manage lifetime and type casting.

They also feature many templated functions to lessen the reading burden for any new users of dynamic typesupport.

  • rclcpp::dynamic_typesupport::DynamicData
  • rclcpp::dynamic_typesupport::DynamicMessage
  • rclcpp::dynamic_typesupport::DynamicMessageType
  • rclcpp::dynamic_typesupport::DynamicSerializationSupport
  • rclcpp::dynamic_typesupport::DynamicTypeBuilder
  • rclcpp::dynamic_typesupport::DynamicType

I also created a typesupport wrapper class that wraps the rosidl_message_type_support_t that should be passed into a subscription. It'll manage all the necessary lifetimes.

  • rclcpp::dynamic_typesupport::DynamicMessageTypeSupport

Everything builds nicely, though I don't have tests written yet...

@methylDragon methylDragon force-pushed the runtime_interface_reflection_wrappers branch 2 times, most recently from 685868c to 78f338e Compare March 21, 2023 23:05
Signed-off-by: methylDragon <methylDragon@gmail.com>
Signed-off-by: methylDragon <methylDragon@gmail.com>
Signed-off-by: methylDragon <methylDragon@gmail.com>
Signed-off-by: methylDragon <methylDragon@gmail.com>
@methylDragon methylDragon force-pushed the runtime_interface_reflection_wrappers branch from 1ba34df to 8b254c4 Compare March 22, 2023 23:44
Signed-off-by: methylDragon <methylDragon@gmail.com>
@methylDragon methylDragon force-pushed the runtime_interface_reflection_wrappers branch from 8b254c4 to d4b03f9 Compare March 23, 2023 18:16
@methylDragon methylDragon force-pushed the runtime_interface_reflection_wrappers branch from 516ee56 to d4b03f9 Compare March 30, 2023 20:22
@methylDragon
Copy link
Contributor Author

methylDragon commented Mar 30, 2023

I had hoped to make this easier to review by splitting it off, but managing the branches is becoming too troublesome (since I need to be changing some signatures.)

I am closing this for now, but I might split these classes off again in a future PR.

The changes here will be lumped into #2077 instead, until they are split out again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants