Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Runtime Interface Reflection: Dynamic Typesupport Wrappers #2134

Closed
wants to merge 5 commits into from

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.

1 participant