1use serde::{Deserialize, Serialize};
2
3
4#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5pub struct ArraysRequest {
6 pub bool_values: [bool; 3],
7 pub byte_values: [u8; 3],
8 pub char_values: [i8; 3],
9 pub float32_values: [f32; 3],
10 pub float64_values: [f64; 3],
11 pub int8_values: [i8; 3],
12 pub uint8_values: [u8; 3],
13 pub int16_values: [i16; 3],
14 pub uint16_values: [u16; 3],
15 pub int32_values: [i32; 3],
16 pub uint32_values: [u32; 3],
17 pub int64_values: [i64; 3],
18 pub uint64_values: [u64; 3],
19 pub string_values: [::std::string::String; 3],
20 pub basic_types_values: [crate::test_interface_files::msg::BasicTypes; 3],
21 pub constants_values: [crate::test_interface_files::msg::Constants; 3],
22 pub defaults_values: [crate::test_interface_files::msg::Defaults; 3],
23 pub bool_values_default: [bool; 3], pub byte_values_default: [u8; 3], pub char_values_default: [i8; 3], pub float32_values_default: [f32; 3], pub float64_values_default: [f64; 3], pub int8_values_default: [i8; 3], pub uint8_values_default: [u8; 3], pub int16_values_default: [i16; 3], pub uint16_values_default: [u16; 3], pub int32_values_default: [i32; 3], pub uint32_values_default: [u32; 3], pub int64_values_default: [i64; 3], pub uint64_values_default: [u64; 3], pub string_values_default: [::std::string::String; 3], }
38
39impl Default for ArraysRequest {
40 fn default() -> Self {
41 ArraysRequest {
42 bool_values: [false; 3],
43 byte_values: [0; 3],
44 char_values: [0; 3],
45 float32_values: [0.0; 3],
46 float64_values: [0.0; 3],
47 int8_values: [0; 3],
48 uint8_values: [0; 3],
49 int16_values: [0; 3],
50 uint16_values: [0; 3],
51 int32_values: [0; 3],
52 uint32_values: [0; 3],
53 int64_values: [0; 3],
54 uint64_values: [0; 3],
55 string_values: core::array::from_fn(|_| ::std::string::String::default()),
56 basic_types_values: core::array::from_fn(|_| crate::test_interface_files::msg::BasicTypes::default()),
57 constants_values: core::array::from_fn(|_| crate::test_interface_files::msg::Constants::default()),
58 defaults_values: core::array::from_fn(|_| crate::test_interface_files::msg::Defaults::default()),
59 bool_values_default: [false, true, false],
60 byte_values_default: [0, 1, 255],
61 char_values_default: [0, 1, 127],
62 float32_values_default: [1.125, 0.0, -1.125],
63 float64_values_default: [3.1415, 0.0, -3.1415],
64 int8_values_default: [0, 127, -128],
65 uint8_values_default: [0, 1, 255],
66 int16_values_default: [0, 32767, -32768],
67 uint16_values_default: [0, 1, 65535],
68 int32_values_default: [0, 2147483647, -2147483648],
69 uint32_values_default: [0, 1, 4294967295],
70 int64_values_default: [0, 9223372036854775807, -9223372036854775808],
71 uint64_values_default: [0, 1, 18446744073709551615],
72 string_values_default: [::std::string::String::from(""), ::std::string::String::from("max value"), ::std::string::String::from("min value")],
73 }
74 }
75}
76
77impl ros2_client::Message for ArraysRequest {}
78
79
80
81#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
82pub struct ArraysResponse {
83 pub bool_values: [bool; 3],
84 pub byte_values: [u8; 3],
85 pub char_values: [i8; 3],
86 pub float32_values: [f32; 3],
87 pub float64_values: [f64; 3],
88 pub int8_values: [i8; 3],
89 pub uint8_values: [u8; 3],
90 pub int16_values: [i16; 3],
91 pub uint16_values: [u16; 3],
92 pub int32_values: [i32; 3],
93 pub uint32_values: [u32; 3],
94 pub int64_values: [i64; 3],
95 pub uint64_values: [u64; 3],
96 pub string_values: [::std::string::String; 3],
97 pub basic_types_values: [crate::test_interface_files::msg::BasicTypes; 3],
98 pub constants_values: [crate::test_interface_files::msg::Constants; 3],
99 pub defaults_values: [crate::test_interface_files::msg::Defaults; 3],
100 pub bool_values_default: [bool; 3], pub byte_values_default: [u8; 3], pub char_values_default: [i8; 3], pub float32_values_default: [f32; 3], pub float64_values_default: [f64; 3], pub int8_values_default: [i8; 3], pub uint8_values_default: [u8; 3], pub int16_values_default: [i16; 3], pub uint16_values_default: [u16; 3], pub int32_values_default: [i32; 3], pub uint32_values_default: [u32; 3], pub int64_values_default: [i64; 3], pub uint64_values_default: [u64; 3], pub string_values_default: [::std::string::String; 3], }
115
116impl Default for ArraysResponse {
117 fn default() -> Self {
118 ArraysResponse {
119 bool_values: [false; 3],
120 byte_values: [0; 3],
121 char_values: [0; 3],
122 float32_values: [0.0; 3],
123 float64_values: [0.0; 3],
124 int8_values: [0; 3],
125 uint8_values: [0; 3],
126 int16_values: [0; 3],
127 uint16_values: [0; 3],
128 int32_values: [0; 3],
129 uint32_values: [0; 3],
130 int64_values: [0; 3],
131 uint64_values: [0; 3],
132 string_values: core::array::from_fn(|_| ::std::string::String::default()),
133 basic_types_values: core::array::from_fn(|_| crate::test_interface_files::msg::BasicTypes::default()),
134 constants_values: core::array::from_fn(|_| crate::test_interface_files::msg::Constants::default()),
135 defaults_values: core::array::from_fn(|_| crate::test_interface_files::msg::Defaults::default()),
136 bool_values_default: [false, true, false],
137 byte_values_default: [0, 1, 255],
138 char_values_default: [0, 1, 127],
139 float32_values_default: [1.125, 0.0, -1.125],
140 float64_values_default: [3.1415, 0.0, -3.1415],
141 int8_values_default: [0, 127, -128],
142 uint8_values_default: [0, 1, 255],
143 int16_values_default: [0, 32767, -32768],
144 uint16_values_default: [0, 1, 65535],
145 int32_values_default: [0, 2147483647, -2147483648],
146 uint32_values_default: [0, 1, 4294967295],
147 int64_values_default: [0, 9223372036854775807, -9223372036854775808],
148 uint64_values_default: [0, 1, 18446744073709551615],
149 string_values_default: [::std::string::String::from(""), ::std::string::String::from("max value"), ::std::string::String::from("min value")],
150 }
151 }
152}
153
154impl ros2_client::Message for ArraysResponse {}
155
156
157pub struct Arrays;
158impl ros2_client::Service for Arrays {
159 type Request = ArraysRequest;
160 type Response = ArraysResponse;
161
162 fn request_type_name(&self) -> &str { "ArraysRequest" }
163 fn response_type_name(&self) -> &str { "ArraysResponse" }
164}