fidl_fuchsia_ui_pointer_augment__common/
fidl_fuchsia_ui_pointer_augment__common.rs1#![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
11pub type Point2 = [f32; 2];
14
15#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
17#[repr(u32)]
18pub enum ErrorReason {
19 Denied = 1,
21}
22
23impl ErrorReason {
24 #[inline]
25 pub fn from_primitive(prim: u32) -> Option<Self> {
26 match prim {
27 1 => Some(Self::Denied),
28 _ => None,
29 }
30 }
31
32 #[inline]
33 pub const fn into_primitive(self) -> u32 {
34 self as u32
35 }
36}
37
38#[derive(Clone, Debug, PartialEq)]
39pub struct TouchSourceWithLocalHitUpdateResponseRequest {
40 pub interaction: fidl_fuchsia_ui_pointer__common::TouchInteractionId,
41 pub response: fidl_fuchsia_ui_pointer__common::TouchResponse,
42}
43
44impl fidl::Persistable for TouchSourceWithLocalHitUpdateResponseRequest {}
45
46#[derive(Clone, Debug, PartialEq)]
47pub struct TouchSourceWithLocalHitWatchRequest {
48 pub responses: Vec<fidl_fuchsia_ui_pointer__common::TouchResponse>,
49}
50
51impl fidl::Persistable for TouchSourceWithLocalHitWatchRequest {}
52
53pub mod local_hit_ordinals {
54 pub const UPGRADE: u64 = 0x1ec0c985bbfe4e8c;
55}
56
57pub mod touch_source_with_local_hit_ordinals {
58 pub const WATCH: u64 = 0x4eb5acc052ada449;
59 pub const UPDATE_RESPONSE: u64 = 0x1f2fde6734e7da1;
60}
61
62mod internal {
63 use super::*;
64 unsafe impl fidl::encoding::TypeMarker for ErrorReason {
65 type Owned = Self;
66
67 #[inline(always)]
68 fn inline_align(_context: fidl::encoding::Context) -> usize {
69 std::mem::align_of::<u32>()
70 }
71
72 #[inline(always)]
73 fn inline_size(_context: fidl::encoding::Context) -> usize {
74 std::mem::size_of::<u32>()
75 }
76
77 #[inline(always)]
78 fn encode_is_copy() -> bool {
79 true
80 }
81
82 #[inline(always)]
83 fn decode_is_copy() -> bool {
84 false
85 }
86 }
87
88 impl fidl::encoding::ValueTypeMarker for ErrorReason {
89 type Borrowed<'a> = Self;
90 #[inline(always)]
91 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
92 *value
93 }
94 }
95
96 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for ErrorReason {
97 #[inline]
98 unsafe fn encode(
99 self,
100 encoder: &mut fidl::encoding::Encoder<'_, D>,
101 offset: usize,
102 _depth: fidl::encoding::Depth,
103 ) -> fidl::Result<()> {
104 encoder.debug_check_bounds::<Self>(offset);
105 encoder.write_num(self.into_primitive(), offset);
106 Ok(())
107 }
108 }
109
110 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ErrorReason {
111 #[inline(always)]
112 fn new_empty() -> Self {
113 Self::Denied
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 let prim = decoder.read_num::<u32>(offset);
125
126 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
127 Ok(())
128 }
129 }
130
131 impl fidl::encoding::ValueTypeMarker for TouchSourceWithLocalHitUpdateResponseRequest {
132 type Borrowed<'a> = &'a Self;
133 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
134 value
135 }
136 }
137
138 unsafe impl fidl::encoding::TypeMarker for TouchSourceWithLocalHitUpdateResponseRequest {
139 type Owned = Self;
140
141 #[inline(always)]
142 fn inline_align(_context: fidl::encoding::Context) -> usize {
143 8
144 }
145
146 #[inline(always)]
147 fn inline_size(_context: fidl::encoding::Context) -> usize {
148 32
149 }
150 }
151
152 unsafe impl<D: fidl::encoding::ResourceDialect>
153 fidl::encoding::Encode<TouchSourceWithLocalHitUpdateResponseRequest, D>
154 for &TouchSourceWithLocalHitUpdateResponseRequest
155 {
156 #[inline]
157 unsafe fn encode(
158 self,
159 encoder: &mut fidl::encoding::Encoder<'_, D>,
160 offset: usize,
161 _depth: fidl::encoding::Depth,
162 ) -> fidl::Result<()> {
163 encoder.debug_check_bounds::<TouchSourceWithLocalHitUpdateResponseRequest>(offset);
164 fidl::encoding::Encode::<TouchSourceWithLocalHitUpdateResponseRequest, D>::encode(
166 (
167 <fidl_fuchsia_ui_pointer__common::TouchInteractionId as fidl::encoding::ValueTypeMarker>::borrow(&self.interaction),
168 <fidl_fuchsia_ui_pointer__common::TouchResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.response),
169 ),
170 encoder, offset, _depth
171 )
172 }
173 }
174 unsafe impl<
175 D: fidl::encoding::ResourceDialect,
176 T0: fidl::encoding::Encode<fidl_fuchsia_ui_pointer__common::TouchInteractionId, D>,
177 T1: fidl::encoding::Encode<fidl_fuchsia_ui_pointer__common::TouchResponse, D>,
178 > fidl::encoding::Encode<TouchSourceWithLocalHitUpdateResponseRequest, D> for (T0, T1)
179 {
180 #[inline]
181 unsafe fn encode(
182 self,
183 encoder: &mut fidl::encoding::Encoder<'_, D>,
184 offset: usize,
185 depth: fidl::encoding::Depth,
186 ) -> fidl::Result<()> {
187 encoder.debug_check_bounds::<TouchSourceWithLocalHitUpdateResponseRequest>(offset);
188 unsafe {
191 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
192 (ptr as *mut u64).write_unaligned(0);
193 }
194 self.0.encode(encoder, offset + 0, depth)?;
196 self.1.encode(encoder, offset + 16, depth)?;
197 Ok(())
198 }
199 }
200
201 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
202 for TouchSourceWithLocalHitUpdateResponseRequest
203 {
204 #[inline(always)]
205 fn new_empty() -> Self {
206 Self {
207 interaction: fidl::new_empty!(
208 fidl_fuchsia_ui_pointer__common::TouchInteractionId,
209 D
210 ),
211 response: fidl::new_empty!(fidl_fuchsia_ui_pointer__common::TouchResponse, D),
212 }
213 }
214
215 #[inline]
216 unsafe fn decode(
217 &mut self,
218 decoder: &mut fidl::encoding::Decoder<'_, D>,
219 offset: usize,
220 _depth: fidl::encoding::Depth,
221 ) -> fidl::Result<()> {
222 decoder.debug_check_bounds::<Self>(offset);
223 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
225 let padval = unsafe { (ptr as *const u64).read_unaligned() };
226 let mask = 0xffffffff00000000u64;
227 let maskedval = padval & mask;
228 if maskedval != 0 {
229 return Err(fidl::Error::NonZeroPadding {
230 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
231 });
232 }
233 fidl::decode!(
234 fidl_fuchsia_ui_pointer__common::TouchInteractionId,
235 D,
236 &mut self.interaction,
237 decoder,
238 offset + 0,
239 _depth
240 )?;
241 fidl::decode!(
242 fidl_fuchsia_ui_pointer__common::TouchResponse,
243 D,
244 &mut self.response,
245 decoder,
246 offset + 16,
247 _depth
248 )?;
249 Ok(())
250 }
251 }
252
253 impl fidl::encoding::ValueTypeMarker for TouchSourceWithLocalHitWatchRequest {
254 type Borrowed<'a> = &'a Self;
255 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
256 value
257 }
258 }
259
260 unsafe impl fidl::encoding::TypeMarker for TouchSourceWithLocalHitWatchRequest {
261 type Owned = Self;
262
263 #[inline(always)]
264 fn inline_align(_context: fidl::encoding::Context) -> usize {
265 8
266 }
267
268 #[inline(always)]
269 fn inline_size(_context: fidl::encoding::Context) -> usize {
270 16
271 }
272 }
273
274 unsafe impl<D: fidl::encoding::ResourceDialect>
275 fidl::encoding::Encode<TouchSourceWithLocalHitWatchRequest, D>
276 for &TouchSourceWithLocalHitWatchRequest
277 {
278 #[inline]
279 unsafe fn encode(
280 self,
281 encoder: &mut fidl::encoding::Encoder<'_, D>,
282 offset: usize,
283 _depth: fidl::encoding::Depth,
284 ) -> fidl::Result<()> {
285 encoder.debug_check_bounds::<TouchSourceWithLocalHitWatchRequest>(offset);
286 fidl::encoding::Encode::<TouchSourceWithLocalHitWatchRequest, D>::encode(
288 (
289 <fidl::encoding::Vector<fidl_fuchsia_ui_pointer__common::TouchResponse, 128> as fidl::encoding::ValueTypeMarker>::borrow(&self.responses),
290 ),
291 encoder, offset, _depth
292 )
293 }
294 }
295 unsafe impl<
296 D: fidl::encoding::ResourceDialect,
297 T0: fidl::encoding::Encode<
298 fidl::encoding::Vector<fidl_fuchsia_ui_pointer__common::TouchResponse, 128>,
299 D,
300 >,
301 > fidl::encoding::Encode<TouchSourceWithLocalHitWatchRequest, D> for (T0,)
302 {
303 #[inline]
304 unsafe fn encode(
305 self,
306 encoder: &mut fidl::encoding::Encoder<'_, D>,
307 offset: usize,
308 depth: fidl::encoding::Depth,
309 ) -> fidl::Result<()> {
310 encoder.debug_check_bounds::<TouchSourceWithLocalHitWatchRequest>(offset);
311 self.0.encode(encoder, offset + 0, depth)?;
315 Ok(())
316 }
317 }
318
319 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
320 for TouchSourceWithLocalHitWatchRequest
321 {
322 #[inline(always)]
323 fn new_empty() -> Self {
324 Self {
325 responses: fidl::new_empty!(fidl::encoding::Vector<fidl_fuchsia_ui_pointer__common::TouchResponse, 128>, D),
326 }
327 }
328
329 #[inline]
330 unsafe fn decode(
331 &mut self,
332 decoder: &mut fidl::encoding::Decoder<'_, D>,
333 offset: usize,
334 _depth: fidl::encoding::Depth,
335 ) -> fidl::Result<()> {
336 decoder.debug_check_bounds::<Self>(offset);
337 fidl::decode!(fidl::encoding::Vector<fidl_fuchsia_ui_pointer__common::TouchResponse, 128>, D, &mut self.responses, decoder, offset + 0, _depth)?;
339 Ok(())
340 }
341 }
342}