Skip to content

Conversation

@kshinjo-pfr
Copy link

@kshinjo-pfr kshinjo-pfr commented Jan 13, 2026

Description

Backport of #2759 from rolling to jazzy.

This adds GenericClient for rclcpp_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:

  • Identifying compatibility issues between rolling and jazzy
  • Implementing local get_action_typesupport_handle() function
  • Creating the client_base.hpp compatibility wrapper
  • Generating this PR description

Additional Information

Test results:

  • colcon build --packages-select rclcpp_action passes
  • colcon test --packages-select rclcpp_action passes (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 in create_generic_client.cpp.

Barry-Xu-2018 and others added 2 commits January 13, 2026 14:39
Backport from rolling to jazzy.

This adds GenericClient for rclcpp_action, which allows creating
action clients without compile-time knowledge of the action type.

New files added:
- generic_client.hpp/cpp
- generic_client_goal_handle.hpp/cpp
- create_generic_client.hpp/cpp
- client_base.hpp (wrapper for jazzy compatibility)
- test_generic_client.cpp

Note: On jazzy, ClientBase remains in client.hpp (not separated).
client_base.hpp is a compatibility wrapper that includes client.hpp.

Original PR: ros2#2759

Signed-off-by: Barry Xu <[email protected]>
Add local implementation of get_action_typesupport_handle() which
is not available in jazzy's rclcpp (only in rolling).

Signed-off-by: Koki Shinjo <[email protected]>
@kshinjo-pfr kshinjo-pfr force-pushed the backport/jazzy/generic-action-client branch from 6cb6160 to 875289f Compare January 13, 2026 05:47
@kshinjo-pfr kshinjo-pfr marked this pull request as ready for review January 13, 2026 06:14
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