Skip to main content

fidl_cf_sc_internal_virtconconfig__common/
fidl_cf_sc_internal_virtconconfig__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, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
12pub struct Config {
13    pub buffer_count: u32,
14    pub color_scheme: String,
15    pub disable: bool,
16    pub display_rotation: u32,
17    pub dpi: Vec<u32>,
18    pub font_size: String,
19    pub keep_log_visible: bool,
20    pub key_map: String,
21    pub keyrepeat: bool,
22    pub rounded_corners: bool,
23    pub scrollback_rows: u32,
24    pub show_logo: bool,
25}
26
27impl fidl::Persistable for Config {}
28
29mod internal {
30    use super::*;
31
32    impl fidl::encoding::ValueTypeMarker for Config {
33        type Borrowed<'a> = &'a Self;
34        fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
35            value
36        }
37    }
38
39    unsafe impl fidl::encoding::TypeMarker for Config {
40        type Owned = Self;
41
42        #[inline(always)]
43        fn inline_align(_context: fidl::encoding::Context) -> usize {
44            8
45        }
46
47        #[inline(always)]
48        fn inline_size(_context: fidl::encoding::Context) -> usize {
49            104
50        }
51    }
52
53    unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Config, D> for &Config {
54        #[inline]
55        unsafe fn encode(
56            self,
57            encoder: &mut fidl::encoding::Encoder<'_, D>,
58            offset: usize,
59            _depth: fidl::encoding::Depth,
60        ) -> fidl::Result<()> {
61            encoder.debug_check_bounds::<Config>(offset);
62            // Delegate to tuple encoding.
63            fidl::encoding::Encode::<Config, D>::encode(
64                (
65                    <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.buffer_count),
66                    <fidl::encoding::BoundedString<20> as fidl::encoding::ValueTypeMarker>::borrow(
67                        &self.color_scheme,
68                    ),
69                    <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.disable),
70                    <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.display_rotation),
71                    <fidl::encoding::Vector<u32, 10> as fidl::encoding::ValueTypeMarker>::borrow(
72                        &self.dpi,
73                    ),
74                    <fidl::encoding::BoundedString<10> as fidl::encoding::ValueTypeMarker>::borrow(
75                        &self.font_size,
76                    ),
77                    <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.keep_log_visible),
78                    <fidl::encoding::BoundedString<10> as fidl::encoding::ValueTypeMarker>::borrow(
79                        &self.key_map,
80                    ),
81                    <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.keyrepeat),
82                    <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.rounded_corners),
83                    <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.scrollback_rows),
84                    <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.show_logo),
85                ),
86                encoder,
87                offset,
88                _depth,
89            )
90        }
91    }
92    unsafe impl<
93        D: fidl::encoding::ResourceDialect,
94        T0: fidl::encoding::Encode<u32, D>,
95        T1: fidl::encoding::Encode<fidl::encoding::BoundedString<20>, D>,
96        T2: fidl::encoding::Encode<bool, D>,
97        T3: fidl::encoding::Encode<u32, D>,
98        T4: fidl::encoding::Encode<fidl::encoding::Vector<u32, 10>, D>,
99        T5: fidl::encoding::Encode<fidl::encoding::BoundedString<10>, D>,
100        T6: fidl::encoding::Encode<bool, D>,
101        T7: fidl::encoding::Encode<fidl::encoding::BoundedString<10>, D>,
102        T8: fidl::encoding::Encode<bool, D>,
103        T9: fidl::encoding::Encode<bool, D>,
104        T10: fidl::encoding::Encode<u32, D>,
105        T11: fidl::encoding::Encode<bool, D>,
106    > fidl::encoding::Encode<Config, D> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
107    {
108        #[inline]
109        unsafe fn encode(
110            self,
111            encoder: &mut fidl::encoding::Encoder<'_, D>,
112            offset: usize,
113            depth: fidl::encoding::Depth,
114        ) -> fidl::Result<()> {
115            encoder.debug_check_bounds::<Config>(offset);
116            // Zero out padding regions. There's no need to apply masks
117            // because the unmasked parts will be overwritten by fields.
118            unsafe {
119                let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
120                (ptr as *mut u64).write_unaligned(0);
121            }
122            unsafe {
123                let ptr = encoder.buf.as_mut_ptr().add(offset).offset(24);
124                (ptr as *mut u64).write_unaligned(0);
125            }
126            unsafe {
127                let ptr = encoder.buf.as_mut_ptr().add(offset).offset(64);
128                (ptr as *mut u64).write_unaligned(0);
129            }
130            unsafe {
131                let ptr = encoder.buf.as_mut_ptr().add(offset).offset(88);
132                (ptr as *mut u64).write_unaligned(0);
133            }
134            unsafe {
135                let ptr = encoder.buf.as_mut_ptr().add(offset).offset(96);
136                (ptr as *mut u64).write_unaligned(0);
137            }
138            // Write the fields.
139            self.0.encode(encoder, offset + 0, depth)?;
140            self.1.encode(encoder, offset + 8, depth)?;
141            self.2.encode(encoder, offset + 24, depth)?;
142            self.3.encode(encoder, offset + 28, depth)?;
143            self.4.encode(encoder, offset + 32, depth)?;
144            self.5.encode(encoder, offset + 48, depth)?;
145            self.6.encode(encoder, offset + 64, depth)?;
146            self.7.encode(encoder, offset + 72, depth)?;
147            self.8.encode(encoder, offset + 88, depth)?;
148            self.9.encode(encoder, offset + 89, depth)?;
149            self.10.encode(encoder, offset + 92, depth)?;
150            self.11.encode(encoder, offset + 96, depth)?;
151            Ok(())
152        }
153    }
154
155    impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Config {
156        #[inline(always)]
157        fn new_empty() -> Self {
158            Self {
159                buffer_count: fidl::new_empty!(u32, D),
160                color_scheme: fidl::new_empty!(fidl::encoding::BoundedString<20>, D),
161                disable: fidl::new_empty!(bool, D),
162                display_rotation: fidl::new_empty!(u32, D),
163                dpi: fidl::new_empty!(fidl::encoding::Vector<u32, 10>, D),
164                font_size: fidl::new_empty!(fidl::encoding::BoundedString<10>, D),
165                keep_log_visible: fidl::new_empty!(bool, D),
166                key_map: fidl::new_empty!(fidl::encoding::BoundedString<10>, D),
167                keyrepeat: fidl::new_empty!(bool, D),
168                rounded_corners: fidl::new_empty!(bool, D),
169                scrollback_rows: fidl::new_empty!(u32, D),
170                show_logo: fidl::new_empty!(bool, D),
171            }
172        }
173
174        #[inline]
175        unsafe fn decode(
176            &mut self,
177            decoder: &mut fidl::encoding::Decoder<'_, D>,
178            offset: usize,
179            _depth: fidl::encoding::Depth,
180        ) -> fidl::Result<()> {
181            decoder.debug_check_bounds::<Self>(offset);
182            // Verify that padding bytes are zero.
183            let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
184            let padval = unsafe { (ptr as *const u64).read_unaligned() };
185            let mask = 0xffffffff00000000u64;
186            let maskedval = padval & mask;
187            if maskedval != 0 {
188                return Err(fidl::Error::NonZeroPadding {
189                    padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
190                });
191            }
192            let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(24) };
193            let padval = unsafe { (ptr as *const u64).read_unaligned() };
194            let mask = 0xffffff00u64;
195            let maskedval = padval & mask;
196            if maskedval != 0 {
197                return Err(fidl::Error::NonZeroPadding {
198                    padding_start: offset + 24 + ((mask as u64).trailing_zeros() / 8) as usize,
199                });
200            }
201            let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(64) };
202            let padval = unsafe { (ptr as *const u64).read_unaligned() };
203            let mask = 0xffffffffffffff00u64;
204            let maskedval = padval & mask;
205            if maskedval != 0 {
206                return Err(fidl::Error::NonZeroPadding {
207                    padding_start: offset + 64 + ((mask as u64).trailing_zeros() / 8) as usize,
208                });
209            }
210            let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(88) };
211            let padval = unsafe { (ptr as *const u64).read_unaligned() };
212            let mask = 0xffff0000u64;
213            let maskedval = padval & mask;
214            if maskedval != 0 {
215                return Err(fidl::Error::NonZeroPadding {
216                    padding_start: offset + 88 + ((mask as u64).trailing_zeros() / 8) as usize,
217                });
218            }
219            let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(96) };
220            let padval = unsafe { (ptr as *const u64).read_unaligned() };
221            let mask = 0xffffffffffffff00u64;
222            let maskedval = padval & mask;
223            if maskedval != 0 {
224                return Err(fidl::Error::NonZeroPadding {
225                    padding_start: offset + 96 + ((mask as u64).trailing_zeros() / 8) as usize,
226                });
227            }
228            fidl::decode!(u32, D, &mut self.buffer_count, decoder, offset + 0, _depth)?;
229            fidl::decode!(
230                fidl::encoding::BoundedString<20>,
231                D,
232                &mut self.color_scheme,
233                decoder,
234                offset + 8,
235                _depth
236            )?;
237            fidl::decode!(bool, D, &mut self.disable, decoder, offset + 24, _depth)?;
238            fidl::decode!(u32, D, &mut self.display_rotation, decoder, offset + 28, _depth)?;
239            fidl::decode!(fidl::encoding::Vector<u32, 10>, D, &mut self.dpi, decoder, offset + 32, _depth)?;
240            fidl::decode!(
241                fidl::encoding::BoundedString<10>,
242                D,
243                &mut self.font_size,
244                decoder,
245                offset + 48,
246                _depth
247            )?;
248            fidl::decode!(bool, D, &mut self.keep_log_visible, decoder, offset + 64, _depth)?;
249            fidl::decode!(
250                fidl::encoding::BoundedString<10>,
251                D,
252                &mut self.key_map,
253                decoder,
254                offset + 72,
255                _depth
256            )?;
257            fidl::decode!(bool, D, &mut self.keyrepeat, decoder, offset + 88, _depth)?;
258            fidl::decode!(bool, D, &mut self.rounded_corners, decoder, offset + 89, _depth)?;
259            fidl::decode!(u32, D, &mut self.scrollback_rows, decoder, offset + 92, _depth)?;
260            fidl::decode!(bool, D, &mut self.show_logo, decoder, offset + 96, _depth)?;
261            Ok(())
262        }
263    }
264}