fidl_fuchsia_examples_inspect__common/
fidl_fuchsia_examples_inspect__common.rs

1// WARNING: This file is machine generated by fidlgen.
2
3#![warn(clippy::all)]
4#![allow(unused_parens, unused_mut, unused_imports, nonstandard_style)]
5
6use bitflags::bitflags;
7use fidl::encoding::{MessageBufFor, ProxyChannelBox, ResourceDialect};
8use futures::future::{self, MaybeDone, TryFutureExt};
9use zx_status;
10
11#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
12#[repr(C)]
13pub struct FizzBuzzExecuteRequest {
14    pub count: u32,
15}
16
17impl fidl::Persistable for FizzBuzzExecuteRequest {}
18
19#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
20pub struct FizzBuzzExecuteResponse {
21    pub response: String,
22}
23
24impl fidl::Persistable for FizzBuzzExecuteResponse {}
25
26#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
27pub struct ReverserReverseRequest {
28    pub input: String,
29}
30
31impl fidl::Persistable for ReverserReverseRequest {}
32
33#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
34pub struct ReverserReverseResponse {
35    pub response: String,
36}
37
38impl fidl::Persistable for ReverserReverseResponse {}
39
40pub mod fizz_buzz_ordinals {
41    pub const EXECUTE: u64 = 0x207cbeb002df3833;
42}
43
44pub mod reverser_ordinals {
45    pub const REVERSE: u64 = 0x481eccb3af87ff3e;
46}
47
48mod internal {
49    use super::*;
50
51    impl fidl::encoding::ValueTypeMarker for FizzBuzzExecuteRequest {
52        type Borrowed<'a> = &'a Self;
53        fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
54            value
55        }
56    }
57
58    unsafe impl fidl::encoding::TypeMarker for FizzBuzzExecuteRequest {
59        type Owned = Self;
60
61        #[inline(always)]
62        fn inline_align(_context: fidl::encoding::Context) -> usize {
63            4
64        }
65
66        #[inline(always)]
67        fn inline_size(_context: fidl::encoding::Context) -> usize {
68            4
69        }
70        #[inline(always)]
71        fn encode_is_copy() -> bool {
72            true
73        }
74
75        #[inline(always)]
76        fn decode_is_copy() -> bool {
77            true
78        }
79    }
80
81    unsafe impl<D: fidl::encoding::ResourceDialect>
82        fidl::encoding::Encode<FizzBuzzExecuteRequest, D> for &FizzBuzzExecuteRequest
83    {
84        #[inline]
85        unsafe fn encode(
86            self,
87            encoder: &mut fidl::encoding::Encoder<'_, D>,
88            offset: usize,
89            _depth: fidl::encoding::Depth,
90        ) -> fidl::Result<()> {
91            encoder.debug_check_bounds::<FizzBuzzExecuteRequest>(offset);
92            unsafe {
93                // Copy the object into the buffer.
94                let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
95                (buf_ptr as *mut FizzBuzzExecuteRequest)
96                    .write_unaligned((self as *const FizzBuzzExecuteRequest).read());
97                // Zero out padding regions. Unlike `fidl_struct_impl_noncopy!`, this must be
98                // done second because the memcpy will write garbage to these bytes.
99            }
100            Ok(())
101        }
102    }
103    unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u32, D>>
104        fidl::encoding::Encode<FizzBuzzExecuteRequest, D> for (T0,)
105    {
106        #[inline]
107        unsafe fn encode(
108            self,
109            encoder: &mut fidl::encoding::Encoder<'_, D>,
110            offset: usize,
111            depth: fidl::encoding::Depth,
112        ) -> fidl::Result<()> {
113            encoder.debug_check_bounds::<FizzBuzzExecuteRequest>(offset);
114            // Zero out padding regions. There's no need to apply masks
115            // because the unmasked parts will be overwritten by fields.
116            // Write the fields.
117            self.0.encode(encoder, offset + 0, depth)?;
118            Ok(())
119        }
120    }
121
122    impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
123        for FizzBuzzExecuteRequest
124    {
125        #[inline(always)]
126        fn new_empty() -> Self {
127            Self { count: fidl::new_empty!(u32, D) }
128        }
129
130        #[inline]
131        unsafe fn decode(
132            &mut self,
133            decoder: &mut fidl::encoding::Decoder<'_, D>,
134            offset: usize,
135            _depth: fidl::encoding::Depth,
136        ) -> fidl::Result<()> {
137            decoder.debug_check_bounds::<Self>(offset);
138            let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
139            // Verify that padding bytes are zero.
140            // Copy from the buffer into the object.
141            unsafe {
142                std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
143            }
144            Ok(())
145        }
146    }
147
148    impl fidl::encoding::ValueTypeMarker for FizzBuzzExecuteResponse {
149        type Borrowed<'a> = &'a Self;
150        fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
151            value
152        }
153    }
154
155    unsafe impl fidl::encoding::TypeMarker for FizzBuzzExecuteResponse {
156        type Owned = Self;
157
158        #[inline(always)]
159        fn inline_align(_context: fidl::encoding::Context) -> usize {
160            8
161        }
162
163        #[inline(always)]
164        fn inline_size(_context: fidl::encoding::Context) -> usize {
165            16
166        }
167    }
168
169    unsafe impl<D: fidl::encoding::ResourceDialect>
170        fidl::encoding::Encode<FizzBuzzExecuteResponse, D> for &FizzBuzzExecuteResponse
171    {
172        #[inline]
173        unsafe fn encode(
174            self,
175            encoder: &mut fidl::encoding::Encoder<'_, D>,
176            offset: usize,
177            _depth: fidl::encoding::Depth,
178        ) -> fidl::Result<()> {
179            encoder.debug_check_bounds::<FizzBuzzExecuteResponse>(offset);
180            // Delegate to tuple encoding.
181            fidl::encoding::Encode::<FizzBuzzExecuteResponse, D>::encode(
182                (<fidl::encoding::BoundedString<1024> as fidl::encoding::ValueTypeMarker>::borrow(
183                    &self.response,
184                ),),
185                encoder,
186                offset,
187                _depth,
188            )
189        }
190    }
191    unsafe impl<
192            D: fidl::encoding::ResourceDialect,
193            T0: fidl::encoding::Encode<fidl::encoding::BoundedString<1024>, D>,
194        > fidl::encoding::Encode<FizzBuzzExecuteResponse, D> for (T0,)
195    {
196        #[inline]
197        unsafe fn encode(
198            self,
199            encoder: &mut fidl::encoding::Encoder<'_, D>,
200            offset: usize,
201            depth: fidl::encoding::Depth,
202        ) -> fidl::Result<()> {
203            encoder.debug_check_bounds::<FizzBuzzExecuteResponse>(offset);
204            // Zero out padding regions. There's no need to apply masks
205            // because the unmasked parts will be overwritten by fields.
206            // Write the fields.
207            self.0.encode(encoder, offset + 0, depth)?;
208            Ok(())
209        }
210    }
211
212    impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
213        for FizzBuzzExecuteResponse
214    {
215        #[inline(always)]
216        fn new_empty() -> Self {
217            Self { response: fidl::new_empty!(fidl::encoding::BoundedString<1024>, D) }
218        }
219
220        #[inline]
221        unsafe fn decode(
222            &mut self,
223            decoder: &mut fidl::encoding::Decoder<'_, D>,
224            offset: usize,
225            _depth: fidl::encoding::Depth,
226        ) -> fidl::Result<()> {
227            decoder.debug_check_bounds::<Self>(offset);
228            // Verify that padding bytes are zero.
229            fidl::decode!(
230                fidl::encoding::BoundedString<1024>,
231                D,
232                &mut self.response,
233                decoder,
234                offset + 0,
235                _depth
236            )?;
237            Ok(())
238        }
239    }
240
241    impl fidl::encoding::ValueTypeMarker for ReverserReverseRequest {
242        type Borrowed<'a> = &'a Self;
243        fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
244            value
245        }
246    }
247
248    unsafe impl fidl::encoding::TypeMarker for ReverserReverseRequest {
249        type Owned = Self;
250
251        #[inline(always)]
252        fn inline_align(_context: fidl::encoding::Context) -> usize {
253            8
254        }
255
256        #[inline(always)]
257        fn inline_size(_context: fidl::encoding::Context) -> usize {
258            16
259        }
260    }
261
262    unsafe impl<D: fidl::encoding::ResourceDialect>
263        fidl::encoding::Encode<ReverserReverseRequest, D> for &ReverserReverseRequest
264    {
265        #[inline]
266        unsafe fn encode(
267            self,
268            encoder: &mut fidl::encoding::Encoder<'_, D>,
269            offset: usize,
270            _depth: fidl::encoding::Depth,
271        ) -> fidl::Result<()> {
272            encoder.debug_check_bounds::<ReverserReverseRequest>(offset);
273            // Delegate to tuple encoding.
274            fidl::encoding::Encode::<ReverserReverseRequest, D>::encode(
275                (<fidl::encoding::BoundedString<1024> as fidl::encoding::ValueTypeMarker>::borrow(
276                    &self.input,
277                ),),
278                encoder,
279                offset,
280                _depth,
281            )
282        }
283    }
284    unsafe impl<
285            D: fidl::encoding::ResourceDialect,
286            T0: fidl::encoding::Encode<fidl::encoding::BoundedString<1024>, D>,
287        > fidl::encoding::Encode<ReverserReverseRequest, D> for (T0,)
288    {
289        #[inline]
290        unsafe fn encode(
291            self,
292            encoder: &mut fidl::encoding::Encoder<'_, D>,
293            offset: usize,
294            depth: fidl::encoding::Depth,
295        ) -> fidl::Result<()> {
296            encoder.debug_check_bounds::<ReverserReverseRequest>(offset);
297            // Zero out padding regions. There's no need to apply masks
298            // because the unmasked parts will be overwritten by fields.
299            // Write the fields.
300            self.0.encode(encoder, offset + 0, depth)?;
301            Ok(())
302        }
303    }
304
305    impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
306        for ReverserReverseRequest
307    {
308        #[inline(always)]
309        fn new_empty() -> Self {
310            Self { input: fidl::new_empty!(fidl::encoding::BoundedString<1024>, D) }
311        }
312
313        #[inline]
314        unsafe fn decode(
315            &mut self,
316            decoder: &mut fidl::encoding::Decoder<'_, D>,
317            offset: usize,
318            _depth: fidl::encoding::Depth,
319        ) -> fidl::Result<()> {
320            decoder.debug_check_bounds::<Self>(offset);
321            // Verify that padding bytes are zero.
322            fidl::decode!(
323                fidl::encoding::BoundedString<1024>,
324                D,
325                &mut self.input,
326                decoder,
327                offset + 0,
328                _depth
329            )?;
330            Ok(())
331        }
332    }
333
334    impl fidl::encoding::ValueTypeMarker for ReverserReverseResponse {
335        type Borrowed<'a> = &'a Self;
336        fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
337            value
338        }
339    }
340
341    unsafe impl fidl::encoding::TypeMarker for ReverserReverseResponse {
342        type Owned = Self;
343
344        #[inline(always)]
345        fn inline_align(_context: fidl::encoding::Context) -> usize {
346            8
347        }
348
349        #[inline(always)]
350        fn inline_size(_context: fidl::encoding::Context) -> usize {
351            16
352        }
353    }
354
355    unsafe impl<D: fidl::encoding::ResourceDialect>
356        fidl::encoding::Encode<ReverserReverseResponse, D> for &ReverserReverseResponse
357    {
358        #[inline]
359        unsafe fn encode(
360            self,
361            encoder: &mut fidl::encoding::Encoder<'_, D>,
362            offset: usize,
363            _depth: fidl::encoding::Depth,
364        ) -> fidl::Result<()> {
365            encoder.debug_check_bounds::<ReverserReverseResponse>(offset);
366            // Delegate to tuple encoding.
367            fidl::encoding::Encode::<ReverserReverseResponse, D>::encode(
368                (<fidl::encoding::BoundedString<1024> as fidl::encoding::ValueTypeMarker>::borrow(
369                    &self.response,
370                ),),
371                encoder,
372                offset,
373                _depth,
374            )
375        }
376    }
377    unsafe impl<
378            D: fidl::encoding::ResourceDialect,
379            T0: fidl::encoding::Encode<fidl::encoding::BoundedString<1024>, D>,
380        > fidl::encoding::Encode<ReverserReverseResponse, D> for (T0,)
381    {
382        #[inline]
383        unsafe fn encode(
384            self,
385            encoder: &mut fidl::encoding::Encoder<'_, D>,
386            offset: usize,
387            depth: fidl::encoding::Depth,
388        ) -> fidl::Result<()> {
389            encoder.debug_check_bounds::<ReverserReverseResponse>(offset);
390            // Zero out padding regions. There's no need to apply masks
391            // because the unmasked parts will be overwritten by fields.
392            // Write the fields.
393            self.0.encode(encoder, offset + 0, depth)?;
394            Ok(())
395        }
396    }
397
398    impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
399        for ReverserReverseResponse
400    {
401        #[inline(always)]
402        fn new_empty() -> Self {
403            Self { response: fidl::new_empty!(fidl::encoding::BoundedString<1024>, D) }
404        }
405
406        #[inline]
407        unsafe fn decode(
408            &mut self,
409            decoder: &mut fidl::encoding::Decoder<'_, D>,
410            offset: usize,
411            _depth: fidl::encoding::Depth,
412        ) -> fidl::Result<()> {
413            decoder.debug_check_bounds::<Self>(offset);
414            // Verify that padding bytes are zero.
415            fidl::decode!(
416                fidl::encoding::BoundedString<1024>,
417                D,
418                &mut self.response,
419                decoder,
420                offset + 0,
421                _depth
422            )?;
423            Ok(())
424        }
425    }
426}