1#![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 const MAX_KEY_SIZE: u64 = 256;
12
13pub const MAX_STRING_SIZE: u64 = 12000;
16
17#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
18#[repr(u32)]
19pub enum FlushError {
20 ReadOnly = 1,
21 CommitFailed = 2,
22}
23
24impl FlushError {
25 #[inline]
26 pub fn from_primitive(prim: u32) -> Option<Self> {
27 match prim {
28 1 => Some(Self::ReadOnly),
29 2 => Some(Self::CommitFailed),
30 _ => None,
31 }
32 }
33
34 #[inline]
35 pub const fn into_primitive(self) -> u32 {
36 self as u32
37 }
38}
39
40#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
42#[repr(u8)]
43pub enum ValueType {
44 IntVal = 1,
45 FloatVal = 2,
46 BoolVal = 3,
47 StringVal = 4,
48 BytesVal = 5,
49}
50
51impl ValueType {
52 #[inline]
53 pub fn from_primitive(prim: u8) -> Option<Self> {
54 match prim {
55 1 => Some(Self::IntVal),
56 2 => Some(Self::FloatVal),
57 3 => Some(Self::BoolVal),
58 4 => Some(Self::StringVal),
59 5 => Some(Self::BytesVal),
60 _ => None,
61 }
62 }
63
64 #[inline]
65 pub const fn into_primitive(self) -> u8 {
66 self as u8
67 }
68}
69
70#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
72pub struct ListItem {
73 pub key: String,
74 pub type_: ValueType,
75}
76
77impl fidl::Persistable for ListItem {}
78
79#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
80pub struct ListIteratorGetNextResponse {
81 pub keys: Vec<ListItem>,
82}
83
84impl fidl::Persistable for ListIteratorGetNextResponse {}
85
86#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
87pub struct StoreAccessorDeletePrefixRequest {
88 pub prefix: String,
89}
90
91impl fidl::Persistable for StoreAccessorDeletePrefixRequest {}
92
93#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
94pub struct StoreAccessorDeleteValueRequest {
95 pub key: String,
96}
97
98impl fidl::Persistable for StoreAccessorDeleteValueRequest {}
99
100#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
101pub struct StoreAccessorGetValueRequest {
102 pub key: String,
103}
104
105impl fidl::Persistable for StoreAccessorGetValueRequest {}
106
107#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
108pub struct StoreIdentifyRequest {
109 pub name: String,
110}
111
112impl fidl::Persistable for StoreIdentifyRequest {}
113
114mod internal {
115 use super::*;
116 unsafe impl fidl::encoding::TypeMarker for FlushError {
117 type Owned = Self;
118
119 #[inline(always)]
120 fn inline_align(_context: fidl::encoding::Context) -> usize {
121 std::mem::align_of::<u32>()
122 }
123
124 #[inline(always)]
125 fn inline_size(_context: fidl::encoding::Context) -> usize {
126 std::mem::size_of::<u32>()
127 }
128
129 #[inline(always)]
130 fn encode_is_copy() -> bool {
131 true
132 }
133
134 #[inline(always)]
135 fn decode_is_copy() -> bool {
136 false
137 }
138 }
139
140 impl fidl::encoding::ValueTypeMarker for FlushError {
141 type Borrowed<'a> = Self;
142 #[inline(always)]
143 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
144 *value
145 }
146 }
147
148 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for FlushError {
149 #[inline]
150 unsafe fn encode(
151 self,
152 encoder: &mut fidl::encoding::Encoder<'_, D>,
153 offset: usize,
154 _depth: fidl::encoding::Depth,
155 ) -> fidl::Result<()> {
156 encoder.debug_check_bounds::<Self>(offset);
157 encoder.write_num(self.into_primitive(), offset);
158 Ok(())
159 }
160 }
161
162 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for FlushError {
163 #[inline(always)]
164 fn new_empty() -> Self {
165 Self::ReadOnly
166 }
167
168 #[inline]
169 unsafe fn decode(
170 &mut self,
171 decoder: &mut fidl::encoding::Decoder<'_, D>,
172 offset: usize,
173 _depth: fidl::encoding::Depth,
174 ) -> fidl::Result<()> {
175 decoder.debug_check_bounds::<Self>(offset);
176 let prim = decoder.read_num::<u32>(offset);
177
178 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
179 Ok(())
180 }
181 }
182 unsafe impl fidl::encoding::TypeMarker for ValueType {
183 type Owned = Self;
184
185 #[inline(always)]
186 fn inline_align(_context: fidl::encoding::Context) -> usize {
187 std::mem::align_of::<u8>()
188 }
189
190 #[inline(always)]
191 fn inline_size(_context: fidl::encoding::Context) -> usize {
192 std::mem::size_of::<u8>()
193 }
194
195 #[inline(always)]
196 fn encode_is_copy() -> bool {
197 true
198 }
199
200 #[inline(always)]
201 fn decode_is_copy() -> bool {
202 false
203 }
204 }
205
206 impl fidl::encoding::ValueTypeMarker for ValueType {
207 type Borrowed<'a> = Self;
208 #[inline(always)]
209 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
210 *value
211 }
212 }
213
214 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for ValueType {
215 #[inline]
216 unsafe fn encode(
217 self,
218 encoder: &mut fidl::encoding::Encoder<'_, D>,
219 offset: usize,
220 _depth: fidl::encoding::Depth,
221 ) -> fidl::Result<()> {
222 encoder.debug_check_bounds::<Self>(offset);
223 encoder.write_num(self.into_primitive(), offset);
224 Ok(())
225 }
226 }
227
228 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ValueType {
229 #[inline(always)]
230 fn new_empty() -> Self {
231 Self::IntVal
232 }
233
234 #[inline]
235 unsafe fn decode(
236 &mut self,
237 decoder: &mut fidl::encoding::Decoder<'_, D>,
238 offset: usize,
239 _depth: fidl::encoding::Depth,
240 ) -> fidl::Result<()> {
241 decoder.debug_check_bounds::<Self>(offset);
242 let prim = decoder.read_num::<u8>(offset);
243
244 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
245 Ok(())
246 }
247 }
248
249 impl fidl::encoding::ValueTypeMarker for ListItem {
250 type Borrowed<'a> = &'a Self;
251 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
252 value
253 }
254 }
255
256 unsafe impl fidl::encoding::TypeMarker for ListItem {
257 type Owned = Self;
258
259 #[inline(always)]
260 fn inline_align(_context: fidl::encoding::Context) -> usize {
261 8
262 }
263
264 #[inline(always)]
265 fn inline_size(_context: fidl::encoding::Context) -> usize {
266 24
267 }
268 }
269
270 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ListItem, D> for &ListItem {
271 #[inline]
272 unsafe fn encode(
273 self,
274 encoder: &mut fidl::encoding::Encoder<'_, D>,
275 offset: usize,
276 _depth: fidl::encoding::Depth,
277 ) -> fidl::Result<()> {
278 encoder.debug_check_bounds::<ListItem>(offset);
279 fidl::encoding::Encode::<ListItem, D>::encode(
281 (
282 <fidl::encoding::BoundedString<256> as fidl::encoding::ValueTypeMarker>::borrow(
283 &self.key,
284 ),
285 <ValueType as fidl::encoding::ValueTypeMarker>::borrow(&self.type_),
286 ),
287 encoder,
288 offset,
289 _depth,
290 )
291 }
292 }
293 unsafe impl<
294 D: fidl::encoding::ResourceDialect,
295 T0: fidl::encoding::Encode<fidl::encoding::BoundedString<256>, D>,
296 T1: fidl::encoding::Encode<ValueType, D>,
297 > fidl::encoding::Encode<ListItem, D> for (T0, T1)
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::<ListItem>(offset);
307 unsafe {
310 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(16);
311 (ptr as *mut u64).write_unaligned(0);
312 }
313 self.0.encode(encoder, offset + 0, depth)?;
315 self.1.encode(encoder, offset + 16, depth)?;
316 Ok(())
317 }
318 }
319
320 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ListItem {
321 #[inline(always)]
322 fn new_empty() -> Self {
323 Self {
324 key: fidl::new_empty!(fidl::encoding::BoundedString<256>, D),
325 type_: fidl::new_empty!(ValueType, 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 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(16) };
339 let padval = unsafe { (ptr as *const u64).read_unaligned() };
340 let mask = 0xffffffffffffff00u64;
341 let maskedval = padval & mask;
342 if maskedval != 0 {
343 return Err(fidl::Error::NonZeroPadding {
344 padding_start: offset + 16 + ((mask as u64).trailing_zeros() / 8) as usize,
345 });
346 }
347 fidl::decode!(
348 fidl::encoding::BoundedString<256>,
349 D,
350 &mut self.key,
351 decoder,
352 offset + 0,
353 _depth
354 )?;
355 fidl::decode!(ValueType, D, &mut self.type_, decoder, offset + 16, _depth)?;
356 Ok(())
357 }
358 }
359
360 impl fidl::encoding::ValueTypeMarker for ListIteratorGetNextResponse {
361 type Borrowed<'a> = &'a Self;
362 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
363 value
364 }
365 }
366
367 unsafe impl fidl::encoding::TypeMarker for ListIteratorGetNextResponse {
368 type Owned = Self;
369
370 #[inline(always)]
371 fn inline_align(_context: fidl::encoding::Context) -> usize {
372 8
373 }
374
375 #[inline(always)]
376 fn inline_size(_context: fidl::encoding::Context) -> usize {
377 16
378 }
379 }
380
381 unsafe impl<D: fidl::encoding::ResourceDialect>
382 fidl::encoding::Encode<ListIteratorGetNextResponse, D> for &ListIteratorGetNextResponse
383 {
384 #[inline]
385 unsafe fn encode(
386 self,
387 encoder: &mut fidl::encoding::Encoder<'_, D>,
388 offset: usize,
389 _depth: fidl::encoding::Depth,
390 ) -> fidl::Result<()> {
391 encoder.debug_check_bounds::<ListIteratorGetNextResponse>(offset);
392 fidl::encoding::Encode::<ListIteratorGetNextResponse, D>::encode(
394 (
395 <fidl::encoding::UnboundedVector<ListItem> as fidl::encoding::ValueTypeMarker>::borrow(&self.keys),
396 ),
397 encoder, offset, _depth
398 )
399 }
400 }
401 unsafe impl<
402 D: fidl::encoding::ResourceDialect,
403 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<ListItem>, D>,
404 > fidl::encoding::Encode<ListIteratorGetNextResponse, D> for (T0,)
405 {
406 #[inline]
407 unsafe fn encode(
408 self,
409 encoder: &mut fidl::encoding::Encoder<'_, D>,
410 offset: usize,
411 depth: fidl::encoding::Depth,
412 ) -> fidl::Result<()> {
413 encoder.debug_check_bounds::<ListIteratorGetNextResponse>(offset);
414 self.0.encode(encoder, offset + 0, depth)?;
418 Ok(())
419 }
420 }
421
422 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
423 for ListIteratorGetNextResponse
424 {
425 #[inline(always)]
426 fn new_empty() -> Self {
427 Self { keys: fidl::new_empty!(fidl::encoding::UnboundedVector<ListItem>, D) }
428 }
429
430 #[inline]
431 unsafe fn decode(
432 &mut self,
433 decoder: &mut fidl::encoding::Decoder<'_, D>,
434 offset: usize,
435 _depth: fidl::encoding::Depth,
436 ) -> fidl::Result<()> {
437 decoder.debug_check_bounds::<Self>(offset);
438 fidl::decode!(
440 fidl::encoding::UnboundedVector<ListItem>,
441 D,
442 &mut self.keys,
443 decoder,
444 offset + 0,
445 _depth
446 )?;
447 Ok(())
448 }
449 }
450
451 impl fidl::encoding::ValueTypeMarker for StoreAccessorDeletePrefixRequest {
452 type Borrowed<'a> = &'a Self;
453 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
454 value
455 }
456 }
457
458 unsafe impl fidl::encoding::TypeMarker for StoreAccessorDeletePrefixRequest {
459 type Owned = Self;
460
461 #[inline(always)]
462 fn inline_align(_context: fidl::encoding::Context) -> usize {
463 8
464 }
465
466 #[inline(always)]
467 fn inline_size(_context: fidl::encoding::Context) -> usize {
468 16
469 }
470 }
471
472 unsafe impl<D: fidl::encoding::ResourceDialect>
473 fidl::encoding::Encode<StoreAccessorDeletePrefixRequest, D>
474 for &StoreAccessorDeletePrefixRequest
475 {
476 #[inline]
477 unsafe fn encode(
478 self,
479 encoder: &mut fidl::encoding::Encoder<'_, D>,
480 offset: usize,
481 _depth: fidl::encoding::Depth,
482 ) -> fidl::Result<()> {
483 encoder.debug_check_bounds::<StoreAccessorDeletePrefixRequest>(offset);
484 fidl::encoding::Encode::<StoreAccessorDeletePrefixRequest, D>::encode(
486 (<fidl::encoding::BoundedString<256> as fidl::encoding::ValueTypeMarker>::borrow(
487 &self.prefix,
488 ),),
489 encoder,
490 offset,
491 _depth,
492 )
493 }
494 }
495 unsafe impl<
496 D: fidl::encoding::ResourceDialect,
497 T0: fidl::encoding::Encode<fidl::encoding::BoundedString<256>, D>,
498 > fidl::encoding::Encode<StoreAccessorDeletePrefixRequest, D> for (T0,)
499 {
500 #[inline]
501 unsafe fn encode(
502 self,
503 encoder: &mut fidl::encoding::Encoder<'_, D>,
504 offset: usize,
505 depth: fidl::encoding::Depth,
506 ) -> fidl::Result<()> {
507 encoder.debug_check_bounds::<StoreAccessorDeletePrefixRequest>(offset);
508 self.0.encode(encoder, offset + 0, depth)?;
512 Ok(())
513 }
514 }
515
516 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
517 for StoreAccessorDeletePrefixRequest
518 {
519 #[inline(always)]
520 fn new_empty() -> Self {
521 Self { prefix: fidl::new_empty!(fidl::encoding::BoundedString<256>, D) }
522 }
523
524 #[inline]
525 unsafe fn decode(
526 &mut self,
527 decoder: &mut fidl::encoding::Decoder<'_, D>,
528 offset: usize,
529 _depth: fidl::encoding::Depth,
530 ) -> fidl::Result<()> {
531 decoder.debug_check_bounds::<Self>(offset);
532 fidl::decode!(
534 fidl::encoding::BoundedString<256>,
535 D,
536 &mut self.prefix,
537 decoder,
538 offset + 0,
539 _depth
540 )?;
541 Ok(())
542 }
543 }
544
545 impl fidl::encoding::ValueTypeMarker for StoreAccessorDeleteValueRequest {
546 type Borrowed<'a> = &'a Self;
547 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
548 value
549 }
550 }
551
552 unsafe impl fidl::encoding::TypeMarker for StoreAccessorDeleteValueRequest {
553 type Owned = Self;
554
555 #[inline(always)]
556 fn inline_align(_context: fidl::encoding::Context) -> usize {
557 8
558 }
559
560 #[inline(always)]
561 fn inline_size(_context: fidl::encoding::Context) -> usize {
562 16
563 }
564 }
565
566 unsafe impl<D: fidl::encoding::ResourceDialect>
567 fidl::encoding::Encode<StoreAccessorDeleteValueRequest, D>
568 for &StoreAccessorDeleteValueRequest
569 {
570 #[inline]
571 unsafe fn encode(
572 self,
573 encoder: &mut fidl::encoding::Encoder<'_, D>,
574 offset: usize,
575 _depth: fidl::encoding::Depth,
576 ) -> fidl::Result<()> {
577 encoder.debug_check_bounds::<StoreAccessorDeleteValueRequest>(offset);
578 fidl::encoding::Encode::<StoreAccessorDeleteValueRequest, D>::encode(
580 (<fidl::encoding::BoundedString<256> as fidl::encoding::ValueTypeMarker>::borrow(
581 &self.key,
582 ),),
583 encoder,
584 offset,
585 _depth,
586 )
587 }
588 }
589 unsafe impl<
590 D: fidl::encoding::ResourceDialect,
591 T0: fidl::encoding::Encode<fidl::encoding::BoundedString<256>, D>,
592 > fidl::encoding::Encode<StoreAccessorDeleteValueRequest, D> for (T0,)
593 {
594 #[inline]
595 unsafe fn encode(
596 self,
597 encoder: &mut fidl::encoding::Encoder<'_, D>,
598 offset: usize,
599 depth: fidl::encoding::Depth,
600 ) -> fidl::Result<()> {
601 encoder.debug_check_bounds::<StoreAccessorDeleteValueRequest>(offset);
602 self.0.encode(encoder, offset + 0, depth)?;
606 Ok(())
607 }
608 }
609
610 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
611 for StoreAccessorDeleteValueRequest
612 {
613 #[inline(always)]
614 fn new_empty() -> Self {
615 Self { key: fidl::new_empty!(fidl::encoding::BoundedString<256>, D) }
616 }
617
618 #[inline]
619 unsafe fn decode(
620 &mut self,
621 decoder: &mut fidl::encoding::Decoder<'_, D>,
622 offset: usize,
623 _depth: fidl::encoding::Depth,
624 ) -> fidl::Result<()> {
625 decoder.debug_check_bounds::<Self>(offset);
626 fidl::decode!(
628 fidl::encoding::BoundedString<256>,
629 D,
630 &mut self.key,
631 decoder,
632 offset + 0,
633 _depth
634 )?;
635 Ok(())
636 }
637 }
638
639 impl fidl::encoding::ValueTypeMarker for StoreAccessorGetValueRequest {
640 type Borrowed<'a> = &'a Self;
641 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
642 value
643 }
644 }
645
646 unsafe impl fidl::encoding::TypeMarker for StoreAccessorGetValueRequest {
647 type Owned = Self;
648
649 #[inline(always)]
650 fn inline_align(_context: fidl::encoding::Context) -> usize {
651 8
652 }
653
654 #[inline(always)]
655 fn inline_size(_context: fidl::encoding::Context) -> usize {
656 16
657 }
658 }
659
660 unsafe impl<D: fidl::encoding::ResourceDialect>
661 fidl::encoding::Encode<StoreAccessorGetValueRequest, D> for &StoreAccessorGetValueRequest
662 {
663 #[inline]
664 unsafe fn encode(
665 self,
666 encoder: &mut fidl::encoding::Encoder<'_, D>,
667 offset: usize,
668 _depth: fidl::encoding::Depth,
669 ) -> fidl::Result<()> {
670 encoder.debug_check_bounds::<StoreAccessorGetValueRequest>(offset);
671 fidl::encoding::Encode::<StoreAccessorGetValueRequest, D>::encode(
673 (<fidl::encoding::BoundedString<256> as fidl::encoding::ValueTypeMarker>::borrow(
674 &self.key,
675 ),),
676 encoder,
677 offset,
678 _depth,
679 )
680 }
681 }
682 unsafe impl<
683 D: fidl::encoding::ResourceDialect,
684 T0: fidl::encoding::Encode<fidl::encoding::BoundedString<256>, D>,
685 > fidl::encoding::Encode<StoreAccessorGetValueRequest, D> for (T0,)
686 {
687 #[inline]
688 unsafe fn encode(
689 self,
690 encoder: &mut fidl::encoding::Encoder<'_, D>,
691 offset: usize,
692 depth: fidl::encoding::Depth,
693 ) -> fidl::Result<()> {
694 encoder.debug_check_bounds::<StoreAccessorGetValueRequest>(offset);
695 self.0.encode(encoder, offset + 0, depth)?;
699 Ok(())
700 }
701 }
702
703 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
704 for StoreAccessorGetValueRequest
705 {
706 #[inline(always)]
707 fn new_empty() -> Self {
708 Self { key: fidl::new_empty!(fidl::encoding::BoundedString<256>, D) }
709 }
710
711 #[inline]
712 unsafe fn decode(
713 &mut self,
714 decoder: &mut fidl::encoding::Decoder<'_, D>,
715 offset: usize,
716 _depth: fidl::encoding::Depth,
717 ) -> fidl::Result<()> {
718 decoder.debug_check_bounds::<Self>(offset);
719 fidl::decode!(
721 fidl::encoding::BoundedString<256>,
722 D,
723 &mut self.key,
724 decoder,
725 offset + 0,
726 _depth
727 )?;
728 Ok(())
729 }
730 }
731
732 impl fidl::encoding::ValueTypeMarker for StoreIdentifyRequest {
733 type Borrowed<'a> = &'a Self;
734 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
735 value
736 }
737 }
738
739 unsafe impl fidl::encoding::TypeMarker for StoreIdentifyRequest {
740 type Owned = Self;
741
742 #[inline(always)]
743 fn inline_align(_context: fidl::encoding::Context) -> usize {
744 8
745 }
746
747 #[inline(always)]
748 fn inline_size(_context: fidl::encoding::Context) -> usize {
749 16
750 }
751 }
752
753 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StoreIdentifyRequest, D>
754 for &StoreIdentifyRequest
755 {
756 #[inline]
757 unsafe fn encode(
758 self,
759 encoder: &mut fidl::encoding::Encoder<'_, D>,
760 offset: usize,
761 _depth: fidl::encoding::Depth,
762 ) -> fidl::Result<()> {
763 encoder.debug_check_bounds::<StoreIdentifyRequest>(offset);
764 fidl::encoding::Encode::<StoreIdentifyRequest, D>::encode(
766 (<fidl::encoding::BoundedString<256> as fidl::encoding::ValueTypeMarker>::borrow(
767 &self.name,
768 ),),
769 encoder,
770 offset,
771 _depth,
772 )
773 }
774 }
775 unsafe impl<
776 D: fidl::encoding::ResourceDialect,
777 T0: fidl::encoding::Encode<fidl::encoding::BoundedString<256>, D>,
778 > fidl::encoding::Encode<StoreIdentifyRequest, D> for (T0,)
779 {
780 #[inline]
781 unsafe fn encode(
782 self,
783 encoder: &mut fidl::encoding::Encoder<'_, D>,
784 offset: usize,
785 depth: fidl::encoding::Depth,
786 ) -> fidl::Result<()> {
787 encoder.debug_check_bounds::<StoreIdentifyRequest>(offset);
788 self.0.encode(encoder, offset + 0, depth)?;
792 Ok(())
793 }
794 }
795
796 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StoreIdentifyRequest {
797 #[inline(always)]
798 fn new_empty() -> Self {
799 Self { name: fidl::new_empty!(fidl::encoding::BoundedString<256>, D) }
800 }
801
802 #[inline]
803 unsafe fn decode(
804 &mut self,
805 decoder: &mut fidl::encoding::Decoder<'_, D>,
806 offset: usize,
807 _depth: fidl::encoding::Depth,
808 ) -> fidl::Result<()> {
809 decoder.debug_check_bounds::<Self>(offset);
810 fidl::decode!(
812 fidl::encoding::BoundedString<256>,
813 D,
814 &mut self.name,
815 decoder,
816 offset + 0,
817 _depth
818 )?;
819 Ok(())
820 }
821 }
822}