do_not_use_testing_rclrs/vendor/rcl_interfaces/
srv.rs

1#[cfg(feature = "serde")]
2use serde::{Deserialize, Serialize};
3
4#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
5#[derive(Clone, Debug, PartialEq, PartialOrd)]
6pub struct DescribeParameters_Request {
7    pub names: Vec<std::string::String>,
8}
9
10impl Default for DescribeParameters_Request {
11    fn default() -> Self {
12        <Self as rosidl_runtime_rs::Message>::from_rmw_message(
13            crate::vendor::rcl_interfaces::srv::rmw::DescribeParameters_Request::default(),
14        )
15    }
16}
17
18impl rosidl_runtime_rs::Message for DescribeParameters_Request {
19    type RmwMsg = crate::vendor::rcl_interfaces::srv::rmw::DescribeParameters_Request;
20
21    fn into_rmw_message(msg_cow: std::borrow::Cow<'_, Self>) -> std::borrow::Cow<'_, Self::RmwMsg> {
22        match msg_cow {
23            std::borrow::Cow::Owned(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
24                names: msg
25                    .names
26                    .into_iter()
27                    .map(|elem| elem.as_str().into())
28                    .collect(),
29            }),
30            std::borrow::Cow::Borrowed(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
31                names: msg.names.iter().map(|elem| elem.as_str().into()).collect(),
32            }),
33        }
34    }
35
36    fn from_rmw_message(msg: Self::RmwMsg) -> Self {
37        Self {
38            names: msg.names.into_iter().map(|elem| elem.to_string()).collect(),
39        }
40    }
41}
42
43#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
44#[derive(Clone, Debug, PartialEq, PartialOrd)]
45pub struct DescribeParameters_Response {
46    pub descriptors: Vec<crate::vendor::rcl_interfaces::msg::ParameterDescriptor>,
47}
48
49impl Default for DescribeParameters_Response {
50    fn default() -> Self {
51        <Self as rosidl_runtime_rs::Message>::from_rmw_message(
52            crate::vendor::rcl_interfaces::srv::rmw::DescribeParameters_Response::default(),
53        )
54    }
55}
56
57impl rosidl_runtime_rs::Message for DescribeParameters_Response {
58    type RmwMsg = crate::vendor::rcl_interfaces::srv::rmw::DescribeParameters_Response;
59
60    fn into_rmw_message(msg_cow: std::borrow::Cow<'_, Self>) -> std::borrow::Cow<'_, Self::RmwMsg> {
61        match msg_cow {
62            std::borrow::Cow::Owned(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
63                descriptors: msg
64                    .descriptors
65                    .into_iter()
66                    .map(|elem| {
67                        crate::vendor::rcl_interfaces::msg::ParameterDescriptor::into_rmw_message(
68                            std::borrow::Cow::Owned(elem),
69                        )
70                        .into_owned()
71                    })
72                    .collect(),
73            }),
74            std::borrow::Cow::Borrowed(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
75                descriptors: msg
76                    .descriptors
77                    .iter()
78                    .map(|elem| {
79                        crate::vendor::rcl_interfaces::msg::ParameterDescriptor::into_rmw_message(
80                            std::borrow::Cow::Borrowed(elem),
81                        )
82                        .into_owned()
83                    })
84                    .collect(),
85            }),
86        }
87    }
88
89    fn from_rmw_message(msg: Self::RmwMsg) -> Self {
90        Self {
91            descriptors: msg
92                .descriptors
93                .into_iter()
94                .map(crate::vendor::rcl_interfaces::msg::ParameterDescriptor::from_rmw_message)
95                .collect(),
96        }
97    }
98}
99
100#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
101#[derive(Clone, Debug, PartialEq, PartialOrd)]
102pub struct GetParameters_Request {
103    pub names: Vec<std::string::String>,
104}
105
106impl Default for GetParameters_Request {
107    fn default() -> Self {
108        <Self as rosidl_runtime_rs::Message>::from_rmw_message(
109            crate::vendor::rcl_interfaces::srv::rmw::GetParameters_Request::default(),
110        )
111    }
112}
113
114impl rosidl_runtime_rs::Message for GetParameters_Request {
115    type RmwMsg = crate::vendor::rcl_interfaces::srv::rmw::GetParameters_Request;
116
117    fn into_rmw_message(msg_cow: std::borrow::Cow<'_, Self>) -> std::borrow::Cow<'_, Self::RmwMsg> {
118        match msg_cow {
119            std::borrow::Cow::Owned(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
120                names: msg
121                    .names
122                    .into_iter()
123                    .map(|elem| elem.as_str().into())
124                    .collect(),
125            }),
126            std::borrow::Cow::Borrowed(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
127                names: msg.names.iter().map(|elem| elem.as_str().into()).collect(),
128            }),
129        }
130    }
131
132    fn from_rmw_message(msg: Self::RmwMsg) -> Self {
133        Self {
134            names: msg.names.into_iter().map(|elem| elem.to_string()).collect(),
135        }
136    }
137}
138
139#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
140#[derive(Clone, Debug, PartialEq, PartialOrd)]
141pub struct GetParameters_Response {
142    pub values: Vec<crate::vendor::rcl_interfaces::msg::ParameterValue>,
143}
144
145impl Default for GetParameters_Response {
146    fn default() -> Self {
147        <Self as rosidl_runtime_rs::Message>::from_rmw_message(
148            crate::vendor::rcl_interfaces::srv::rmw::GetParameters_Response::default(),
149        )
150    }
151}
152
153impl rosidl_runtime_rs::Message for GetParameters_Response {
154    type RmwMsg = crate::vendor::rcl_interfaces::srv::rmw::GetParameters_Response;
155
156    fn into_rmw_message(msg_cow: std::borrow::Cow<'_, Self>) -> std::borrow::Cow<'_, Self::RmwMsg> {
157        match msg_cow {
158            std::borrow::Cow::Owned(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
159                values: msg
160                    .values
161                    .into_iter()
162                    .map(|elem| {
163                        crate::vendor::rcl_interfaces::msg::ParameterValue::into_rmw_message(
164                            std::borrow::Cow::Owned(elem),
165                        )
166                        .into_owned()
167                    })
168                    .collect(),
169            }),
170            std::borrow::Cow::Borrowed(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
171                values: msg
172                    .values
173                    .iter()
174                    .map(|elem| {
175                        crate::vendor::rcl_interfaces::msg::ParameterValue::into_rmw_message(
176                            std::borrow::Cow::Borrowed(elem),
177                        )
178                        .into_owned()
179                    })
180                    .collect(),
181            }),
182        }
183    }
184
185    fn from_rmw_message(msg: Self::RmwMsg) -> Self {
186        Self {
187            values: msg
188                .values
189                .into_iter()
190                .map(crate::vendor::rcl_interfaces::msg::ParameterValue::from_rmw_message)
191                .collect(),
192        }
193    }
194}
195
196#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
197#[derive(Clone, Debug, PartialEq, PartialOrd)]
198pub struct GetParameterTypes_Request {
199    pub names: Vec<std::string::String>,
200}
201
202impl Default for GetParameterTypes_Request {
203    fn default() -> Self {
204        <Self as rosidl_runtime_rs::Message>::from_rmw_message(
205            crate::vendor::rcl_interfaces::srv::rmw::GetParameterTypes_Request::default(),
206        )
207    }
208}
209
210impl rosidl_runtime_rs::Message for GetParameterTypes_Request {
211    type RmwMsg = crate::vendor::rcl_interfaces::srv::rmw::GetParameterTypes_Request;
212
213    fn into_rmw_message(msg_cow: std::borrow::Cow<'_, Self>) -> std::borrow::Cow<'_, Self::RmwMsg> {
214        match msg_cow {
215            std::borrow::Cow::Owned(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
216                names: msg
217                    .names
218                    .into_iter()
219                    .map(|elem| elem.as_str().into())
220                    .collect(),
221            }),
222            std::borrow::Cow::Borrowed(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
223                names: msg.names.iter().map(|elem| elem.as_str().into()).collect(),
224            }),
225        }
226    }
227
228    fn from_rmw_message(msg: Self::RmwMsg) -> Self {
229        Self {
230            names: msg.names.into_iter().map(|elem| elem.to_string()).collect(),
231        }
232    }
233}
234
235#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
236#[derive(Clone, Debug, PartialEq, PartialOrd)]
237pub struct GetParameterTypes_Response {
238    pub types: Vec<u8>,
239}
240
241impl Default for GetParameterTypes_Response {
242    fn default() -> Self {
243        <Self as rosidl_runtime_rs::Message>::from_rmw_message(
244            crate::vendor::rcl_interfaces::srv::rmw::GetParameterTypes_Response::default(),
245        )
246    }
247}
248
249impl rosidl_runtime_rs::Message for GetParameterTypes_Response {
250    type RmwMsg = crate::vendor::rcl_interfaces::srv::rmw::GetParameterTypes_Response;
251
252    fn into_rmw_message(msg_cow: std::borrow::Cow<'_, Self>) -> std::borrow::Cow<'_, Self::RmwMsg> {
253        match msg_cow {
254            std::borrow::Cow::Owned(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
255                types: msg.types.into(),
256            }),
257            std::borrow::Cow::Borrowed(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
258                types: msg.types.as_slice().into(),
259            }),
260        }
261    }
262
263    fn from_rmw_message(msg: Self::RmwMsg) -> Self {
264        Self {
265            types: msg.types.into_iter().collect(),
266        }
267    }
268}
269
270#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
271#[derive(Clone, Debug, PartialEq, PartialOrd)]
272pub struct ListParameters_Request {
273    pub prefixes: Vec<std::string::String>,
274    pub depth: u64,
275}
276
277impl ListParameters_Request {
278    pub const DEPTH_RECURSIVE: u64 = 0;
279}
280
281impl Default for ListParameters_Request {
282    fn default() -> Self {
283        <Self as rosidl_runtime_rs::Message>::from_rmw_message(
284            crate::vendor::rcl_interfaces::srv::rmw::ListParameters_Request::default(),
285        )
286    }
287}
288
289impl rosidl_runtime_rs::Message for ListParameters_Request {
290    type RmwMsg = crate::vendor::rcl_interfaces::srv::rmw::ListParameters_Request;
291
292    fn into_rmw_message(msg_cow: std::borrow::Cow<'_, Self>) -> std::borrow::Cow<'_, Self::RmwMsg> {
293        match msg_cow {
294            std::borrow::Cow::Owned(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
295                prefixes: msg
296                    .prefixes
297                    .into_iter()
298                    .map(|elem| elem.as_str().into())
299                    .collect(),
300                depth: msg.depth,
301            }),
302            std::borrow::Cow::Borrowed(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
303                prefixes: msg
304                    .prefixes
305                    .iter()
306                    .map(|elem| elem.as_str().into())
307                    .collect(),
308                depth: msg.depth,
309            }),
310        }
311    }
312
313    fn from_rmw_message(msg: Self::RmwMsg) -> Self {
314        Self {
315            prefixes: msg
316                .prefixes
317                .into_iter()
318                .map(|elem| elem.to_string())
319                .collect(),
320            depth: msg.depth,
321        }
322    }
323}
324
325#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
326#[derive(Clone, Debug, PartialEq, PartialOrd)]
327pub struct ListParameters_Response {
328    pub result: crate::vendor::rcl_interfaces::msg::ListParametersResult,
329}
330
331impl Default for ListParameters_Response {
332    fn default() -> Self {
333        <Self as rosidl_runtime_rs::Message>::from_rmw_message(
334            crate::vendor::rcl_interfaces::srv::rmw::ListParameters_Response::default(),
335        )
336    }
337}
338
339impl rosidl_runtime_rs::Message for ListParameters_Response {
340    type RmwMsg = crate::vendor::rcl_interfaces::srv::rmw::ListParameters_Response;
341
342    fn into_rmw_message(msg_cow: std::borrow::Cow<'_, Self>) -> std::borrow::Cow<'_, Self::RmwMsg> {
343        match msg_cow {
344            std::borrow::Cow::Owned(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
345                result: crate::vendor::rcl_interfaces::msg::ListParametersResult::into_rmw_message(
346                    std::borrow::Cow::Owned(msg.result),
347                )
348                .into_owned(),
349            }),
350            std::borrow::Cow::Borrowed(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
351                result: crate::vendor::rcl_interfaces::msg::ListParametersResult::into_rmw_message(
352                    std::borrow::Cow::Borrowed(&msg.result),
353                )
354                .into_owned(),
355            }),
356        }
357    }
358
359    fn from_rmw_message(msg: Self::RmwMsg) -> Self {
360        Self {
361            result: crate::vendor::rcl_interfaces::msg::ListParametersResult::from_rmw_message(
362                msg.result,
363            ),
364        }
365    }
366}
367
368#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
369#[derive(Clone, Debug, PartialEq, PartialOrd)]
370pub struct SetParametersAtomically_Request {
371    pub parameters: Vec<crate::vendor::rcl_interfaces::msg::Parameter>,
372}
373
374impl Default for SetParametersAtomically_Request {
375    fn default() -> Self {
376        <Self as rosidl_runtime_rs::Message>::from_rmw_message(
377            crate::vendor::rcl_interfaces::srv::rmw::SetParametersAtomically_Request::default(),
378        )
379    }
380}
381
382impl rosidl_runtime_rs::Message for SetParametersAtomically_Request {
383    type RmwMsg = crate::vendor::rcl_interfaces::srv::rmw::SetParametersAtomically_Request;
384
385    fn into_rmw_message(msg_cow: std::borrow::Cow<'_, Self>) -> std::borrow::Cow<'_, Self::RmwMsg> {
386        match msg_cow {
387            std::borrow::Cow::Owned(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
388                parameters: msg
389                    .parameters
390                    .into_iter()
391                    .map(|elem| {
392                        crate::vendor::rcl_interfaces::msg::Parameter::into_rmw_message(
393                            std::borrow::Cow::Owned(elem),
394                        )
395                        .into_owned()
396                    })
397                    .collect(),
398            }),
399            std::borrow::Cow::Borrowed(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
400                parameters: msg
401                    .parameters
402                    .iter()
403                    .map(|elem| {
404                        crate::vendor::rcl_interfaces::msg::Parameter::into_rmw_message(
405                            std::borrow::Cow::Borrowed(elem),
406                        )
407                        .into_owned()
408                    })
409                    .collect(),
410            }),
411        }
412    }
413
414    fn from_rmw_message(msg: Self::RmwMsg) -> Self {
415        Self {
416            parameters: msg
417                .parameters
418                .into_iter()
419                .map(crate::vendor::rcl_interfaces::msg::Parameter::from_rmw_message)
420                .collect(),
421        }
422    }
423}
424
425#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
426#[derive(Clone, Debug, PartialEq, PartialOrd)]
427pub struct SetParametersAtomically_Response {
428    pub result: crate::vendor::rcl_interfaces::msg::SetParametersResult,
429}
430
431impl Default for SetParametersAtomically_Response {
432    fn default() -> Self {
433        <Self as rosidl_runtime_rs::Message>::from_rmw_message(
434            crate::vendor::rcl_interfaces::srv::rmw::SetParametersAtomically_Response::default(),
435        )
436    }
437}
438
439impl rosidl_runtime_rs::Message for SetParametersAtomically_Response {
440    type RmwMsg = crate::vendor::rcl_interfaces::srv::rmw::SetParametersAtomically_Response;
441
442    fn into_rmw_message(msg_cow: std::borrow::Cow<'_, Self>) -> std::borrow::Cow<'_, Self::RmwMsg> {
443        match msg_cow {
444            std::borrow::Cow::Owned(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
445                result: crate::vendor::rcl_interfaces::msg::SetParametersResult::into_rmw_message(
446                    std::borrow::Cow::Owned(msg.result),
447                )
448                .into_owned(),
449            }),
450            std::borrow::Cow::Borrowed(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
451                result: crate::vendor::rcl_interfaces::msg::SetParametersResult::into_rmw_message(
452                    std::borrow::Cow::Borrowed(&msg.result),
453                )
454                .into_owned(),
455            }),
456        }
457    }
458
459    fn from_rmw_message(msg: Self::RmwMsg) -> Self {
460        Self {
461            result: crate::vendor::rcl_interfaces::msg::SetParametersResult::from_rmw_message(
462                msg.result,
463            ),
464        }
465    }
466}
467
468#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
469#[derive(Clone, Debug, PartialEq, PartialOrd)]
470pub struct SetParameters_Request {
471    pub parameters: Vec<crate::vendor::rcl_interfaces::msg::Parameter>,
472}
473
474impl Default for SetParameters_Request {
475    fn default() -> Self {
476        <Self as rosidl_runtime_rs::Message>::from_rmw_message(
477            crate::vendor::rcl_interfaces::srv::rmw::SetParameters_Request::default(),
478        )
479    }
480}
481
482impl rosidl_runtime_rs::Message for SetParameters_Request {
483    type RmwMsg = crate::vendor::rcl_interfaces::srv::rmw::SetParameters_Request;
484
485    fn into_rmw_message(msg_cow: std::borrow::Cow<'_, Self>) -> std::borrow::Cow<'_, Self::RmwMsg> {
486        match msg_cow {
487            std::borrow::Cow::Owned(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
488                parameters: msg
489                    .parameters
490                    .into_iter()
491                    .map(|elem| {
492                        crate::vendor::rcl_interfaces::msg::Parameter::into_rmw_message(
493                            std::borrow::Cow::Owned(elem),
494                        )
495                        .into_owned()
496                    })
497                    .collect(),
498            }),
499            std::borrow::Cow::Borrowed(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
500                parameters: msg
501                    .parameters
502                    .iter()
503                    .map(|elem| {
504                        crate::vendor::rcl_interfaces::msg::Parameter::into_rmw_message(
505                            std::borrow::Cow::Borrowed(elem),
506                        )
507                        .into_owned()
508                    })
509                    .collect(),
510            }),
511        }
512    }
513
514    fn from_rmw_message(msg: Self::RmwMsg) -> Self {
515        Self {
516            parameters: msg
517                .parameters
518                .into_iter()
519                .map(crate::vendor::rcl_interfaces::msg::Parameter::from_rmw_message)
520                .collect(),
521        }
522    }
523}
524
525#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
526#[derive(Clone, Debug, PartialEq, PartialOrd)]
527pub struct SetParameters_Response {
528    pub results: Vec<crate::vendor::rcl_interfaces::msg::SetParametersResult>,
529}
530
531impl Default for SetParameters_Response {
532    fn default() -> Self {
533        <Self as rosidl_runtime_rs::Message>::from_rmw_message(
534            crate::vendor::rcl_interfaces::srv::rmw::SetParameters_Response::default(),
535        )
536    }
537}
538
539impl rosidl_runtime_rs::Message for SetParameters_Response {
540    type RmwMsg = crate::vendor::rcl_interfaces::srv::rmw::SetParameters_Response;
541
542    fn into_rmw_message(msg_cow: std::borrow::Cow<'_, Self>) -> std::borrow::Cow<'_, Self::RmwMsg> {
543        match msg_cow {
544            std::borrow::Cow::Owned(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
545                results: msg
546                    .results
547                    .into_iter()
548                    .map(|elem| {
549                        crate::vendor::rcl_interfaces::msg::SetParametersResult::into_rmw_message(
550                            std::borrow::Cow::Owned(elem),
551                        )
552                        .into_owned()
553                    })
554                    .collect(),
555            }),
556            std::borrow::Cow::Borrowed(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
557                results: msg
558                    .results
559                    .iter()
560                    .map(|elem| {
561                        crate::vendor::rcl_interfaces::msg::SetParametersResult::into_rmw_message(
562                            std::borrow::Cow::Borrowed(elem),
563                        )
564                        .into_owned()
565                    })
566                    .collect(),
567            }),
568        }
569    }
570
571    fn from_rmw_message(msg: Self::RmwMsg) -> Self {
572        Self {
573            results: msg
574                .results
575                .into_iter()
576                .map(crate::vendor::rcl_interfaces::msg::SetParametersResult::from_rmw_message)
577                .collect(),
578        }
579    }
580}
581
582#[link(name = "rcl_interfaces__rosidl_typesupport_c")]
583extern "C" {
584    fn rosidl_typesupport_c__get_service_type_support_handle__rcl_interfaces__srv__DescribeParameters(
585    ) -> *const std::os::raw::c_void;
586}
587
588// Corresponds to rcl_interfaces__srv__DescribeParameters
589pub struct DescribeParameters;
590
591impl rosidl_runtime_rs::Service for DescribeParameters {
592    type Request = crate::vendor::rcl_interfaces::srv::DescribeParameters_Request;
593    type Response = crate::vendor::rcl_interfaces::srv::DescribeParameters_Response;
594
595    fn get_type_support() -> *const std::os::raw::c_void {
596        // SAFETY: No preconditions for this function.
597        unsafe {
598            rosidl_typesupport_c__get_service_type_support_handle__rcl_interfaces__srv__DescribeParameters()
599        }
600    }
601}
602
603#[link(name = "rcl_interfaces__rosidl_typesupport_c")]
604extern "C" {
605    fn rosidl_typesupport_c__get_service_type_support_handle__rcl_interfaces__srv__GetParameters(
606    ) -> *const std::os::raw::c_void;
607}
608
609// Corresponds to rcl_interfaces__srv__GetParameters
610pub struct GetParameters;
611
612impl rosidl_runtime_rs::Service for GetParameters {
613    type Request = crate::vendor::rcl_interfaces::srv::GetParameters_Request;
614    type Response = crate::vendor::rcl_interfaces::srv::GetParameters_Response;
615
616    fn get_type_support() -> *const std::os::raw::c_void {
617        // SAFETY: No preconditions for this function.
618        unsafe {
619            rosidl_typesupport_c__get_service_type_support_handle__rcl_interfaces__srv__GetParameters()
620        }
621    }
622}
623
624#[link(name = "rcl_interfaces__rosidl_typesupport_c")]
625extern "C" {
626    fn rosidl_typesupport_c__get_service_type_support_handle__rcl_interfaces__srv__GetParameterTypes(
627    ) -> *const std::os::raw::c_void;
628}
629
630// Corresponds to rcl_interfaces__srv__GetParameterTypes
631pub struct GetParameterTypes;
632
633impl rosidl_runtime_rs::Service for GetParameterTypes {
634    type Request = crate::vendor::rcl_interfaces::srv::GetParameterTypes_Request;
635    type Response = crate::vendor::rcl_interfaces::srv::GetParameterTypes_Response;
636
637    fn get_type_support() -> *const std::os::raw::c_void {
638        // SAFETY: No preconditions for this function.
639        unsafe {
640            rosidl_typesupport_c__get_service_type_support_handle__rcl_interfaces__srv__GetParameterTypes()
641        }
642    }
643}
644
645#[link(name = "rcl_interfaces__rosidl_typesupport_c")]
646extern "C" {
647    fn rosidl_typesupport_c__get_service_type_support_handle__rcl_interfaces__srv__ListParameters(
648    ) -> *const std::os::raw::c_void;
649}
650
651// Corresponds to rcl_interfaces__srv__ListParameters
652pub struct ListParameters;
653
654impl rosidl_runtime_rs::Service for ListParameters {
655    type Request = crate::vendor::rcl_interfaces::srv::ListParameters_Request;
656    type Response = crate::vendor::rcl_interfaces::srv::ListParameters_Response;
657
658    fn get_type_support() -> *const std::os::raw::c_void {
659        // SAFETY: No preconditions for this function.
660        unsafe {
661            rosidl_typesupport_c__get_service_type_support_handle__rcl_interfaces__srv__ListParameters()
662        }
663    }
664}
665
666#[link(name = "rcl_interfaces__rosidl_typesupport_c")]
667extern "C" {
668    fn rosidl_typesupport_c__get_service_type_support_handle__rcl_interfaces__srv__SetParametersAtomically(
669    ) -> *const std::os::raw::c_void;
670}
671
672// Corresponds to rcl_interfaces__srv__SetParametersAtomically
673pub struct SetParametersAtomically;
674
675impl rosidl_runtime_rs::Service for SetParametersAtomically {
676    type Request = crate::vendor::rcl_interfaces::srv::SetParametersAtomically_Request;
677    type Response = crate::vendor::rcl_interfaces::srv::SetParametersAtomically_Response;
678
679    fn get_type_support() -> *const std::os::raw::c_void {
680        // SAFETY: No preconditions for this function.
681        unsafe {
682            rosidl_typesupport_c__get_service_type_support_handle__rcl_interfaces__srv__SetParametersAtomically()
683        }
684    }
685}
686
687#[link(name = "rcl_interfaces__rosidl_typesupport_c")]
688extern "C" {
689    fn rosidl_typesupport_c__get_service_type_support_handle__rcl_interfaces__srv__SetParameters(
690    ) -> *const std::os::raw::c_void;
691}
692
693// Corresponds to rcl_interfaces__srv__SetParameters
694pub struct SetParameters;
695
696impl rosidl_runtime_rs::Service for SetParameters {
697    type Request = crate::vendor::rcl_interfaces::srv::SetParameters_Request;
698    type Response = crate::vendor::rcl_interfaces::srv::SetParameters_Response;
699
700    fn get_type_support() -> *const std::os::raw::c_void {
701        // SAFETY: No preconditions for this function.
702        unsafe {
703            rosidl_typesupport_c__get_service_type_support_handle__rcl_interfaces__srv__SetParameters()
704        }
705    }
706}
707
708pub mod rmw {
709    #[cfg(feature = "serde")]
710    use serde::{Deserialize, Serialize};
711
712    #[link(name = "rcl_interfaces__rosidl_typesupport_c")]
713    extern "C" {
714        fn rosidl_typesupport_c__get_message_type_support_handle__rcl_interfaces__srv__DescribeParameters_Request(
715        ) -> *const std::os::raw::c_void;
716    }
717
718    #[link(name = "rcl_interfaces__rosidl_generator_c")]
719    extern "C" {
720        fn rcl_interfaces__srv__DescribeParameters_Request__init(
721            msg: *mut DescribeParameters_Request,
722        ) -> bool;
723        fn rcl_interfaces__srv__DescribeParameters_Request__Sequence__init(
724            seq: *mut rosidl_runtime_rs::Sequence<DescribeParameters_Request>,
725            size: usize,
726        ) -> bool;
727        fn rcl_interfaces__srv__DescribeParameters_Request__Sequence__fini(
728            seq: *mut rosidl_runtime_rs::Sequence<DescribeParameters_Request>,
729        );
730        fn rcl_interfaces__srv__DescribeParameters_Request__Sequence__copy(
731            in_seq: &rosidl_runtime_rs::Sequence<DescribeParameters_Request>,
732            out_seq: *mut rosidl_runtime_rs::Sequence<DescribeParameters_Request>,
733        ) -> bool;
734    }
735
736    // Corresponds to rcl_interfaces__srv__DescribeParameters_Request
737    #[repr(C)]
738    #[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
739    #[derive(Clone, Debug, PartialEq, PartialOrd)]
740    pub struct DescribeParameters_Request {
741        pub names: rosidl_runtime_rs::Sequence<rosidl_runtime_rs::String>,
742    }
743
744    impl Default for DescribeParameters_Request {
745        fn default() -> Self {
746            unsafe {
747                let mut msg = std::mem::zeroed();
748                if !rcl_interfaces__srv__DescribeParameters_Request__init(&mut msg as *mut _) {
749                    panic!(
750                        "Call to rcl_interfaces__srv__DescribeParameters_Request__init() failed"
751                    );
752                }
753                msg
754            }
755        }
756    }
757
758    impl rosidl_runtime_rs::SequenceAlloc for DescribeParameters_Request {
759        fn sequence_init(seq: &mut rosidl_runtime_rs::Sequence<Self>, size: usize) -> bool {
760            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
761            unsafe {
762                rcl_interfaces__srv__DescribeParameters_Request__Sequence__init(seq as *mut _, size)
763            }
764        }
765        fn sequence_fini(seq: &mut rosidl_runtime_rs::Sequence<Self>) {
766            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
767            unsafe {
768                rcl_interfaces__srv__DescribeParameters_Request__Sequence__fini(seq as *mut _)
769            }
770        }
771        fn sequence_copy(
772            in_seq: &rosidl_runtime_rs::Sequence<Self>,
773            out_seq: &mut rosidl_runtime_rs::Sequence<Self>,
774        ) -> bool {
775            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
776            unsafe {
777                rcl_interfaces__srv__DescribeParameters_Request__Sequence__copy(
778                    in_seq,
779                    out_seq as *mut _,
780                )
781            }
782        }
783    }
784
785    impl rosidl_runtime_rs::Message for DescribeParameters_Request {
786        type RmwMsg = Self;
787        fn into_rmw_message(
788            msg_cow: std::borrow::Cow<'_, Self>,
789        ) -> std::borrow::Cow<'_, Self::RmwMsg> {
790            msg_cow
791        }
792        fn from_rmw_message(msg: Self::RmwMsg) -> Self {
793            msg
794        }
795    }
796
797    impl rosidl_runtime_rs::RmwMessage for DescribeParameters_Request
798    where
799        Self: Sized,
800    {
801        const TYPE_NAME: &'static str = "rcl_interfaces/srv/DescribeParameters_Request";
802        fn get_type_support() -> *const std::os::raw::c_void {
803            // SAFETY: No preconditions for this function.
804            unsafe {
805                rosidl_typesupport_c__get_message_type_support_handle__rcl_interfaces__srv__DescribeParameters_Request()
806            }
807        }
808    }
809
810    #[link(name = "rcl_interfaces__rosidl_typesupport_c")]
811    extern "C" {
812        fn rosidl_typesupport_c__get_message_type_support_handle__rcl_interfaces__srv__DescribeParameters_Response(
813        ) -> *const std::os::raw::c_void;
814    }
815
816    #[link(name = "rcl_interfaces__rosidl_generator_c")]
817    extern "C" {
818        fn rcl_interfaces__srv__DescribeParameters_Response__init(
819            msg: *mut DescribeParameters_Response,
820        ) -> bool;
821        fn rcl_interfaces__srv__DescribeParameters_Response__Sequence__init(
822            seq: *mut rosidl_runtime_rs::Sequence<DescribeParameters_Response>,
823            size: usize,
824        ) -> bool;
825        fn rcl_interfaces__srv__DescribeParameters_Response__Sequence__fini(
826            seq: *mut rosidl_runtime_rs::Sequence<DescribeParameters_Response>,
827        );
828        fn rcl_interfaces__srv__DescribeParameters_Response__Sequence__copy(
829            in_seq: &rosidl_runtime_rs::Sequence<DescribeParameters_Response>,
830            out_seq: *mut rosidl_runtime_rs::Sequence<DescribeParameters_Response>,
831        ) -> bool;
832    }
833
834    // Corresponds to rcl_interfaces__srv__DescribeParameters_Response
835    #[repr(C)]
836    #[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
837    #[derive(Clone, Debug, PartialEq, PartialOrd)]
838    pub struct DescribeParameters_Response {
839        pub descriptors: rosidl_runtime_rs::Sequence<
840            crate::vendor::rcl_interfaces::msg::rmw::ParameterDescriptor,
841        >,
842    }
843
844    impl Default for DescribeParameters_Response {
845        fn default() -> Self {
846            unsafe {
847                let mut msg = std::mem::zeroed();
848                if !rcl_interfaces__srv__DescribeParameters_Response__init(&mut msg as *mut _) {
849                    panic!(
850                        "Call to rcl_interfaces__srv__DescribeParameters_Response__init() failed"
851                    );
852                }
853                msg
854            }
855        }
856    }
857
858    impl rosidl_runtime_rs::SequenceAlloc for DescribeParameters_Response {
859        fn sequence_init(seq: &mut rosidl_runtime_rs::Sequence<Self>, size: usize) -> bool {
860            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
861            unsafe {
862                rcl_interfaces__srv__DescribeParameters_Response__Sequence__init(
863                    seq as *mut _,
864                    size,
865                )
866            }
867        }
868        fn sequence_fini(seq: &mut rosidl_runtime_rs::Sequence<Self>) {
869            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
870            unsafe {
871                rcl_interfaces__srv__DescribeParameters_Response__Sequence__fini(seq as *mut _)
872            }
873        }
874        fn sequence_copy(
875            in_seq: &rosidl_runtime_rs::Sequence<Self>,
876            out_seq: &mut rosidl_runtime_rs::Sequence<Self>,
877        ) -> bool {
878            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
879            unsafe {
880                rcl_interfaces__srv__DescribeParameters_Response__Sequence__copy(
881                    in_seq,
882                    out_seq as *mut _,
883                )
884            }
885        }
886    }
887
888    impl rosidl_runtime_rs::Message for DescribeParameters_Response {
889        type RmwMsg = Self;
890        fn into_rmw_message(
891            msg_cow: std::borrow::Cow<'_, Self>,
892        ) -> std::borrow::Cow<'_, Self::RmwMsg> {
893            msg_cow
894        }
895        fn from_rmw_message(msg: Self::RmwMsg) -> Self {
896            msg
897        }
898    }
899
900    impl rosidl_runtime_rs::RmwMessage for DescribeParameters_Response
901    where
902        Self: Sized,
903    {
904        const TYPE_NAME: &'static str = "rcl_interfaces/srv/DescribeParameters_Response";
905        fn get_type_support() -> *const std::os::raw::c_void {
906            // SAFETY: No preconditions for this function.
907            unsafe {
908                rosidl_typesupport_c__get_message_type_support_handle__rcl_interfaces__srv__DescribeParameters_Response()
909            }
910        }
911    }
912
913    #[link(name = "rcl_interfaces__rosidl_typesupport_c")]
914    extern "C" {
915        fn rosidl_typesupport_c__get_message_type_support_handle__rcl_interfaces__srv__GetParameters_Request(
916        ) -> *const std::os::raw::c_void;
917    }
918
919    #[link(name = "rcl_interfaces__rosidl_generator_c")]
920    extern "C" {
921        fn rcl_interfaces__srv__GetParameters_Request__init(
922            msg: *mut GetParameters_Request,
923        ) -> bool;
924        fn rcl_interfaces__srv__GetParameters_Request__Sequence__init(
925            seq: *mut rosidl_runtime_rs::Sequence<GetParameters_Request>,
926            size: usize,
927        ) -> bool;
928        fn rcl_interfaces__srv__GetParameters_Request__Sequence__fini(
929            seq: *mut rosidl_runtime_rs::Sequence<GetParameters_Request>,
930        );
931        fn rcl_interfaces__srv__GetParameters_Request__Sequence__copy(
932            in_seq: &rosidl_runtime_rs::Sequence<GetParameters_Request>,
933            out_seq: *mut rosidl_runtime_rs::Sequence<GetParameters_Request>,
934        ) -> bool;
935    }
936
937    // Corresponds to rcl_interfaces__srv__GetParameters_Request
938    #[repr(C)]
939    #[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
940    #[derive(Clone, Debug, PartialEq, PartialOrd)]
941    pub struct GetParameters_Request {
942        pub names: rosidl_runtime_rs::Sequence<rosidl_runtime_rs::String>,
943    }
944
945    impl Default for GetParameters_Request {
946        fn default() -> Self {
947            unsafe {
948                let mut msg = std::mem::zeroed();
949                if !rcl_interfaces__srv__GetParameters_Request__init(&mut msg as *mut _) {
950                    panic!("Call to rcl_interfaces__srv__GetParameters_Request__init() failed");
951                }
952                msg
953            }
954        }
955    }
956
957    impl rosidl_runtime_rs::SequenceAlloc for GetParameters_Request {
958        fn sequence_init(seq: &mut rosidl_runtime_rs::Sequence<Self>, size: usize) -> bool {
959            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
960            unsafe {
961                rcl_interfaces__srv__GetParameters_Request__Sequence__init(seq as *mut _, size)
962            }
963        }
964        fn sequence_fini(seq: &mut rosidl_runtime_rs::Sequence<Self>) {
965            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
966            unsafe { rcl_interfaces__srv__GetParameters_Request__Sequence__fini(seq as *mut _) }
967        }
968        fn sequence_copy(
969            in_seq: &rosidl_runtime_rs::Sequence<Self>,
970            out_seq: &mut rosidl_runtime_rs::Sequence<Self>,
971        ) -> bool {
972            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
973            unsafe {
974                rcl_interfaces__srv__GetParameters_Request__Sequence__copy(
975                    in_seq,
976                    out_seq as *mut _,
977                )
978            }
979        }
980    }
981
982    impl rosidl_runtime_rs::Message for GetParameters_Request {
983        type RmwMsg = Self;
984        fn into_rmw_message(
985            msg_cow: std::borrow::Cow<'_, Self>,
986        ) -> std::borrow::Cow<'_, Self::RmwMsg> {
987            msg_cow
988        }
989        fn from_rmw_message(msg: Self::RmwMsg) -> Self {
990            msg
991        }
992    }
993
994    impl rosidl_runtime_rs::RmwMessage for GetParameters_Request
995    where
996        Self: Sized,
997    {
998        const TYPE_NAME: &'static str = "rcl_interfaces/srv/GetParameters_Request";
999        fn get_type_support() -> *const std::os::raw::c_void {
1000            // SAFETY: No preconditions for this function.
1001            unsafe {
1002                rosidl_typesupport_c__get_message_type_support_handle__rcl_interfaces__srv__GetParameters_Request()
1003            }
1004        }
1005    }
1006
1007    #[link(name = "rcl_interfaces__rosidl_typesupport_c")]
1008    extern "C" {
1009        fn rosidl_typesupport_c__get_message_type_support_handle__rcl_interfaces__srv__GetParameters_Response(
1010        ) -> *const std::os::raw::c_void;
1011    }
1012
1013    #[link(name = "rcl_interfaces__rosidl_generator_c")]
1014    extern "C" {
1015        fn rcl_interfaces__srv__GetParameters_Response__init(
1016            msg: *mut GetParameters_Response,
1017        ) -> bool;
1018        fn rcl_interfaces__srv__GetParameters_Response__Sequence__init(
1019            seq: *mut rosidl_runtime_rs::Sequence<GetParameters_Response>,
1020            size: usize,
1021        ) -> bool;
1022        fn rcl_interfaces__srv__GetParameters_Response__Sequence__fini(
1023            seq: *mut rosidl_runtime_rs::Sequence<GetParameters_Response>,
1024        );
1025        fn rcl_interfaces__srv__GetParameters_Response__Sequence__copy(
1026            in_seq: &rosidl_runtime_rs::Sequence<GetParameters_Response>,
1027            out_seq: *mut rosidl_runtime_rs::Sequence<GetParameters_Response>,
1028        ) -> bool;
1029    }
1030
1031    // Corresponds to rcl_interfaces__srv__GetParameters_Response
1032    #[repr(C)]
1033    #[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
1034    #[derive(Clone, Debug, PartialEq, PartialOrd)]
1035    pub struct GetParameters_Response {
1036        pub values:
1037            rosidl_runtime_rs::Sequence<crate::vendor::rcl_interfaces::msg::rmw::ParameterValue>,
1038    }
1039
1040    impl Default for GetParameters_Response {
1041        fn default() -> Self {
1042            unsafe {
1043                let mut msg = std::mem::zeroed();
1044                if !rcl_interfaces__srv__GetParameters_Response__init(&mut msg as *mut _) {
1045                    panic!("Call to rcl_interfaces__srv__GetParameters_Response__init() failed");
1046                }
1047                msg
1048            }
1049        }
1050    }
1051
1052    impl rosidl_runtime_rs::SequenceAlloc for GetParameters_Response {
1053        fn sequence_init(seq: &mut rosidl_runtime_rs::Sequence<Self>, size: usize) -> bool {
1054            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1055            unsafe {
1056                rcl_interfaces__srv__GetParameters_Response__Sequence__init(seq as *mut _, size)
1057            }
1058        }
1059        fn sequence_fini(seq: &mut rosidl_runtime_rs::Sequence<Self>) {
1060            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1061            unsafe { rcl_interfaces__srv__GetParameters_Response__Sequence__fini(seq as *mut _) }
1062        }
1063        fn sequence_copy(
1064            in_seq: &rosidl_runtime_rs::Sequence<Self>,
1065            out_seq: &mut rosidl_runtime_rs::Sequence<Self>,
1066        ) -> bool {
1067            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1068            unsafe {
1069                rcl_interfaces__srv__GetParameters_Response__Sequence__copy(
1070                    in_seq,
1071                    out_seq as *mut _,
1072                )
1073            }
1074        }
1075    }
1076
1077    impl rosidl_runtime_rs::Message for GetParameters_Response {
1078        type RmwMsg = Self;
1079        fn into_rmw_message(
1080            msg_cow: std::borrow::Cow<'_, Self>,
1081        ) -> std::borrow::Cow<'_, Self::RmwMsg> {
1082            msg_cow
1083        }
1084        fn from_rmw_message(msg: Self::RmwMsg) -> Self {
1085            msg
1086        }
1087    }
1088
1089    impl rosidl_runtime_rs::RmwMessage for GetParameters_Response
1090    where
1091        Self: Sized,
1092    {
1093        const TYPE_NAME: &'static str = "rcl_interfaces/srv/GetParameters_Response";
1094        fn get_type_support() -> *const std::os::raw::c_void {
1095            // SAFETY: No preconditions for this function.
1096            unsafe {
1097                rosidl_typesupport_c__get_message_type_support_handle__rcl_interfaces__srv__GetParameters_Response()
1098            }
1099        }
1100    }
1101
1102    #[link(name = "rcl_interfaces__rosidl_typesupport_c")]
1103    extern "C" {
1104        fn rosidl_typesupport_c__get_message_type_support_handle__rcl_interfaces__srv__GetParameterTypes_Request(
1105        ) -> *const std::os::raw::c_void;
1106    }
1107
1108    #[link(name = "rcl_interfaces__rosidl_generator_c")]
1109    extern "C" {
1110        fn rcl_interfaces__srv__GetParameterTypes_Request__init(
1111            msg: *mut GetParameterTypes_Request,
1112        ) -> bool;
1113        fn rcl_interfaces__srv__GetParameterTypes_Request__Sequence__init(
1114            seq: *mut rosidl_runtime_rs::Sequence<GetParameterTypes_Request>,
1115            size: usize,
1116        ) -> bool;
1117        fn rcl_interfaces__srv__GetParameterTypes_Request__Sequence__fini(
1118            seq: *mut rosidl_runtime_rs::Sequence<GetParameterTypes_Request>,
1119        );
1120        fn rcl_interfaces__srv__GetParameterTypes_Request__Sequence__copy(
1121            in_seq: &rosidl_runtime_rs::Sequence<GetParameterTypes_Request>,
1122            out_seq: *mut rosidl_runtime_rs::Sequence<GetParameterTypes_Request>,
1123        ) -> bool;
1124    }
1125
1126    // Corresponds to rcl_interfaces__srv__GetParameterTypes_Request
1127    #[repr(C)]
1128    #[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
1129    #[derive(Clone, Debug, PartialEq, PartialOrd)]
1130    pub struct GetParameterTypes_Request {
1131        pub names: rosidl_runtime_rs::Sequence<rosidl_runtime_rs::String>,
1132    }
1133
1134    impl Default for GetParameterTypes_Request {
1135        fn default() -> Self {
1136            unsafe {
1137                let mut msg = std::mem::zeroed();
1138                if !rcl_interfaces__srv__GetParameterTypes_Request__init(&mut msg as *mut _) {
1139                    panic!("Call to rcl_interfaces__srv__GetParameterTypes_Request__init() failed");
1140                }
1141                msg
1142            }
1143        }
1144    }
1145
1146    impl rosidl_runtime_rs::SequenceAlloc for GetParameterTypes_Request {
1147        fn sequence_init(seq: &mut rosidl_runtime_rs::Sequence<Self>, size: usize) -> bool {
1148            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1149            unsafe {
1150                rcl_interfaces__srv__GetParameterTypes_Request__Sequence__init(seq as *mut _, size)
1151            }
1152        }
1153        fn sequence_fini(seq: &mut rosidl_runtime_rs::Sequence<Self>) {
1154            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1155            unsafe { rcl_interfaces__srv__GetParameterTypes_Request__Sequence__fini(seq as *mut _) }
1156        }
1157        fn sequence_copy(
1158            in_seq: &rosidl_runtime_rs::Sequence<Self>,
1159            out_seq: &mut rosidl_runtime_rs::Sequence<Self>,
1160        ) -> bool {
1161            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1162            unsafe {
1163                rcl_interfaces__srv__GetParameterTypes_Request__Sequence__copy(
1164                    in_seq,
1165                    out_seq as *mut _,
1166                )
1167            }
1168        }
1169    }
1170
1171    impl rosidl_runtime_rs::Message for GetParameterTypes_Request {
1172        type RmwMsg = Self;
1173        fn into_rmw_message(
1174            msg_cow: std::borrow::Cow<'_, Self>,
1175        ) -> std::borrow::Cow<'_, Self::RmwMsg> {
1176            msg_cow
1177        }
1178        fn from_rmw_message(msg: Self::RmwMsg) -> Self {
1179            msg
1180        }
1181    }
1182
1183    impl rosidl_runtime_rs::RmwMessage for GetParameterTypes_Request
1184    where
1185        Self: Sized,
1186    {
1187        const TYPE_NAME: &'static str = "rcl_interfaces/srv/GetParameterTypes_Request";
1188        fn get_type_support() -> *const std::os::raw::c_void {
1189            // SAFETY: No preconditions for this function.
1190            unsafe {
1191                rosidl_typesupport_c__get_message_type_support_handle__rcl_interfaces__srv__GetParameterTypes_Request()
1192            }
1193        }
1194    }
1195
1196    #[link(name = "rcl_interfaces__rosidl_typesupport_c")]
1197    extern "C" {
1198        fn rosidl_typesupport_c__get_message_type_support_handle__rcl_interfaces__srv__GetParameterTypes_Response(
1199        ) -> *const std::os::raw::c_void;
1200    }
1201
1202    #[link(name = "rcl_interfaces__rosidl_generator_c")]
1203    extern "C" {
1204        fn rcl_interfaces__srv__GetParameterTypes_Response__init(
1205            msg: *mut GetParameterTypes_Response,
1206        ) -> bool;
1207        fn rcl_interfaces__srv__GetParameterTypes_Response__Sequence__init(
1208            seq: *mut rosidl_runtime_rs::Sequence<GetParameterTypes_Response>,
1209            size: usize,
1210        ) -> bool;
1211        fn rcl_interfaces__srv__GetParameterTypes_Response__Sequence__fini(
1212            seq: *mut rosidl_runtime_rs::Sequence<GetParameterTypes_Response>,
1213        );
1214        fn rcl_interfaces__srv__GetParameterTypes_Response__Sequence__copy(
1215            in_seq: &rosidl_runtime_rs::Sequence<GetParameterTypes_Response>,
1216            out_seq: *mut rosidl_runtime_rs::Sequence<GetParameterTypes_Response>,
1217        ) -> bool;
1218    }
1219
1220    // Corresponds to rcl_interfaces__srv__GetParameterTypes_Response
1221    #[repr(C)]
1222    #[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
1223    #[derive(Clone, Debug, PartialEq, PartialOrd)]
1224    pub struct GetParameterTypes_Response {
1225        pub types: rosidl_runtime_rs::Sequence<u8>,
1226    }
1227
1228    impl Default for GetParameterTypes_Response {
1229        fn default() -> Self {
1230            unsafe {
1231                let mut msg = std::mem::zeroed();
1232                if !rcl_interfaces__srv__GetParameterTypes_Response__init(&mut msg as *mut _) {
1233                    panic!(
1234                        "Call to rcl_interfaces__srv__GetParameterTypes_Response__init() failed"
1235                    );
1236                }
1237                msg
1238            }
1239        }
1240    }
1241
1242    impl rosidl_runtime_rs::SequenceAlloc for GetParameterTypes_Response {
1243        fn sequence_init(seq: &mut rosidl_runtime_rs::Sequence<Self>, size: usize) -> bool {
1244            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1245            unsafe {
1246                rcl_interfaces__srv__GetParameterTypes_Response__Sequence__init(seq as *mut _, size)
1247            }
1248        }
1249        fn sequence_fini(seq: &mut rosidl_runtime_rs::Sequence<Self>) {
1250            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1251            unsafe {
1252                rcl_interfaces__srv__GetParameterTypes_Response__Sequence__fini(seq as *mut _)
1253            }
1254        }
1255        fn sequence_copy(
1256            in_seq: &rosidl_runtime_rs::Sequence<Self>,
1257            out_seq: &mut rosidl_runtime_rs::Sequence<Self>,
1258        ) -> bool {
1259            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1260            unsafe {
1261                rcl_interfaces__srv__GetParameterTypes_Response__Sequence__copy(
1262                    in_seq,
1263                    out_seq as *mut _,
1264                )
1265            }
1266        }
1267    }
1268
1269    impl rosidl_runtime_rs::Message for GetParameterTypes_Response {
1270        type RmwMsg = Self;
1271        fn into_rmw_message(
1272            msg_cow: std::borrow::Cow<'_, Self>,
1273        ) -> std::borrow::Cow<'_, Self::RmwMsg> {
1274            msg_cow
1275        }
1276        fn from_rmw_message(msg: Self::RmwMsg) -> Self {
1277            msg
1278        }
1279    }
1280
1281    impl rosidl_runtime_rs::RmwMessage for GetParameterTypes_Response
1282    where
1283        Self: Sized,
1284    {
1285        const TYPE_NAME: &'static str = "rcl_interfaces/srv/GetParameterTypes_Response";
1286        fn get_type_support() -> *const std::os::raw::c_void {
1287            // SAFETY: No preconditions for this function.
1288            unsafe {
1289                rosidl_typesupport_c__get_message_type_support_handle__rcl_interfaces__srv__GetParameterTypes_Response()
1290            }
1291        }
1292    }
1293
1294    #[link(name = "rcl_interfaces__rosidl_typesupport_c")]
1295    extern "C" {
1296        fn rosidl_typesupport_c__get_message_type_support_handle__rcl_interfaces__srv__ListParameters_Request(
1297        ) -> *const std::os::raw::c_void;
1298    }
1299
1300    #[link(name = "rcl_interfaces__rosidl_generator_c")]
1301    extern "C" {
1302        fn rcl_interfaces__srv__ListParameters_Request__init(
1303            msg: *mut ListParameters_Request,
1304        ) -> bool;
1305        fn rcl_interfaces__srv__ListParameters_Request__Sequence__init(
1306            seq: *mut rosidl_runtime_rs::Sequence<ListParameters_Request>,
1307            size: usize,
1308        ) -> bool;
1309        fn rcl_interfaces__srv__ListParameters_Request__Sequence__fini(
1310            seq: *mut rosidl_runtime_rs::Sequence<ListParameters_Request>,
1311        );
1312        fn rcl_interfaces__srv__ListParameters_Request__Sequence__copy(
1313            in_seq: &rosidl_runtime_rs::Sequence<ListParameters_Request>,
1314            out_seq: *mut rosidl_runtime_rs::Sequence<ListParameters_Request>,
1315        ) -> bool;
1316    }
1317
1318    // Corresponds to rcl_interfaces__srv__ListParameters_Request
1319    #[repr(C)]
1320    #[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
1321    #[derive(Clone, Debug, PartialEq, PartialOrd)]
1322    pub struct ListParameters_Request {
1323        pub prefixes: rosidl_runtime_rs::Sequence<rosidl_runtime_rs::String>,
1324        pub depth: u64,
1325    }
1326
1327    impl ListParameters_Request {
1328        pub const DEPTH_RECURSIVE: u64 = 0;
1329    }
1330
1331    impl Default for ListParameters_Request {
1332        fn default() -> Self {
1333            unsafe {
1334                let mut msg = std::mem::zeroed();
1335                if !rcl_interfaces__srv__ListParameters_Request__init(&mut msg as *mut _) {
1336                    panic!("Call to rcl_interfaces__srv__ListParameters_Request__init() failed");
1337                }
1338                msg
1339            }
1340        }
1341    }
1342
1343    impl rosidl_runtime_rs::SequenceAlloc for ListParameters_Request {
1344        fn sequence_init(seq: &mut rosidl_runtime_rs::Sequence<Self>, size: usize) -> bool {
1345            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1346            unsafe {
1347                rcl_interfaces__srv__ListParameters_Request__Sequence__init(seq as *mut _, size)
1348            }
1349        }
1350        fn sequence_fini(seq: &mut rosidl_runtime_rs::Sequence<Self>) {
1351            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1352            unsafe { rcl_interfaces__srv__ListParameters_Request__Sequence__fini(seq as *mut _) }
1353        }
1354        fn sequence_copy(
1355            in_seq: &rosidl_runtime_rs::Sequence<Self>,
1356            out_seq: &mut rosidl_runtime_rs::Sequence<Self>,
1357        ) -> bool {
1358            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1359            unsafe {
1360                rcl_interfaces__srv__ListParameters_Request__Sequence__copy(
1361                    in_seq,
1362                    out_seq as *mut _,
1363                )
1364            }
1365        }
1366    }
1367
1368    impl rosidl_runtime_rs::Message for ListParameters_Request {
1369        type RmwMsg = Self;
1370        fn into_rmw_message(
1371            msg_cow: std::borrow::Cow<'_, Self>,
1372        ) -> std::borrow::Cow<'_, Self::RmwMsg> {
1373            msg_cow
1374        }
1375        fn from_rmw_message(msg: Self::RmwMsg) -> Self {
1376            msg
1377        }
1378    }
1379
1380    impl rosidl_runtime_rs::RmwMessage for ListParameters_Request
1381    where
1382        Self: Sized,
1383    {
1384        const TYPE_NAME: &'static str = "rcl_interfaces/srv/ListParameters_Request";
1385        fn get_type_support() -> *const std::os::raw::c_void {
1386            // SAFETY: No preconditions for this function.
1387            unsafe {
1388                rosidl_typesupport_c__get_message_type_support_handle__rcl_interfaces__srv__ListParameters_Request()
1389            }
1390        }
1391    }
1392
1393    #[link(name = "rcl_interfaces__rosidl_typesupport_c")]
1394    extern "C" {
1395        fn rosidl_typesupport_c__get_message_type_support_handle__rcl_interfaces__srv__ListParameters_Response(
1396        ) -> *const std::os::raw::c_void;
1397    }
1398
1399    #[link(name = "rcl_interfaces__rosidl_generator_c")]
1400    extern "C" {
1401        fn rcl_interfaces__srv__ListParameters_Response__init(
1402            msg: *mut ListParameters_Response,
1403        ) -> bool;
1404        fn rcl_interfaces__srv__ListParameters_Response__Sequence__init(
1405            seq: *mut rosidl_runtime_rs::Sequence<ListParameters_Response>,
1406            size: usize,
1407        ) -> bool;
1408        fn rcl_interfaces__srv__ListParameters_Response__Sequence__fini(
1409            seq: *mut rosidl_runtime_rs::Sequence<ListParameters_Response>,
1410        );
1411        fn rcl_interfaces__srv__ListParameters_Response__Sequence__copy(
1412            in_seq: &rosidl_runtime_rs::Sequence<ListParameters_Response>,
1413            out_seq: *mut rosidl_runtime_rs::Sequence<ListParameters_Response>,
1414        ) -> bool;
1415    }
1416
1417    // Corresponds to rcl_interfaces__srv__ListParameters_Response
1418    #[repr(C)]
1419    #[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
1420    #[derive(Clone, Debug, PartialEq, PartialOrd)]
1421    pub struct ListParameters_Response {
1422        pub result: crate::vendor::rcl_interfaces::msg::rmw::ListParametersResult,
1423    }
1424
1425    impl Default for ListParameters_Response {
1426        fn default() -> Self {
1427            unsafe {
1428                let mut msg = std::mem::zeroed();
1429                if !rcl_interfaces__srv__ListParameters_Response__init(&mut msg as *mut _) {
1430                    panic!("Call to rcl_interfaces__srv__ListParameters_Response__init() failed");
1431                }
1432                msg
1433            }
1434        }
1435    }
1436
1437    impl rosidl_runtime_rs::SequenceAlloc for ListParameters_Response {
1438        fn sequence_init(seq: &mut rosidl_runtime_rs::Sequence<Self>, size: usize) -> bool {
1439            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1440            unsafe {
1441                rcl_interfaces__srv__ListParameters_Response__Sequence__init(seq as *mut _, size)
1442            }
1443        }
1444        fn sequence_fini(seq: &mut rosidl_runtime_rs::Sequence<Self>) {
1445            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1446            unsafe { rcl_interfaces__srv__ListParameters_Response__Sequence__fini(seq as *mut _) }
1447        }
1448        fn sequence_copy(
1449            in_seq: &rosidl_runtime_rs::Sequence<Self>,
1450            out_seq: &mut rosidl_runtime_rs::Sequence<Self>,
1451        ) -> bool {
1452            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1453            unsafe {
1454                rcl_interfaces__srv__ListParameters_Response__Sequence__copy(
1455                    in_seq,
1456                    out_seq as *mut _,
1457                )
1458            }
1459        }
1460    }
1461
1462    impl rosidl_runtime_rs::Message for ListParameters_Response {
1463        type RmwMsg = Self;
1464        fn into_rmw_message(
1465            msg_cow: std::borrow::Cow<'_, Self>,
1466        ) -> std::borrow::Cow<'_, Self::RmwMsg> {
1467            msg_cow
1468        }
1469        fn from_rmw_message(msg: Self::RmwMsg) -> Self {
1470            msg
1471        }
1472    }
1473
1474    impl rosidl_runtime_rs::RmwMessage for ListParameters_Response
1475    where
1476        Self: Sized,
1477    {
1478        const TYPE_NAME: &'static str = "rcl_interfaces/srv/ListParameters_Response";
1479        fn get_type_support() -> *const std::os::raw::c_void {
1480            // SAFETY: No preconditions for this function.
1481            unsafe {
1482                rosidl_typesupport_c__get_message_type_support_handle__rcl_interfaces__srv__ListParameters_Response()
1483            }
1484        }
1485    }
1486
1487    #[link(name = "rcl_interfaces__rosidl_typesupport_c")]
1488    extern "C" {
1489        fn rosidl_typesupport_c__get_message_type_support_handle__rcl_interfaces__srv__SetParametersAtomically_Request(
1490        ) -> *const std::os::raw::c_void;
1491    }
1492
1493    #[link(name = "rcl_interfaces__rosidl_generator_c")]
1494    extern "C" {
1495        fn rcl_interfaces__srv__SetParametersAtomically_Request__init(
1496            msg: *mut SetParametersAtomically_Request,
1497        ) -> bool;
1498        fn rcl_interfaces__srv__SetParametersAtomically_Request__Sequence__init(
1499            seq: *mut rosidl_runtime_rs::Sequence<SetParametersAtomically_Request>,
1500            size: usize,
1501        ) -> bool;
1502        fn rcl_interfaces__srv__SetParametersAtomically_Request__Sequence__fini(
1503            seq: *mut rosidl_runtime_rs::Sequence<SetParametersAtomically_Request>,
1504        );
1505        fn rcl_interfaces__srv__SetParametersAtomically_Request__Sequence__copy(
1506            in_seq: &rosidl_runtime_rs::Sequence<SetParametersAtomically_Request>,
1507            out_seq: *mut rosidl_runtime_rs::Sequence<SetParametersAtomically_Request>,
1508        ) -> bool;
1509    }
1510
1511    // Corresponds to rcl_interfaces__srv__SetParametersAtomically_Request
1512    #[repr(C)]
1513    #[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
1514    #[derive(Clone, Debug, PartialEq, PartialOrd)]
1515    pub struct SetParametersAtomically_Request {
1516        pub parameters:
1517            rosidl_runtime_rs::Sequence<crate::vendor::rcl_interfaces::msg::rmw::Parameter>,
1518    }
1519
1520    impl Default for SetParametersAtomically_Request {
1521        fn default() -> Self {
1522            unsafe {
1523                let mut msg = std::mem::zeroed();
1524                if !rcl_interfaces__srv__SetParametersAtomically_Request__init(&mut msg as *mut _) {
1525                    panic!("Call to rcl_interfaces__srv__SetParametersAtomically_Request__init() failed");
1526                }
1527                msg
1528            }
1529        }
1530    }
1531
1532    impl rosidl_runtime_rs::SequenceAlloc for SetParametersAtomically_Request {
1533        fn sequence_init(seq: &mut rosidl_runtime_rs::Sequence<Self>, size: usize) -> bool {
1534            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1535            unsafe {
1536                rcl_interfaces__srv__SetParametersAtomically_Request__Sequence__init(
1537                    seq as *mut _,
1538                    size,
1539                )
1540            }
1541        }
1542        fn sequence_fini(seq: &mut rosidl_runtime_rs::Sequence<Self>) {
1543            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1544            unsafe {
1545                rcl_interfaces__srv__SetParametersAtomically_Request__Sequence__fini(seq as *mut _)
1546            }
1547        }
1548        fn sequence_copy(
1549            in_seq: &rosidl_runtime_rs::Sequence<Self>,
1550            out_seq: &mut rosidl_runtime_rs::Sequence<Self>,
1551        ) -> bool {
1552            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1553            unsafe {
1554                rcl_interfaces__srv__SetParametersAtomically_Request__Sequence__copy(
1555                    in_seq,
1556                    out_seq as *mut _,
1557                )
1558            }
1559        }
1560    }
1561
1562    impl rosidl_runtime_rs::Message for SetParametersAtomically_Request {
1563        type RmwMsg = Self;
1564        fn into_rmw_message(
1565            msg_cow: std::borrow::Cow<'_, Self>,
1566        ) -> std::borrow::Cow<'_, Self::RmwMsg> {
1567            msg_cow
1568        }
1569        fn from_rmw_message(msg: Self::RmwMsg) -> Self {
1570            msg
1571        }
1572    }
1573
1574    impl rosidl_runtime_rs::RmwMessage for SetParametersAtomically_Request
1575    where
1576        Self: Sized,
1577    {
1578        const TYPE_NAME: &'static str = "rcl_interfaces/srv/SetParametersAtomically_Request";
1579        fn get_type_support() -> *const std::os::raw::c_void {
1580            // SAFETY: No preconditions for this function.
1581            unsafe {
1582                rosidl_typesupport_c__get_message_type_support_handle__rcl_interfaces__srv__SetParametersAtomically_Request()
1583            }
1584        }
1585    }
1586
1587    #[link(name = "rcl_interfaces__rosidl_typesupport_c")]
1588    extern "C" {
1589        fn rosidl_typesupport_c__get_message_type_support_handle__rcl_interfaces__srv__SetParametersAtomically_Response(
1590        ) -> *const std::os::raw::c_void;
1591    }
1592
1593    #[link(name = "rcl_interfaces__rosidl_generator_c")]
1594    extern "C" {
1595        fn rcl_interfaces__srv__SetParametersAtomically_Response__init(
1596            msg: *mut SetParametersAtomically_Response,
1597        ) -> bool;
1598        fn rcl_interfaces__srv__SetParametersAtomically_Response__Sequence__init(
1599            seq: *mut rosidl_runtime_rs::Sequence<SetParametersAtomically_Response>,
1600            size: usize,
1601        ) -> bool;
1602        fn rcl_interfaces__srv__SetParametersAtomically_Response__Sequence__fini(
1603            seq: *mut rosidl_runtime_rs::Sequence<SetParametersAtomically_Response>,
1604        );
1605        fn rcl_interfaces__srv__SetParametersAtomically_Response__Sequence__copy(
1606            in_seq: &rosidl_runtime_rs::Sequence<SetParametersAtomically_Response>,
1607            out_seq: *mut rosidl_runtime_rs::Sequence<SetParametersAtomically_Response>,
1608        ) -> bool;
1609    }
1610
1611    // Corresponds to rcl_interfaces__srv__SetParametersAtomically_Response
1612    #[repr(C)]
1613    #[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
1614    #[derive(Clone, Debug, PartialEq, PartialOrd)]
1615    pub struct SetParametersAtomically_Response {
1616        pub result: crate::vendor::rcl_interfaces::msg::rmw::SetParametersResult,
1617    }
1618
1619    impl Default for SetParametersAtomically_Response {
1620        fn default() -> Self {
1621            unsafe {
1622                let mut msg = std::mem::zeroed();
1623                if !rcl_interfaces__srv__SetParametersAtomically_Response__init(&mut msg as *mut _)
1624                {
1625                    panic!("Call to rcl_interfaces__srv__SetParametersAtomically_Response__init() failed");
1626                }
1627                msg
1628            }
1629        }
1630    }
1631
1632    impl rosidl_runtime_rs::SequenceAlloc for SetParametersAtomically_Response {
1633        fn sequence_init(seq: &mut rosidl_runtime_rs::Sequence<Self>, size: usize) -> bool {
1634            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1635            unsafe {
1636                rcl_interfaces__srv__SetParametersAtomically_Response__Sequence__init(
1637                    seq as *mut _,
1638                    size,
1639                )
1640            }
1641        }
1642        fn sequence_fini(seq: &mut rosidl_runtime_rs::Sequence<Self>) {
1643            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1644            unsafe {
1645                rcl_interfaces__srv__SetParametersAtomically_Response__Sequence__fini(seq as *mut _)
1646            }
1647        }
1648        fn sequence_copy(
1649            in_seq: &rosidl_runtime_rs::Sequence<Self>,
1650            out_seq: &mut rosidl_runtime_rs::Sequence<Self>,
1651        ) -> bool {
1652            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1653            unsafe {
1654                rcl_interfaces__srv__SetParametersAtomically_Response__Sequence__copy(
1655                    in_seq,
1656                    out_seq as *mut _,
1657                )
1658            }
1659        }
1660    }
1661
1662    impl rosidl_runtime_rs::Message for SetParametersAtomically_Response {
1663        type RmwMsg = Self;
1664        fn into_rmw_message(
1665            msg_cow: std::borrow::Cow<'_, Self>,
1666        ) -> std::borrow::Cow<'_, Self::RmwMsg> {
1667            msg_cow
1668        }
1669        fn from_rmw_message(msg: Self::RmwMsg) -> Self {
1670            msg
1671        }
1672    }
1673
1674    impl rosidl_runtime_rs::RmwMessage for SetParametersAtomically_Response
1675    where
1676        Self: Sized,
1677    {
1678        const TYPE_NAME: &'static str = "rcl_interfaces/srv/SetParametersAtomically_Response";
1679        fn get_type_support() -> *const std::os::raw::c_void {
1680            // SAFETY: No preconditions for this function.
1681            unsafe {
1682                rosidl_typesupport_c__get_message_type_support_handle__rcl_interfaces__srv__SetParametersAtomically_Response()
1683            }
1684        }
1685    }
1686
1687    #[link(name = "rcl_interfaces__rosidl_typesupport_c")]
1688    extern "C" {
1689        fn rosidl_typesupport_c__get_message_type_support_handle__rcl_interfaces__srv__SetParameters_Request(
1690        ) -> *const std::os::raw::c_void;
1691    }
1692
1693    #[link(name = "rcl_interfaces__rosidl_generator_c")]
1694    extern "C" {
1695        fn rcl_interfaces__srv__SetParameters_Request__init(
1696            msg: *mut SetParameters_Request,
1697        ) -> bool;
1698        fn rcl_interfaces__srv__SetParameters_Request__Sequence__init(
1699            seq: *mut rosidl_runtime_rs::Sequence<SetParameters_Request>,
1700            size: usize,
1701        ) -> bool;
1702        fn rcl_interfaces__srv__SetParameters_Request__Sequence__fini(
1703            seq: *mut rosidl_runtime_rs::Sequence<SetParameters_Request>,
1704        );
1705        fn rcl_interfaces__srv__SetParameters_Request__Sequence__copy(
1706            in_seq: &rosidl_runtime_rs::Sequence<SetParameters_Request>,
1707            out_seq: *mut rosidl_runtime_rs::Sequence<SetParameters_Request>,
1708        ) -> bool;
1709    }
1710
1711    // Corresponds to rcl_interfaces__srv__SetParameters_Request
1712    #[repr(C)]
1713    #[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
1714    #[derive(Clone, Debug, PartialEq, PartialOrd)]
1715    pub struct SetParameters_Request {
1716        pub parameters:
1717            rosidl_runtime_rs::Sequence<crate::vendor::rcl_interfaces::msg::rmw::Parameter>,
1718    }
1719
1720    impl Default for SetParameters_Request {
1721        fn default() -> Self {
1722            unsafe {
1723                let mut msg = std::mem::zeroed();
1724                if !rcl_interfaces__srv__SetParameters_Request__init(&mut msg as *mut _) {
1725                    panic!("Call to rcl_interfaces__srv__SetParameters_Request__init() failed");
1726                }
1727                msg
1728            }
1729        }
1730    }
1731
1732    impl rosidl_runtime_rs::SequenceAlloc for SetParameters_Request {
1733        fn sequence_init(seq: &mut rosidl_runtime_rs::Sequence<Self>, size: usize) -> bool {
1734            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1735            unsafe {
1736                rcl_interfaces__srv__SetParameters_Request__Sequence__init(seq as *mut _, size)
1737            }
1738        }
1739        fn sequence_fini(seq: &mut rosidl_runtime_rs::Sequence<Self>) {
1740            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1741            unsafe { rcl_interfaces__srv__SetParameters_Request__Sequence__fini(seq as *mut _) }
1742        }
1743        fn sequence_copy(
1744            in_seq: &rosidl_runtime_rs::Sequence<Self>,
1745            out_seq: &mut rosidl_runtime_rs::Sequence<Self>,
1746        ) -> bool {
1747            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1748            unsafe {
1749                rcl_interfaces__srv__SetParameters_Request__Sequence__copy(
1750                    in_seq,
1751                    out_seq as *mut _,
1752                )
1753            }
1754        }
1755    }
1756
1757    impl rosidl_runtime_rs::Message for SetParameters_Request {
1758        type RmwMsg = Self;
1759        fn into_rmw_message(
1760            msg_cow: std::borrow::Cow<'_, Self>,
1761        ) -> std::borrow::Cow<'_, Self::RmwMsg> {
1762            msg_cow
1763        }
1764        fn from_rmw_message(msg: Self::RmwMsg) -> Self {
1765            msg
1766        }
1767    }
1768
1769    impl rosidl_runtime_rs::RmwMessage for SetParameters_Request
1770    where
1771        Self: Sized,
1772    {
1773        const TYPE_NAME: &'static str = "rcl_interfaces/srv/SetParameters_Request";
1774        fn get_type_support() -> *const std::os::raw::c_void {
1775            // SAFETY: No preconditions for this function.
1776            unsafe {
1777                rosidl_typesupport_c__get_message_type_support_handle__rcl_interfaces__srv__SetParameters_Request()
1778            }
1779        }
1780    }
1781
1782    #[link(name = "rcl_interfaces__rosidl_typesupport_c")]
1783    extern "C" {
1784        fn rosidl_typesupport_c__get_message_type_support_handle__rcl_interfaces__srv__SetParameters_Response(
1785        ) -> *const std::os::raw::c_void;
1786    }
1787
1788    #[link(name = "rcl_interfaces__rosidl_generator_c")]
1789    extern "C" {
1790        fn rcl_interfaces__srv__SetParameters_Response__init(
1791            msg: *mut SetParameters_Response,
1792        ) -> bool;
1793        fn rcl_interfaces__srv__SetParameters_Response__Sequence__init(
1794            seq: *mut rosidl_runtime_rs::Sequence<SetParameters_Response>,
1795            size: usize,
1796        ) -> bool;
1797        fn rcl_interfaces__srv__SetParameters_Response__Sequence__fini(
1798            seq: *mut rosidl_runtime_rs::Sequence<SetParameters_Response>,
1799        );
1800        fn rcl_interfaces__srv__SetParameters_Response__Sequence__copy(
1801            in_seq: &rosidl_runtime_rs::Sequence<SetParameters_Response>,
1802            out_seq: *mut rosidl_runtime_rs::Sequence<SetParameters_Response>,
1803        ) -> bool;
1804    }
1805
1806    // Corresponds to rcl_interfaces__srv__SetParameters_Response
1807    #[repr(C)]
1808    #[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
1809    #[derive(Clone, Debug, PartialEq, PartialOrd)]
1810    pub struct SetParameters_Response {
1811        pub results: rosidl_runtime_rs::Sequence<
1812            crate::vendor::rcl_interfaces::msg::rmw::SetParametersResult,
1813        >,
1814    }
1815
1816    impl Default for SetParameters_Response {
1817        fn default() -> Self {
1818            unsafe {
1819                let mut msg = std::mem::zeroed();
1820                if !rcl_interfaces__srv__SetParameters_Response__init(&mut msg as *mut _) {
1821                    panic!("Call to rcl_interfaces__srv__SetParameters_Response__init() failed");
1822                }
1823                msg
1824            }
1825        }
1826    }
1827
1828    impl rosidl_runtime_rs::SequenceAlloc for SetParameters_Response {
1829        fn sequence_init(seq: &mut rosidl_runtime_rs::Sequence<Self>, size: usize) -> bool {
1830            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1831            unsafe {
1832                rcl_interfaces__srv__SetParameters_Response__Sequence__init(seq as *mut _, size)
1833            }
1834        }
1835        fn sequence_fini(seq: &mut rosidl_runtime_rs::Sequence<Self>) {
1836            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1837            unsafe { rcl_interfaces__srv__SetParameters_Response__Sequence__fini(seq as *mut _) }
1838        }
1839        fn sequence_copy(
1840            in_seq: &rosidl_runtime_rs::Sequence<Self>,
1841            out_seq: &mut rosidl_runtime_rs::Sequence<Self>,
1842        ) -> bool {
1843            // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized.
1844            unsafe {
1845                rcl_interfaces__srv__SetParameters_Response__Sequence__copy(
1846                    in_seq,
1847                    out_seq as *mut _,
1848                )
1849            }
1850        }
1851    }
1852
1853    impl rosidl_runtime_rs::Message for SetParameters_Response {
1854        type RmwMsg = Self;
1855        fn into_rmw_message(
1856            msg_cow: std::borrow::Cow<'_, Self>,
1857        ) -> std::borrow::Cow<'_, Self::RmwMsg> {
1858            msg_cow
1859        }
1860        fn from_rmw_message(msg: Self::RmwMsg) -> Self {
1861            msg
1862        }
1863    }
1864
1865    impl rosidl_runtime_rs::RmwMessage for SetParameters_Response
1866    where
1867        Self: Sized,
1868    {
1869        const TYPE_NAME: &'static str = "rcl_interfaces/srv/SetParameters_Response";
1870        fn get_type_support() -> *const std::os::raw::c_void {
1871            // SAFETY: No preconditions for this function.
1872            unsafe {
1873                rosidl_typesupport_c__get_message_type_support_handle__rcl_interfaces__srv__SetParameters_Response()
1874            }
1875        }
1876    }
1877
1878    #[link(name = "rcl_interfaces__rosidl_typesupport_c")]
1879    extern "C" {
1880        fn rosidl_typesupport_c__get_service_type_support_handle__rcl_interfaces__srv__DescribeParameters(
1881        ) -> *const std::os::raw::c_void;
1882    }
1883
1884    // Corresponds to rcl_interfaces__srv__DescribeParameters
1885    pub struct DescribeParameters;
1886
1887    impl rosidl_runtime_rs::Service for DescribeParameters {
1888        type Request = crate::vendor::rcl_interfaces::srv::rmw::DescribeParameters_Request;
1889        type Response = crate::vendor::rcl_interfaces::srv::rmw::DescribeParameters_Response;
1890
1891        fn get_type_support() -> *const std::os::raw::c_void {
1892            // SAFETY: No preconditions for this function.
1893            unsafe {
1894                rosidl_typesupport_c__get_service_type_support_handle__rcl_interfaces__srv__DescribeParameters()
1895            }
1896        }
1897    }
1898
1899    #[link(name = "rcl_interfaces__rosidl_typesupport_c")]
1900    extern "C" {
1901        fn rosidl_typesupport_c__get_service_type_support_handle__rcl_interfaces__srv__GetParameters(
1902        ) -> *const std::os::raw::c_void;
1903    }
1904
1905    // Corresponds to rcl_interfaces__srv__GetParameters
1906    pub struct GetParameters;
1907
1908    impl rosidl_runtime_rs::Service for GetParameters {
1909        type Request = crate::vendor::rcl_interfaces::srv::rmw::GetParameters_Request;
1910        type Response = crate::vendor::rcl_interfaces::srv::rmw::GetParameters_Response;
1911
1912        fn get_type_support() -> *const std::os::raw::c_void {
1913            // SAFETY: No preconditions for this function.
1914            unsafe {
1915                rosidl_typesupport_c__get_service_type_support_handle__rcl_interfaces__srv__GetParameters()
1916            }
1917        }
1918    }
1919
1920    #[link(name = "rcl_interfaces__rosidl_typesupport_c")]
1921    extern "C" {
1922        fn rosidl_typesupport_c__get_service_type_support_handle__rcl_interfaces__srv__GetParameterTypes(
1923        ) -> *const std::os::raw::c_void;
1924    }
1925
1926    // Corresponds to rcl_interfaces__srv__GetParameterTypes
1927    pub struct GetParameterTypes;
1928
1929    impl rosidl_runtime_rs::Service for GetParameterTypes {
1930        type Request = crate::vendor::rcl_interfaces::srv::rmw::GetParameterTypes_Request;
1931        type Response = crate::vendor::rcl_interfaces::srv::rmw::GetParameterTypes_Response;
1932
1933        fn get_type_support() -> *const std::os::raw::c_void {
1934            // SAFETY: No preconditions for this function.
1935            unsafe {
1936                rosidl_typesupport_c__get_service_type_support_handle__rcl_interfaces__srv__GetParameterTypes()
1937            }
1938        }
1939    }
1940
1941    #[link(name = "rcl_interfaces__rosidl_typesupport_c")]
1942    extern "C" {
1943        fn rosidl_typesupport_c__get_service_type_support_handle__rcl_interfaces__srv__ListParameters(
1944        ) -> *const std::os::raw::c_void;
1945    }
1946
1947    // Corresponds to rcl_interfaces__srv__ListParameters
1948    pub struct ListParameters;
1949
1950    impl rosidl_runtime_rs::Service for ListParameters {
1951        type Request = crate::vendor::rcl_interfaces::srv::rmw::ListParameters_Request;
1952        type Response = crate::vendor::rcl_interfaces::srv::rmw::ListParameters_Response;
1953
1954        fn get_type_support() -> *const std::os::raw::c_void {
1955            // SAFETY: No preconditions for this function.
1956            unsafe {
1957                rosidl_typesupport_c__get_service_type_support_handle__rcl_interfaces__srv__ListParameters()
1958            }
1959        }
1960    }
1961
1962    #[link(name = "rcl_interfaces__rosidl_typesupport_c")]
1963    extern "C" {
1964        fn rosidl_typesupport_c__get_service_type_support_handle__rcl_interfaces__srv__SetParametersAtomically(
1965        ) -> *const std::os::raw::c_void;
1966    }
1967
1968    // Corresponds to rcl_interfaces__srv__SetParametersAtomically
1969    pub struct SetParametersAtomically;
1970
1971    impl rosidl_runtime_rs::Service for SetParametersAtomically {
1972        type Request = crate::vendor::rcl_interfaces::srv::rmw::SetParametersAtomically_Request;
1973        type Response = crate::vendor::rcl_interfaces::srv::rmw::SetParametersAtomically_Response;
1974
1975        fn get_type_support() -> *const std::os::raw::c_void {
1976            // SAFETY: No preconditions for this function.
1977            unsafe {
1978                rosidl_typesupport_c__get_service_type_support_handle__rcl_interfaces__srv__SetParametersAtomically()
1979            }
1980        }
1981    }
1982
1983    #[link(name = "rcl_interfaces__rosidl_typesupport_c")]
1984    extern "C" {
1985        fn rosidl_typesupport_c__get_service_type_support_handle__rcl_interfaces__srv__SetParameters(
1986        ) -> *const std::os::raw::c_void;
1987    }
1988
1989    // Corresponds to rcl_interfaces__srv__SetParameters
1990    pub struct SetParameters;
1991
1992    impl rosidl_runtime_rs::Service for SetParameters {
1993        type Request = crate::vendor::rcl_interfaces::srv::rmw::SetParameters_Request;
1994        type Response = crate::vendor::rcl_interfaces::srv::rmw::SetParameters_Response;
1995
1996        fn get_type_support() -> *const std::os::raw::c_void {
1997            // SAFETY: No preconditions for this function.
1998            unsafe {
1999                rosidl_typesupport_c__get_service_type_support_handle__rcl_interfaces__srv__SetParameters()
2000            }
2001        }
2002    }
2003} // mod rmw