fidl_cf_sc_internal_ns3config__common/
fidl_cf_sc_internal_ns3config__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)]
12pub struct Config {
13    pub debug_logs: bool,
14    pub num_threads: u8,
15    pub opaque_iids: bool,
16    pub sampled_stats_enabled: bool,
17    pub suspend_enabled: bool,
18}
19
20impl fidl::Persistable for Config {}
21
22mod internal {
23    use super::*;
24
25    impl fidl::encoding::ValueTypeMarker for Config {
26        type Borrowed<'a> = &'a Self;
27        fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
28            value
29        }
30    }
31
32    unsafe impl fidl::encoding::TypeMarker for Config {
33        type Owned = Self;
34
35        #[inline(always)]
36        fn inline_align(_context: fidl::encoding::Context) -> usize {
37            1
38        }
39
40        #[inline(always)]
41        fn inline_size(_context: fidl::encoding::Context) -> usize {
42            5
43        }
44    }
45
46    unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Config, D> for &Config {
47        #[inline]
48        unsafe fn encode(
49            self,
50            encoder: &mut fidl::encoding::Encoder<'_, D>,
51            offset: usize,
52            _depth: fidl::encoding::Depth,
53        ) -> fidl::Result<()> {
54            encoder.debug_check_bounds::<Config>(offset);
55            // Delegate to tuple encoding.
56            fidl::encoding::Encode::<Config, D>::encode(
57                (
58                    <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.debug_logs),
59                    <u8 as fidl::encoding::ValueTypeMarker>::borrow(&self.num_threads),
60                    <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.opaque_iids),
61                    <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.sampled_stats_enabled),
62                    <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.suspend_enabled),
63                ),
64                encoder,
65                offset,
66                _depth,
67            )
68        }
69    }
70    unsafe impl<
71        D: fidl::encoding::ResourceDialect,
72        T0: fidl::encoding::Encode<bool, D>,
73        T1: fidl::encoding::Encode<u8, D>,
74        T2: fidl::encoding::Encode<bool, D>,
75        T3: fidl::encoding::Encode<bool, D>,
76        T4: fidl::encoding::Encode<bool, D>,
77    > fidl::encoding::Encode<Config, D> for (T0, T1, T2, T3, T4)
78    {
79        #[inline]
80        unsafe fn encode(
81            self,
82            encoder: &mut fidl::encoding::Encoder<'_, D>,
83            offset: usize,
84            depth: fidl::encoding::Depth,
85        ) -> fidl::Result<()> {
86            encoder.debug_check_bounds::<Config>(offset);
87            // Zero out padding regions. There's no need to apply masks
88            // because the unmasked parts will be overwritten by fields.
89            // Write the fields.
90            self.0.encode(encoder, offset + 0, depth)?;
91            self.1.encode(encoder, offset + 1, depth)?;
92            self.2.encode(encoder, offset + 2, depth)?;
93            self.3.encode(encoder, offset + 3, depth)?;
94            self.4.encode(encoder, offset + 4, depth)?;
95            Ok(())
96        }
97    }
98
99    impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Config {
100        #[inline(always)]
101        fn new_empty() -> Self {
102            Self {
103                debug_logs: fidl::new_empty!(bool, D),
104                num_threads: fidl::new_empty!(u8, D),
105                opaque_iids: fidl::new_empty!(bool, D),
106                sampled_stats_enabled: fidl::new_empty!(bool, D),
107                suspend_enabled: fidl::new_empty!(bool, D),
108            }
109        }
110
111        #[inline]
112        unsafe fn decode(
113            &mut self,
114            decoder: &mut fidl::encoding::Decoder<'_, D>,
115            offset: usize,
116            _depth: fidl::encoding::Depth,
117        ) -> fidl::Result<()> {
118            decoder.debug_check_bounds::<Self>(offset);
119            // Verify that padding bytes are zero.
120            fidl::decode!(bool, D, &mut self.debug_logs, decoder, offset + 0, _depth)?;
121            fidl::decode!(u8, D, &mut self.num_threads, decoder, offset + 1, _depth)?;
122            fidl::decode!(bool, D, &mut self.opaque_iids, decoder, offset + 2, _depth)?;
123            fidl::decode!(bool, D, &mut self.sampled_stats_enabled, decoder, offset + 3, _depth)?;
124            fidl::decode!(bool, D, &mut self.suspend_enabled, decoder, offset + 4, _depth)?;
125            Ok(())
126        }
127    }
128}