Skip to main content

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