fidl_fuchsia_ui_policy__common/
fidl_fuchsia_ui_policy__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 DisplayBacklightSetMinimumRgbRequest {
14    pub minimum_rgb: u8,
15}
16
17impl fidl::Persistable for DisplayBacklightSetMinimumRgbRequest {}
18
19#[derive(Clone, Debug, PartialEq)]
20pub struct MediaButtonsListenerOnEventRequest {
21    pub event: fidl_fuchsia_ui_input__common::MediaButtonsEvent,
22}
23
24impl fidl::Persistable for MediaButtonsListenerOnEventRequest {}
25
26#[derive(Clone, Debug, PartialEq)]
27pub struct MediaButtonsListenerOnMediaButtonsEventRequest {
28    pub event: fidl_fuchsia_ui_input__common::MediaButtonsEvent,
29}
30
31impl fidl::Persistable for MediaButtonsListenerOnMediaButtonsEventRequest {}
32
33pub mod device_listener_registry_ordinals {
34    pub const REGISTER_MEDIA_BUTTONS_LISTENER: u64 = 0x3826318765c72e70;
35    pub const REGISTER_LISTENER: u64 = 0x2f9e7eea89485a7b;
36}
37
38pub mod display_backlight_ordinals {
39    pub const SET_MINIMUM_RGB: u64 = 0x25604347bb8a1ca3;
40}
41
42pub mod media_buttons_listener_ordinals {
43    pub const ON_MEDIA_BUTTONS_EVENT: u64 = 0x2c2068c386964e00;
44    pub const ON_EVENT: u64 = 0x16e7130ddcaf877c;
45}
46
47mod internal {
48    use super::*;
49
50    impl fidl::encoding::ValueTypeMarker for DisplayBacklightSetMinimumRgbRequest {
51        type Borrowed<'a> = &'a Self;
52        fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
53            value
54        }
55    }
56
57    unsafe impl fidl::encoding::TypeMarker for DisplayBacklightSetMinimumRgbRequest {
58        type Owned = Self;
59
60        #[inline(always)]
61        fn inline_align(_context: fidl::encoding::Context) -> usize {
62            1
63        }
64
65        #[inline(always)]
66        fn inline_size(_context: fidl::encoding::Context) -> usize {
67            1
68        }
69        #[inline(always)]
70        fn encode_is_copy() -> bool {
71            true
72        }
73
74        #[inline(always)]
75        fn decode_is_copy() -> bool {
76            true
77        }
78    }
79
80    unsafe impl<D: fidl::encoding::ResourceDialect>
81        fidl::encoding::Encode<DisplayBacklightSetMinimumRgbRequest, D>
82        for &DisplayBacklightSetMinimumRgbRequest
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::<DisplayBacklightSetMinimumRgbRequest>(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 DisplayBacklightSetMinimumRgbRequest)
96                    .write_unaligned((self as *const DisplayBacklightSetMinimumRgbRequest).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<u8, D>>
104        fidl::encoding::Encode<DisplayBacklightSetMinimumRgbRequest, 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::<DisplayBacklightSetMinimumRgbRequest>(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 DisplayBacklightSetMinimumRgbRequest
124    {
125        #[inline(always)]
126        fn new_empty() -> Self {
127            Self { minimum_rgb: fidl::new_empty!(u8, 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, 1);
143            }
144            Ok(())
145        }
146    }
147
148    impl fidl::encoding::ValueTypeMarker for MediaButtonsListenerOnEventRequest {
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 MediaButtonsListenerOnEventRequest {
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<MediaButtonsListenerOnEventRequest, D>
171        for &MediaButtonsListenerOnEventRequest
172    {
173        #[inline]
174        unsafe fn encode(
175            self,
176            encoder: &mut fidl::encoding::Encoder<'_, D>,
177            offset: usize,
178            _depth: fidl::encoding::Depth,
179        ) -> fidl::Result<()> {
180            encoder.debug_check_bounds::<MediaButtonsListenerOnEventRequest>(offset);
181            // Delegate to tuple encoding.
182            fidl::encoding::Encode::<MediaButtonsListenerOnEventRequest, D>::encode(
183                (
184                    <fidl_fuchsia_ui_input__common::MediaButtonsEvent as fidl::encoding::ValueTypeMarker>::borrow(&self.event),
185                ),
186                encoder, offset, _depth
187            )
188        }
189    }
190    unsafe impl<
191            D: fidl::encoding::ResourceDialect,
192            T0: fidl::encoding::Encode<fidl_fuchsia_ui_input__common::MediaButtonsEvent, D>,
193        > fidl::encoding::Encode<MediaButtonsListenerOnEventRequest, D> for (T0,)
194    {
195        #[inline]
196        unsafe fn encode(
197            self,
198            encoder: &mut fidl::encoding::Encoder<'_, D>,
199            offset: usize,
200            depth: fidl::encoding::Depth,
201        ) -> fidl::Result<()> {
202            encoder.debug_check_bounds::<MediaButtonsListenerOnEventRequest>(offset);
203            // Zero out padding regions. There's no need to apply masks
204            // because the unmasked parts will be overwritten by fields.
205            // Write the fields.
206            self.0.encode(encoder, offset + 0, depth)?;
207            Ok(())
208        }
209    }
210
211    impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
212        for MediaButtonsListenerOnEventRequest
213    {
214        #[inline(always)]
215        fn new_empty() -> Self {
216            Self { event: fidl::new_empty!(fidl_fuchsia_ui_input__common::MediaButtonsEvent, D) }
217        }
218
219        #[inline]
220        unsafe fn decode(
221            &mut self,
222            decoder: &mut fidl::encoding::Decoder<'_, D>,
223            offset: usize,
224            _depth: fidl::encoding::Depth,
225        ) -> fidl::Result<()> {
226            decoder.debug_check_bounds::<Self>(offset);
227            // Verify that padding bytes are zero.
228            fidl::decode!(
229                fidl_fuchsia_ui_input__common::MediaButtonsEvent,
230                D,
231                &mut self.event,
232                decoder,
233                offset + 0,
234                _depth
235            )?;
236            Ok(())
237        }
238    }
239
240    impl fidl::encoding::ValueTypeMarker for MediaButtonsListenerOnMediaButtonsEventRequest {
241        type Borrowed<'a> = &'a Self;
242        fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
243            value
244        }
245    }
246
247    unsafe impl fidl::encoding::TypeMarker for MediaButtonsListenerOnMediaButtonsEventRequest {
248        type Owned = Self;
249
250        #[inline(always)]
251        fn inline_align(_context: fidl::encoding::Context) -> usize {
252            8
253        }
254
255        #[inline(always)]
256        fn inline_size(_context: fidl::encoding::Context) -> usize {
257            16
258        }
259    }
260
261    unsafe impl<D: fidl::encoding::ResourceDialect>
262        fidl::encoding::Encode<MediaButtonsListenerOnMediaButtonsEventRequest, D>
263        for &MediaButtonsListenerOnMediaButtonsEventRequest
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::<MediaButtonsListenerOnMediaButtonsEventRequest>(offset);
273            // Delegate to tuple encoding.
274            fidl::encoding::Encode::<MediaButtonsListenerOnMediaButtonsEventRequest, D>::encode(
275                (
276                    <fidl_fuchsia_ui_input__common::MediaButtonsEvent as fidl::encoding::ValueTypeMarker>::borrow(&self.event),
277                ),
278                encoder, offset, _depth
279            )
280        }
281    }
282    unsafe impl<
283            D: fidl::encoding::ResourceDialect,
284            T0: fidl::encoding::Encode<fidl_fuchsia_ui_input__common::MediaButtonsEvent, D>,
285        > fidl::encoding::Encode<MediaButtonsListenerOnMediaButtonsEventRequest, D> for (T0,)
286    {
287        #[inline]
288        unsafe fn encode(
289            self,
290            encoder: &mut fidl::encoding::Encoder<'_, D>,
291            offset: usize,
292            depth: fidl::encoding::Depth,
293        ) -> fidl::Result<()> {
294            encoder.debug_check_bounds::<MediaButtonsListenerOnMediaButtonsEventRequest>(offset);
295            // Zero out padding regions. There's no need to apply masks
296            // because the unmasked parts will be overwritten by fields.
297            // Write the fields.
298            self.0.encode(encoder, offset + 0, depth)?;
299            Ok(())
300        }
301    }
302
303    impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
304        for MediaButtonsListenerOnMediaButtonsEventRequest
305    {
306        #[inline(always)]
307        fn new_empty() -> Self {
308            Self { event: fidl::new_empty!(fidl_fuchsia_ui_input__common::MediaButtonsEvent, D) }
309        }
310
311        #[inline]
312        unsafe fn decode(
313            &mut self,
314            decoder: &mut fidl::encoding::Decoder<'_, D>,
315            offset: usize,
316            _depth: fidl::encoding::Depth,
317        ) -> fidl::Result<()> {
318            decoder.debug_check_bounds::<Self>(offset);
319            // Verify that padding bytes are zero.
320            fidl::decode!(
321                fidl_fuchsia_ui_input__common::MediaButtonsEvent,
322                D,
323                &mut self.event,
324                decoder,
325                offset + 0,
326                _depth
327            )?;
328            Ok(())
329        }
330    }
331}