@@ -2497,25 +2497,24 @@ extern "C" {
24972497pub struct Fibonacci ;
24982498
24992499impl rosidl_runtime_rs:: Action for Fibonacci {
2500+ // --- Associated types for client library users ---
25002501 type Goal = crate :: vendor:: test_msgs:: action:: Fibonacci_Goal ;
25012502 type Result = crate :: vendor:: test_msgs:: action:: Fibonacci_Result ;
25022503 type Feedback = crate :: vendor:: test_msgs:: action:: Fibonacci_Feedback ;
25032504
2505+ // --- Associated types for client library implementation ---
2506+ type FeedbackMessage = crate :: vendor:: test_msgs:: action:: rmw:: Fibonacci_FeedbackMessage ;
2507+ type SendGoalService = crate :: vendor:: test_msgs:: action:: rmw:: Fibonacci_SendGoal ;
2508+ type CancelGoalService = crate :: vendor:: action_msgs:: srv:: rmw:: CancelGoal ;
2509+ type GetResultService = crate :: vendor:: test_msgs:: action:: rmw:: Fibonacci_GetResult ;
2510+
2511+ // --- Methods for client library implementation ---
25042512 fn get_type_support ( ) -> * const std:: ffi:: c_void {
25052513 // SAFETY: No preconditions for this function.
25062514 unsafe {
25072515 rosidl_typesupport_c__get_action_type_support_handle__test_msgs__action__Fibonacci ( )
25082516 }
25092517 }
2510- }
2511-
2512- impl rosidl_runtime_rs:: ActionImpl for Fibonacci {
2513- type GoalStatusMessage = crate :: vendor:: action_msgs:: msg:: rmw:: GoalStatusArray ;
2514- type FeedbackMessage = crate :: vendor:: test_msgs:: action:: rmw:: Fibonacci_FeedbackMessage ;
2515-
2516- type SendGoalService = crate :: vendor:: test_msgs:: action:: rmw:: Fibonacci_SendGoal ;
2517- type CancelGoalService = crate :: vendor:: action_msgs:: srv:: rmw:: CancelGoal ;
2518- type GetResultService = crate :: vendor:: test_msgs:: action:: rmw:: Fibonacci_GetResult ;
25192518
25202519 fn create_goal_request (
25212520 goal_id : & [ u8 ; 16 ] ,
@@ -2527,10 +2526,13 @@ impl rosidl_runtime_rs::ActionImpl for Fibonacci {
25272526 }
25282527 }
25292528
2530- fn get_goal_request_uuid (
2531- request : & crate :: vendor:: test_msgs:: action:: rmw:: Fibonacci_SendGoal_Request ,
2532- ) -> & [ u8 ; 16 ] {
2533- & request. goal_id . uuid
2529+ fn split_goal_request (
2530+ request : crate :: vendor:: test_msgs:: action:: rmw:: Fibonacci_SendGoal_Request ,
2531+ ) -> (
2532+ [ u8 ; 16 ] ,
2533+ crate :: vendor:: test_msgs:: action:: rmw:: Fibonacci_Goal ,
2534+ ) {
2535+ ( request. goal_id . uuid , request. goal )
25342536 }
25352537
25362538 fn create_goal_response (
@@ -2569,16 +2571,13 @@ impl rosidl_runtime_rs::ActionImpl for Fibonacci {
25692571 message
25702572 }
25712573
2572- fn get_feedback_message_uuid (
2573- feedback : & crate :: vendor:: test_msgs:: action:: rmw:: Fibonacci_FeedbackMessage ,
2574- ) -> & [ u8 ; 16 ] {
2575- & feedback. goal_id . uuid
2576- }
2577-
2578- fn get_feedback_message_feedback (
2579- feedback : & crate :: vendor:: test_msgs:: action:: rmw:: Fibonacci_FeedbackMessage ,
2580- ) -> & crate :: vendor:: test_msgs:: action:: rmw:: Fibonacci_Feedback {
2581- & feedback. feedback
2574+ fn split_feedback_message (
2575+ feedback : crate :: vendor:: test_msgs:: action:: rmw:: Fibonacci_FeedbackMessage ,
2576+ ) -> (
2577+ [ u8 ; 16 ] ,
2578+ crate :: vendor:: test_msgs:: action:: rmw:: Fibonacci_Feedback ,
2579+ ) {
2580+ ( feedback. goal_id . uuid , feedback. feedback )
25822581 }
25832582
25842583 fn create_result_request (
@@ -2602,16 +2601,10 @@ impl rosidl_runtime_rs::ActionImpl for Fibonacci {
26022601 crate :: vendor:: test_msgs:: action:: rmw:: Fibonacci_GetResult_Response { status, result }
26032602 }
26042603
2605- fn get_result_response_result (
2606- response : & crate :: vendor:: test_msgs:: action:: rmw:: Fibonacci_GetResult_Response ,
2607- ) -> & crate :: vendor:: test_msgs:: action:: rmw:: Fibonacci_Result {
2608- & response. result
2609- }
2610-
2611- fn get_result_response_status (
2612- response : & crate :: vendor:: test_msgs:: action:: rmw:: Fibonacci_GetResult_Response ,
2613- ) -> i8 {
2614- response. status
2604+ fn split_result_response (
2605+ response : crate :: vendor:: test_msgs:: action:: rmw:: Fibonacci_GetResult_Response ,
2606+ ) -> ( i8 , crate :: vendor:: test_msgs:: action:: rmw:: Fibonacci_Result ) {
2607+ ( response. status , response. result )
26152608 }
26162609}
26172610
@@ -2625,25 +2618,24 @@ extern "C" {
26252618pub struct NestedMessage ;
26262619
26272620impl rosidl_runtime_rs:: Action for NestedMessage {
2621+ // --- Associated types for client library users ---
26282622 type Goal = crate :: vendor:: test_msgs:: action:: NestedMessage_Goal ;
26292623 type Result = crate :: vendor:: test_msgs:: action:: NestedMessage_Result ;
26302624 type Feedback = crate :: vendor:: test_msgs:: action:: NestedMessage_Feedback ;
26312625
2626+ // --- Associated types for client library implementation ---
2627+ type FeedbackMessage = crate :: vendor:: test_msgs:: action:: rmw:: NestedMessage_FeedbackMessage ;
2628+ type SendGoalService = crate :: vendor:: test_msgs:: action:: rmw:: NestedMessage_SendGoal ;
2629+ type CancelGoalService = crate :: vendor:: action_msgs:: srv:: rmw:: CancelGoal ;
2630+ type GetResultService = crate :: vendor:: test_msgs:: action:: rmw:: NestedMessage_GetResult ;
2631+
2632+ // --- Methods for client library implementation ---
26322633 fn get_type_support ( ) -> * const std:: ffi:: c_void {
26332634 // SAFETY: No preconditions for this function.
26342635 unsafe {
26352636 rosidl_typesupport_c__get_action_type_support_handle__test_msgs__action__NestedMessage ( )
26362637 }
26372638 }
2638- }
2639-
2640- impl rosidl_runtime_rs:: ActionImpl for NestedMessage {
2641- type GoalStatusMessage = crate :: vendor:: action_msgs:: msg:: rmw:: GoalStatusArray ;
2642- type FeedbackMessage = crate :: vendor:: test_msgs:: action:: rmw:: NestedMessage_FeedbackMessage ;
2643-
2644- type SendGoalService = crate :: vendor:: test_msgs:: action:: rmw:: NestedMessage_SendGoal ;
2645- type CancelGoalService = crate :: vendor:: action_msgs:: srv:: rmw:: CancelGoal ;
2646- type GetResultService = crate :: vendor:: test_msgs:: action:: rmw:: NestedMessage_GetResult ;
26472639
26482640 fn create_goal_request (
26492641 goal_id : & [ u8 ; 16 ] ,
@@ -2655,10 +2647,13 @@ impl rosidl_runtime_rs::ActionImpl for NestedMessage {
26552647 }
26562648 }
26572649
2658- fn get_goal_request_uuid (
2659- request : & crate :: vendor:: test_msgs:: action:: rmw:: NestedMessage_SendGoal_Request ,
2660- ) -> & [ u8 ; 16 ] {
2661- & request. goal_id . uuid
2650+ fn split_goal_request (
2651+ request : crate :: vendor:: test_msgs:: action:: rmw:: NestedMessage_SendGoal_Request ,
2652+ ) -> (
2653+ [ u8 ; 16 ] ,
2654+ crate :: vendor:: test_msgs:: action:: rmw:: NestedMessage_Goal ,
2655+ ) {
2656+ ( request. goal_id . uuid , request. goal )
26622657 }
26632658
26642659 fn create_goal_response (
@@ -2697,16 +2692,13 @@ impl rosidl_runtime_rs::ActionImpl for NestedMessage {
26972692 message
26982693 }
26992694
2700- fn get_feedback_message_uuid (
2701- feedback : & crate :: vendor:: test_msgs:: action:: rmw:: NestedMessage_FeedbackMessage ,
2702- ) -> & [ u8 ; 16 ] {
2703- & feedback. goal_id . uuid
2704- }
2705-
2706- fn get_feedback_message_feedback (
2707- feedback : & crate :: vendor:: test_msgs:: action:: rmw:: NestedMessage_FeedbackMessage ,
2708- ) -> & crate :: vendor:: test_msgs:: action:: rmw:: NestedMessage_Feedback {
2709- & feedback. feedback
2695+ fn split_feedback_message (
2696+ feedback : crate :: vendor:: test_msgs:: action:: rmw:: NestedMessage_FeedbackMessage ,
2697+ ) -> (
2698+ [ u8 ; 16 ] ,
2699+ crate :: vendor:: test_msgs:: action:: rmw:: NestedMessage_Feedback ,
2700+ ) {
2701+ ( feedback. goal_id . uuid , feedback. feedback )
27102702 }
27112703
27122704 fn create_result_request (
@@ -2730,15 +2722,12 @@ impl rosidl_runtime_rs::ActionImpl for NestedMessage {
27302722 crate :: vendor:: test_msgs:: action:: rmw:: NestedMessage_GetResult_Response { status, result }
27312723 }
27322724
2733- fn get_result_response_result (
2734- response : & crate :: vendor:: test_msgs:: action:: rmw:: NestedMessage_GetResult_Response ,
2735- ) -> & crate :: vendor:: test_msgs:: action:: rmw:: NestedMessage_Result {
2736- & response. result
2737- }
2738-
2739- fn get_result_response_status (
2740- response : & crate :: vendor:: test_msgs:: action:: rmw:: NestedMessage_GetResult_Response ,
2741- ) -> i8 {
2742- response. status
2725+ fn split_result_response (
2726+ response : crate :: vendor:: test_msgs:: action:: rmw:: NestedMessage_GetResult_Response ,
2727+ ) -> (
2728+ i8 ,
2729+ crate :: vendor:: test_msgs:: action:: rmw:: NestedMessage_Result ,
2730+ ) {
2731+ ( response. status , response. result )
27432732 }
27442733}
0 commit comments