@@ -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