Backport: Implement action generic client (#2759) #3017
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Backport of #2759 from rolling to jazzy.
This adds
GenericClientforrclcpp_action, which allows creating action clients without compile-time knowledge of the action type.Is this user-facing behavior change?
Yes. Users can now create action clients dynamically without compile-time knowledge of the action type using
rclcpp_action::create_generic_client().Did you use Generative AI?
Yes. Claude Code (Claude Opus 4.5) was used to assist with:
get_action_typesupport_handle()functionclient_base.hppcompatibility wrapperAdditional Information
Test results:
colcon build --packages-select rclcpp_actionpassescolcon test --packages-select rclcpp_actionpasses (252 tests, 0 failures)Dependencies:
This backport is self-contained and does not require backporting #2750 (action typesupport helper) because
get_action_typesupport_handle()is implemented locally increate_generic_client.cpp.