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