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 type ClockDomain = u32;
12
13pub type ElementId = u64;
14
15pub type TokenId = u64;
16
17pub type TopologyId = u64;
18
19pub const DEFAULT_DAI_INTERCONNECT_ELEMENT_ID: u64 = 1;
23
24pub const MAX_CHANNEL_COUNT: u32 =
26 fidl_fuchsia_hardware_audio__common::MAX_COUNT_CHANNELS_IN_RING_BUFFER as u32;
27
28pub const MAX_CHANNEL_SET_COUNT: u32 =
30 fidl_fuchsia_hardware_audio__common::MAX_COUNT_CHANNEL_SETS as u32;
31
32pub const MAX_DAI_FORMAT_COUNT: u32 =
33 fidl_fuchsia_hardware_audio__common::MAX_COUNT_DAI_FORMATS as u32;
34
35pub const MAX_DEVICE_COUNT: u32 = 256;
37
38pub const MAX_FORMAT_COUNT: u32 = fidl_fuchsia_hardware_audio__common::MAX_COUNT_FORMATS as u32;
40
41pub const MAX_PROCESSING_ELEMENT_COUNT: u32 =
43 fidl_fuchsia_hardware_audio_signalprocessing__common::MAX_COUNT_PROCESSING_ELEMENTS as u32;
44
45pub const MAX_RATE_COUNT: u32 =
47 fidl_fuchsia_hardware_audio__common::MAX_COUNT_SUPPORTED_RATES as u32;
48
49pub const MAX_SAMPLE_TYPE_COUNT: u32 = 32;
51
52pub const MAX_STRING_SIZE: u32 = fidl_fuchsia_hardware_audio__common::MAX_UI_STRING_SIZE as u32;
54
55pub const UNIQUE_INSTANCE_ID_SIZE: u32 = fidl_fuchsia_hardware_audio__common::UNIQUE_ID_SIZE as u32;
57
58#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
60pub enum ControlCodecStartError {
61 DeviceError,
63 WrongDeviceType,
65 AlreadyPending,
67 DaiFormatNotSet,
69 AlreadyStarted,
71 Other,
73 #[doc(hidden)]
74 __SourceBreaking { unknown_ordinal: u32 },
75}
76
77#[macro_export]
79macro_rules! ControlCodecStartErrorUnknown {
80 () => {
81 _
82 };
83}
84
85impl ControlCodecStartError {
86 #[inline]
87 pub fn from_primitive(prim: u32) -> Option<Self> {
88 match prim {
89 1 => Some(Self::DeviceError),
90 2 => Some(Self::WrongDeviceType),
91 3 => Some(Self::AlreadyPending),
92 4 => Some(Self::DaiFormatNotSet),
93 5 => Some(Self::AlreadyStarted),
94 6 => Some(Self::Other),
95 _ => None,
96 }
97 }
98
99 #[inline]
100 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
101 match prim {
102 1 => Self::DeviceError,
103 2 => Self::WrongDeviceType,
104 3 => Self::AlreadyPending,
105 4 => Self::DaiFormatNotSet,
106 5 => Self::AlreadyStarted,
107 6 => Self::Other,
108 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
109 }
110 }
111
112 #[inline]
113 pub fn unknown() -> Self {
114 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
115 }
116
117 #[inline]
118 pub const fn into_primitive(self) -> u32 {
119 match self {
120 Self::DeviceError => 1,
121 Self::WrongDeviceType => 2,
122 Self::AlreadyPending => 3,
123 Self::DaiFormatNotSet => 4,
124 Self::AlreadyStarted => 5,
125 Self::Other => 6,
126 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
127 }
128 }
129
130 #[inline]
131 pub fn is_unknown(&self) -> bool {
132 match self {
133 Self::__SourceBreaking { unknown_ordinal: _ } => true,
134 _ => false,
135 }
136 }
137}
138
139#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
141pub enum ControlCodecStopError {
142 DeviceError,
144 WrongDeviceType,
146 AlreadyPending,
148 DaiFormatNotSet,
150 AlreadyStopped,
152 Other,
154 #[doc(hidden)]
155 __SourceBreaking { unknown_ordinal: u32 },
156}
157
158#[macro_export]
160macro_rules! ControlCodecStopErrorUnknown {
161 () => {
162 _
163 };
164}
165
166impl ControlCodecStopError {
167 #[inline]
168 pub fn from_primitive(prim: u32) -> Option<Self> {
169 match prim {
170 1 => Some(Self::DeviceError),
171 2 => Some(Self::WrongDeviceType),
172 3 => Some(Self::AlreadyPending),
173 4 => Some(Self::DaiFormatNotSet),
174 5 => Some(Self::AlreadyStopped),
175 6 => Some(Self::Other),
176 _ => None,
177 }
178 }
179
180 #[inline]
181 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
182 match prim {
183 1 => Self::DeviceError,
184 2 => Self::WrongDeviceType,
185 3 => Self::AlreadyPending,
186 4 => Self::DaiFormatNotSet,
187 5 => Self::AlreadyStopped,
188 6 => Self::Other,
189 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
190 }
191 }
192
193 #[inline]
194 pub fn unknown() -> Self {
195 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
196 }
197
198 #[inline]
199 pub const fn into_primitive(self) -> u32 {
200 match self {
201 Self::DeviceError => 1,
202 Self::WrongDeviceType => 2,
203 Self::AlreadyPending => 3,
204 Self::DaiFormatNotSet => 4,
205 Self::AlreadyStopped => 5,
206 Self::Other => 6,
207 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
208 }
209 }
210
211 #[inline]
212 pub fn is_unknown(&self) -> bool {
213 match self {
214 Self::__SourceBreaking { unknown_ordinal: _ } => true,
215 _ => false,
216 }
217 }
218}
219
220#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
222pub enum ControlCreatePacketStreamError {
223 DeviceError,
225 WrongDeviceType,
227 AlreadyPending,
229 InvalidElementId,
231 InvalidOptions,
233 InvalidFormat,
235 InvalidPacketStream,
237 AlreadyAllocated,
239 FormatMismatch,
241 BadPacketStreamOption,
243 Other,
245 #[doc(hidden)]
246 __SourceBreaking { unknown_ordinal: u32 },
247}
248
249#[macro_export]
251macro_rules! ControlCreatePacketStreamErrorUnknown {
252 () => {
253 _
254 };
255}
256
257impl ControlCreatePacketStreamError {
258 #[inline]
259 pub fn from_primitive(prim: u32) -> Option<Self> {
260 match prim {
261 1 => Some(Self::DeviceError),
262 2 => Some(Self::WrongDeviceType),
263 3 => Some(Self::AlreadyPending),
264 4 => Some(Self::InvalidElementId),
265 5 => Some(Self::InvalidOptions),
266 6 => Some(Self::InvalidFormat),
267 7 => Some(Self::InvalidPacketStream),
268 8 => Some(Self::AlreadyAllocated),
269 9 => Some(Self::FormatMismatch),
270 10 => Some(Self::BadPacketStreamOption),
271 11 => Some(Self::Other),
272 _ => None,
273 }
274 }
275
276 #[inline]
277 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
278 match prim {
279 1 => Self::DeviceError,
280 2 => Self::WrongDeviceType,
281 3 => Self::AlreadyPending,
282 4 => Self::InvalidElementId,
283 5 => Self::InvalidOptions,
284 6 => Self::InvalidFormat,
285 7 => Self::InvalidPacketStream,
286 8 => Self::AlreadyAllocated,
287 9 => Self::FormatMismatch,
288 10 => Self::BadPacketStreamOption,
289 11 => Self::Other,
290 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
291 }
292 }
293
294 #[inline]
295 pub fn unknown() -> Self {
296 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
297 }
298
299 #[inline]
300 pub const fn into_primitive(self) -> u32 {
301 match self {
302 Self::DeviceError => 1,
303 Self::WrongDeviceType => 2,
304 Self::AlreadyPending => 3,
305 Self::InvalidElementId => 4,
306 Self::InvalidOptions => 5,
307 Self::InvalidFormat => 6,
308 Self::InvalidPacketStream => 7,
309 Self::AlreadyAllocated => 8,
310 Self::FormatMismatch => 9,
311 Self::BadPacketStreamOption => 10,
312 Self::Other => 11,
313 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
314 }
315 }
316
317 #[inline]
318 pub fn is_unknown(&self) -> bool {
319 match self {
320 Self::__SourceBreaking { unknown_ordinal: _ } => true,
321 _ => false,
322 }
323 }
324}
325
326#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
328pub enum ControlCreateRingBufferError {
329 DeviceError,
331 WrongDeviceType,
333 AlreadyPending,
335 InvalidElementId,
337 InvalidOptions,
339 InvalidFormat,
341 InvalidMinBytes,
343 InvalidRingBuffer,
345 AlreadyAllocated,
347 FormatMismatch,
349 BadRingBufferOption,
351 Other,
353 #[doc(hidden)]
354 __SourceBreaking { unknown_ordinal: u32 },
355}
356
357#[macro_export]
359macro_rules! ControlCreateRingBufferErrorUnknown {
360 () => {
361 _
362 };
363}
364
365impl ControlCreateRingBufferError {
366 #[inline]
367 pub fn from_primitive(prim: u32) -> Option<Self> {
368 match prim {
369 1 => Some(Self::DeviceError),
370 2 => Some(Self::WrongDeviceType),
371 3 => Some(Self::AlreadyPending),
372 4 => Some(Self::InvalidElementId),
373 5 => Some(Self::InvalidOptions),
374 6 => Some(Self::InvalidFormat),
375 7 => Some(Self::InvalidMinBytes),
376 8 => Some(Self::InvalidRingBuffer),
377 9 => Some(Self::AlreadyAllocated),
378 10 => Some(Self::FormatMismatch),
379 11 => Some(Self::BadRingBufferOption),
380 12 => Some(Self::Other),
381 _ => None,
382 }
383 }
384
385 #[inline]
386 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
387 match prim {
388 1 => Self::DeviceError,
389 2 => Self::WrongDeviceType,
390 3 => Self::AlreadyPending,
391 4 => Self::InvalidElementId,
392 5 => Self::InvalidOptions,
393 6 => Self::InvalidFormat,
394 7 => Self::InvalidMinBytes,
395 8 => Self::InvalidRingBuffer,
396 9 => Self::AlreadyAllocated,
397 10 => Self::FormatMismatch,
398 11 => Self::BadRingBufferOption,
399 12 => Self::Other,
400 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
401 }
402 }
403
404 #[inline]
405 pub fn unknown() -> Self {
406 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
407 }
408
409 #[inline]
410 pub const fn into_primitive(self) -> u32 {
411 match self {
412 Self::DeviceError => 1,
413 Self::WrongDeviceType => 2,
414 Self::AlreadyPending => 3,
415 Self::InvalidElementId => 4,
416 Self::InvalidOptions => 5,
417 Self::InvalidFormat => 6,
418 Self::InvalidMinBytes => 7,
419 Self::InvalidRingBuffer => 8,
420 Self::AlreadyAllocated => 9,
421 Self::FormatMismatch => 10,
422 Self::BadRingBufferOption => 11,
423 Self::Other => 12,
424 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
425 }
426 }
427
428 #[inline]
429 pub fn is_unknown(&self) -> bool {
430 match self {
431 Self::__SourceBreaking { unknown_ordinal: _ } => true,
432 _ => false,
433 }
434 }
435}
436
437#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
439pub enum ControlCreatorError {
440 InvalidTokenId,
442 InvalidControl,
444 DeviceNotFound,
447 DeviceError,
449 AlreadyAllocated,
452 #[doc(hidden)]
453 __SourceBreaking { unknown_ordinal: u32 },
454}
455
456#[macro_export]
458macro_rules! ControlCreatorErrorUnknown {
459 () => {
460 _
461 };
462}
463
464impl ControlCreatorError {
465 #[inline]
466 pub fn from_primitive(prim: u32) -> Option<Self> {
467 match prim {
468 1 => Some(Self::InvalidTokenId),
469 2 => Some(Self::InvalidControl),
470 3 => Some(Self::DeviceNotFound),
471 4 => Some(Self::DeviceError),
472 5 => Some(Self::AlreadyAllocated),
473 _ => None,
474 }
475 }
476
477 #[inline]
478 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
479 match prim {
480 1 => Self::InvalidTokenId,
481 2 => Self::InvalidControl,
482 3 => Self::DeviceNotFound,
483 4 => Self::DeviceError,
484 5 => Self::AlreadyAllocated,
485 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
486 }
487 }
488
489 #[inline]
490 pub fn unknown() -> Self {
491 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
492 }
493
494 #[inline]
495 pub const fn into_primitive(self) -> u32 {
496 match self {
497 Self::InvalidTokenId => 1,
498 Self::InvalidControl => 2,
499 Self::DeviceNotFound => 3,
500 Self::DeviceError => 4,
501 Self::AlreadyAllocated => 5,
502 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
503 }
504 }
505
506 #[inline]
507 pub fn is_unknown(&self) -> bool {
508 match self {
509 Self::__SourceBreaking { unknown_ordinal: _ } => true,
510 _ => false,
511 }
512 }
513}
514
515#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
517pub enum ControlResetError {
518 DeviceError,
520 WrongDeviceType,
522 AlreadyPending,
524 #[doc(hidden)]
525 __SourceBreaking { unknown_ordinal: u32 },
526}
527
528#[macro_export]
530macro_rules! ControlResetErrorUnknown {
531 () => {
532 _
533 };
534}
535
536impl ControlResetError {
537 #[inline]
538 pub fn from_primitive(prim: u32) -> Option<Self> {
539 match prim {
540 1 => Some(Self::DeviceError),
541 2 => Some(Self::WrongDeviceType),
542 3 => Some(Self::AlreadyPending),
543 _ => None,
544 }
545 }
546
547 #[inline]
548 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
549 match prim {
550 1 => Self::DeviceError,
551 2 => Self::WrongDeviceType,
552 3 => Self::AlreadyPending,
553 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
554 }
555 }
556
557 #[inline]
558 pub fn unknown() -> Self {
559 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
560 }
561
562 #[inline]
563 pub const fn into_primitive(self) -> u32 {
564 match self {
565 Self::DeviceError => 1,
566 Self::WrongDeviceType => 2,
567 Self::AlreadyPending => 3,
568 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
569 }
570 }
571
572 #[inline]
573 pub fn is_unknown(&self) -> bool {
574 match self {
575 Self::__SourceBreaking { unknown_ordinal: _ } => true,
576 _ => false,
577 }
578 }
579}
580
581#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
583pub enum ControlSetDaiFormatError {
584 DeviceError,
586 WrongDeviceType,
588 AlreadyPending,
590 InvalidElementId,
592 InvalidDaiFormat,
594 FormatMismatch,
596 Other,
598 #[doc(hidden)]
599 __SourceBreaking { unknown_ordinal: u32 },
600}
601
602#[macro_export]
604macro_rules! ControlSetDaiFormatErrorUnknown {
605 () => {
606 _
607 };
608}
609
610impl ControlSetDaiFormatError {
611 #[inline]
612 pub fn from_primitive(prim: u32) -> Option<Self> {
613 match prim {
614 1 => Some(Self::DeviceError),
615 2 => Some(Self::WrongDeviceType),
616 3 => Some(Self::AlreadyPending),
617 4 => Some(Self::InvalidElementId),
618 5 => Some(Self::InvalidDaiFormat),
619 6 => Some(Self::FormatMismatch),
620 7 => Some(Self::Other),
621 _ => None,
622 }
623 }
624
625 #[inline]
626 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
627 match prim {
628 1 => Self::DeviceError,
629 2 => Self::WrongDeviceType,
630 3 => Self::AlreadyPending,
631 4 => Self::InvalidElementId,
632 5 => Self::InvalidDaiFormat,
633 6 => Self::FormatMismatch,
634 7 => Self::Other,
635 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
636 }
637 }
638
639 #[inline]
640 pub fn unknown() -> Self {
641 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
642 }
643
644 #[inline]
645 pub const fn into_primitive(self) -> u32 {
646 match self {
647 Self::DeviceError => 1,
648 Self::WrongDeviceType => 2,
649 Self::AlreadyPending => 3,
650 Self::InvalidElementId => 4,
651 Self::InvalidDaiFormat => 5,
652 Self::FormatMismatch => 6,
653 Self::Other => 7,
654 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
655 }
656 }
657
658 #[inline]
659 pub fn is_unknown(&self) -> bool {
660 match self {
661 Self::__SourceBreaking { unknown_ordinal: _ } => true,
662 _ => false,
663 }
664 }
665}
666
667#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
669pub enum DeviceType {
670 Codec,
672 Composite,
674 #[doc(hidden)]
675 __SourceBreaking { unknown_ordinal: u32 },
676}
677
678#[macro_export]
680macro_rules! DeviceTypeUnknown {
681 () => {
682 _
683 };
684}
685
686impl DeviceType {
687 #[inline]
688 pub fn from_primitive(prim: u32) -> Option<Self> {
689 match prim {
690 1 => Some(Self::Codec),
691 2 => Some(Self::Composite),
692 _ => None,
693 }
694 }
695
696 #[inline]
697 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
698 match prim {
699 1 => Self::Codec,
700 2 => Self::Composite,
701 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
702 }
703 }
704
705 #[inline]
706 pub fn unknown() -> Self {
707 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
708 }
709
710 #[inline]
711 pub const fn into_primitive(self) -> u32 {
712 match self {
713 Self::Codec => 1,
714 Self::Composite => 2,
715 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
716 }
717 }
718
719 #[inline]
720 pub fn is_unknown(&self) -> bool {
721 match self {
722 Self::__SourceBreaking { unknown_ordinal: _ } => true,
723 _ => false,
724 }
725 }
726}
727
728#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
730pub enum ObserverGetReferenceClockError {
731 DeviceError,
733 WrongDeviceType,
735 DeviceClockUnavailable,
737 #[doc(hidden)]
738 __SourceBreaking { unknown_ordinal: u32 },
739}
740
741#[macro_export]
743macro_rules! ObserverGetReferenceClockErrorUnknown {
744 () => {
745 _
746 };
747}
748
749impl ObserverGetReferenceClockError {
750 #[inline]
751 pub fn from_primitive(prim: u32) -> Option<Self> {
752 match prim {
753 1 => Some(Self::DeviceError),
754 2 => Some(Self::WrongDeviceType),
755 3 => Some(Self::DeviceClockUnavailable),
756 _ => None,
757 }
758 }
759
760 #[inline]
761 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
762 match prim {
763 1 => Self::DeviceError,
764 2 => Self::WrongDeviceType,
765 3 => Self::DeviceClockUnavailable,
766 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
767 }
768 }
769
770 #[inline]
771 pub fn unknown() -> Self {
772 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
773 }
774
775 #[inline]
776 pub const fn into_primitive(self) -> u32 {
777 match self {
778 Self::DeviceError => 1,
779 Self::WrongDeviceType => 2,
780 Self::DeviceClockUnavailable => 3,
781 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
782 }
783 }
784
785 #[inline]
786 pub fn is_unknown(&self) -> bool {
787 match self {
788 Self::__SourceBreaking { unknown_ordinal: _ } => true,
789 _ => false,
790 }
791 }
792}
793
794#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
796pub enum ObserverWatchPlugStateError {
797 DeviceError,
799 WrongDeviceType,
801 AlreadyPending,
803 #[doc(hidden)]
804 __SourceBreaking { unknown_ordinal: u32 },
805}
806
807#[macro_export]
809macro_rules! ObserverWatchPlugStateErrorUnknown {
810 () => {
811 _
812 };
813}
814
815impl ObserverWatchPlugStateError {
816 #[inline]
817 pub fn from_primitive(prim: u32) -> Option<Self> {
818 match prim {
819 1 => Some(Self::DeviceError),
820 2 => Some(Self::WrongDeviceType),
821 3 => Some(Self::AlreadyPending),
822 _ => None,
823 }
824 }
825
826 #[inline]
827 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
828 match prim {
829 1 => Self::DeviceError,
830 2 => Self::WrongDeviceType,
831 3 => Self::AlreadyPending,
832 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
833 }
834 }
835
836 #[inline]
837 pub fn unknown() -> Self {
838 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
839 }
840
841 #[inline]
842 pub const fn into_primitive(self) -> u32 {
843 match self {
844 Self::DeviceError => 1,
845 Self::WrongDeviceType => 2,
846 Self::AlreadyPending => 3,
847 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
848 }
849 }
850
851 #[inline]
852 pub fn is_unknown(&self) -> bool {
853 match self {
854 Self::__SourceBreaking { unknown_ordinal: _ } => true,
855 _ => false,
856 }
857 }
858}
859
860#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
862pub enum PacketStreamSetBufferError {
863 DeviceError,
865 AlreadyStarted,
867 AlreadyConfigured,
869 BadStrategy,
871 BadVmoConfig,
873 WrongDeviceType,
875 InvalidElementId,
877 InsufficientRights,
879 BufferTooSmall,
881 Other,
883 #[doc(hidden)]
884 __SourceBreaking { unknown_ordinal: u32 },
885}
886
887#[macro_export]
889macro_rules! PacketStreamSetBufferErrorUnknown {
890 () => {
891 _
892 };
893}
894
895impl PacketStreamSetBufferError {
896 #[inline]
897 pub fn from_primitive(prim: u32) -> Option<Self> {
898 match prim {
899 1 => Some(Self::DeviceError),
900 2 => Some(Self::AlreadyStarted),
901 3 => Some(Self::AlreadyConfigured),
902 4 => Some(Self::BadStrategy),
903 5 => Some(Self::BadVmoConfig),
904 6 => Some(Self::WrongDeviceType),
905 7 => Some(Self::InvalidElementId),
906 8 => Some(Self::InsufficientRights),
907 9 => Some(Self::BufferTooSmall),
908 10 => Some(Self::Other),
909 _ => None,
910 }
911 }
912
913 #[inline]
914 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
915 match prim {
916 1 => Self::DeviceError,
917 2 => Self::AlreadyStarted,
918 3 => Self::AlreadyConfigured,
919 4 => Self::BadStrategy,
920 5 => Self::BadVmoConfig,
921 6 => Self::WrongDeviceType,
922 7 => Self::InvalidElementId,
923 8 => Self::InsufficientRights,
924 9 => Self::BufferTooSmall,
925 10 => Self::Other,
926 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
927 }
928 }
929
930 #[inline]
931 pub fn unknown() -> Self {
932 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
933 }
934
935 #[inline]
936 pub const fn into_primitive(self) -> u32 {
937 match self {
938 Self::DeviceError => 1,
939 Self::AlreadyStarted => 2,
940 Self::AlreadyConfigured => 3,
941 Self::BadStrategy => 4,
942 Self::BadVmoConfig => 5,
943 Self::WrongDeviceType => 6,
944 Self::InvalidElementId => 7,
945 Self::InsufficientRights => 8,
946 Self::BufferTooSmall => 9,
947 Self::Other => 10,
948 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
949 }
950 }
951
952 #[inline]
953 pub fn is_unknown(&self) -> bool {
954 match self {
955 Self::__SourceBreaking { unknown_ordinal: _ } => true,
956 _ => false,
957 }
958 }
959}
960
961#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
963pub enum PacketStreamStartError {
964 DeviceError,
966 AlreadyPending,
968 AlreadyStarted,
970 #[doc(hidden)]
971 __SourceBreaking { unknown_ordinal: u32 },
972}
973
974#[macro_export]
976macro_rules! PacketStreamStartErrorUnknown {
977 () => {
978 _
979 };
980}
981
982impl PacketStreamStartError {
983 #[inline]
984 pub fn from_primitive(prim: u32) -> Option<Self> {
985 match prim {
986 1 => Some(Self::DeviceError),
987 2 => Some(Self::AlreadyPending),
988 3 => Some(Self::AlreadyStarted),
989 _ => None,
990 }
991 }
992
993 #[inline]
994 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
995 match prim {
996 1 => Self::DeviceError,
997 2 => Self::AlreadyPending,
998 3 => Self::AlreadyStarted,
999 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
1000 }
1001 }
1002
1003 #[inline]
1004 pub fn unknown() -> Self {
1005 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
1006 }
1007
1008 #[inline]
1009 pub const fn into_primitive(self) -> u32 {
1010 match self {
1011 Self::DeviceError => 1,
1012 Self::AlreadyPending => 2,
1013 Self::AlreadyStarted => 3,
1014 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
1015 }
1016 }
1017
1018 #[inline]
1019 pub fn is_unknown(&self) -> bool {
1020 match self {
1021 Self::__SourceBreaking { unknown_ordinal: _ } => true,
1022 _ => false,
1023 }
1024 }
1025}
1026
1027#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
1029pub enum PacketStreamStopError {
1030 DeviceError,
1032 AlreadyPending,
1034 AlreadyStopped,
1036 #[doc(hidden)]
1037 __SourceBreaking { unknown_ordinal: u32 },
1038}
1039
1040#[macro_export]
1042macro_rules! PacketStreamStopErrorUnknown {
1043 () => {
1044 _
1045 };
1046}
1047
1048impl PacketStreamStopError {
1049 #[inline]
1050 pub fn from_primitive(prim: u32) -> Option<Self> {
1051 match prim {
1052 1 => Some(Self::DeviceError),
1053 2 => Some(Self::AlreadyPending),
1054 3 => Some(Self::AlreadyStopped),
1055 _ => None,
1056 }
1057 }
1058
1059 #[inline]
1060 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
1061 match prim {
1062 1 => Self::DeviceError,
1063 2 => Self::AlreadyPending,
1064 3 => Self::AlreadyStopped,
1065 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
1066 }
1067 }
1068
1069 #[inline]
1070 pub fn unknown() -> Self {
1071 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
1072 }
1073
1074 #[inline]
1075 pub const fn into_primitive(self) -> u32 {
1076 match self {
1077 Self::DeviceError => 1,
1078 Self::AlreadyPending => 2,
1079 Self::AlreadyStopped => 3,
1080 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
1081 }
1082 }
1083
1084 #[inline]
1085 pub fn is_unknown(&self) -> bool {
1086 match self {
1087 Self::__SourceBreaking { unknown_ordinal: _ } => true,
1088 _ => false,
1089 }
1090 }
1091}
1092
1093#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
1095pub enum PlugDetectCapabilities {
1096 Hardwired,
1098 Pluggable,
1100 #[doc(hidden)]
1101 __SourceBreaking { unknown_ordinal: u32 },
1102}
1103
1104#[macro_export]
1106macro_rules! PlugDetectCapabilitiesUnknown {
1107 () => {
1108 _
1109 };
1110}
1111
1112impl PlugDetectCapabilities {
1113 #[inline]
1114 pub fn from_primitive(prim: u32) -> Option<Self> {
1115 match prim {
1116 0 => Some(Self::Hardwired),
1117 1 => Some(Self::Pluggable),
1118 _ => None,
1119 }
1120 }
1121
1122 #[inline]
1123 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
1124 match prim {
1125 0 => Self::Hardwired,
1126 1 => Self::Pluggable,
1127 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
1128 }
1129 }
1130
1131 #[inline]
1132 pub fn unknown() -> Self {
1133 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
1134 }
1135
1136 #[inline]
1137 pub const fn into_primitive(self) -> u32 {
1138 match self {
1139 Self::Hardwired => 0,
1140 Self::Pluggable => 1,
1141 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
1142 }
1143 }
1144
1145 #[inline]
1146 pub fn is_unknown(&self) -> bool {
1147 match self {
1148 Self::__SourceBreaking { unknown_ordinal: _ } => true,
1149 _ => false,
1150 }
1151 }
1152}
1153
1154#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
1156pub enum PlugState {
1157 Plugged,
1159 Unplugged,
1161 #[doc(hidden)]
1162 __SourceBreaking { unknown_ordinal: u32 },
1163}
1164
1165#[macro_export]
1167macro_rules! PlugStateUnknown {
1168 () => {
1169 _
1170 };
1171}
1172
1173impl PlugState {
1174 #[inline]
1175 pub fn from_primitive(prim: u32) -> Option<Self> {
1176 match prim {
1177 1 => Some(Self::Plugged),
1178 2 => Some(Self::Unplugged),
1179 _ => None,
1180 }
1181 }
1182
1183 #[inline]
1184 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
1185 match prim {
1186 1 => Self::Plugged,
1187 2 => Self::Unplugged,
1188 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
1189 }
1190 }
1191
1192 #[inline]
1193 pub fn unknown() -> Self {
1194 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
1195 }
1196
1197 #[inline]
1198 pub const fn into_primitive(self) -> u32 {
1199 match self {
1200 Self::Plugged => 1,
1201 Self::Unplugged => 2,
1202 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
1203 }
1204 }
1205
1206 #[inline]
1207 pub fn is_unknown(&self) -> bool {
1208 match self {
1209 Self::__SourceBreaking { unknown_ordinal: _ } => true,
1210 _ => false,
1211 }
1212 }
1213}
1214
1215#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
1217pub enum ProviderAddDeviceError {
1218 InvalidName,
1220 InvalidType,
1222 InvalidDriverClient,
1224 WrongClientType,
1226 #[doc(hidden)]
1227 __SourceBreaking { unknown_ordinal: u32 },
1228}
1229
1230#[macro_export]
1232macro_rules! ProviderAddDeviceErrorUnknown {
1233 () => {
1234 _
1235 };
1236}
1237
1238impl ProviderAddDeviceError {
1239 #[inline]
1240 pub fn from_primitive(prim: u32) -> Option<Self> {
1241 match prim {
1242 1 => Some(Self::InvalidName),
1243 2 => Some(Self::InvalidType),
1244 3 => Some(Self::InvalidDriverClient),
1245 4 => Some(Self::WrongClientType),
1246 _ => None,
1247 }
1248 }
1249
1250 #[inline]
1251 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
1252 match prim {
1253 1 => Self::InvalidName,
1254 2 => Self::InvalidType,
1255 3 => Self::InvalidDriverClient,
1256 4 => Self::WrongClientType,
1257 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
1258 }
1259 }
1260
1261 #[inline]
1262 pub fn unknown() -> Self {
1263 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
1264 }
1265
1266 #[inline]
1267 pub const fn into_primitive(self) -> u32 {
1268 match self {
1269 Self::InvalidName => 1,
1270 Self::InvalidType => 2,
1271 Self::InvalidDriverClient => 3,
1272 Self::WrongClientType => 4,
1273 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
1274 }
1275 }
1276
1277 #[inline]
1278 pub fn is_unknown(&self) -> bool {
1279 match self {
1280 Self::__SourceBreaking { unknown_ordinal: _ } => true,
1281 _ => false,
1282 }
1283 }
1284}
1285
1286#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
1288pub enum RegistryCreateObserverError {
1289 InvalidTokenId,
1291 InvalidObserver,
1293 DeviceNotFound,
1296 DeviceError,
1298 #[doc(hidden)]
1299 __SourceBreaking { unknown_ordinal: u32 },
1300}
1301
1302#[macro_export]
1304macro_rules! RegistryCreateObserverErrorUnknown {
1305 () => {
1306 _
1307 };
1308}
1309
1310impl RegistryCreateObserverError {
1311 #[inline]
1312 pub fn from_primitive(prim: u32) -> Option<Self> {
1313 match prim {
1314 1 => Some(Self::InvalidTokenId),
1315 2 => Some(Self::InvalidObserver),
1316 3 => Some(Self::DeviceNotFound),
1317 4 => Some(Self::DeviceError),
1318 _ => None,
1319 }
1320 }
1321
1322 #[inline]
1323 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
1324 match prim {
1325 1 => Self::InvalidTokenId,
1326 2 => Self::InvalidObserver,
1327 3 => Self::DeviceNotFound,
1328 4 => Self::DeviceError,
1329 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
1330 }
1331 }
1332
1333 #[inline]
1334 pub fn unknown() -> Self {
1335 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
1336 }
1337
1338 #[inline]
1339 pub const fn into_primitive(self) -> u32 {
1340 match self {
1341 Self::InvalidTokenId => 1,
1342 Self::InvalidObserver => 2,
1343 Self::DeviceNotFound => 3,
1344 Self::DeviceError => 4,
1345 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
1346 }
1347 }
1348
1349 #[inline]
1350 pub fn is_unknown(&self) -> bool {
1351 match self {
1352 Self::__SourceBreaking { unknown_ordinal: _ } => true,
1353 _ => false,
1354 }
1355 }
1356}
1357
1358#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
1360pub enum RegistryWatchDeviceRemovedError {
1361 AlreadyPending,
1363 #[doc(hidden)]
1364 __SourceBreaking { unknown_ordinal: u32 },
1365}
1366
1367#[macro_export]
1369macro_rules! RegistryWatchDeviceRemovedErrorUnknown {
1370 () => {
1371 _
1372 };
1373}
1374
1375impl RegistryWatchDeviceRemovedError {
1376 #[inline]
1377 pub fn from_primitive(prim: u32) -> Option<Self> {
1378 match prim {
1379 1 => Some(Self::AlreadyPending),
1380 _ => None,
1381 }
1382 }
1383
1384 #[inline]
1385 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
1386 match prim {
1387 1 => Self::AlreadyPending,
1388 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
1389 }
1390 }
1391
1392 #[inline]
1393 pub fn unknown() -> Self {
1394 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
1395 }
1396
1397 #[inline]
1398 pub const fn into_primitive(self) -> u32 {
1399 match self {
1400 Self::AlreadyPending => 1,
1401 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
1402 }
1403 }
1404
1405 #[inline]
1406 pub fn is_unknown(&self) -> bool {
1407 match self {
1408 Self::__SourceBreaking { unknown_ordinal: _ } => true,
1409 _ => false,
1410 }
1411 }
1412}
1413
1414#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
1416pub enum RegistryWatchDevicesAddedError {
1417 AlreadyPending,
1419 #[doc(hidden)]
1420 __SourceBreaking { unknown_ordinal: u32 },
1421}
1422
1423#[macro_export]
1425macro_rules! RegistryWatchDevicesAddedErrorUnknown {
1426 () => {
1427 _
1428 };
1429}
1430
1431impl RegistryWatchDevicesAddedError {
1432 #[inline]
1433 pub fn from_primitive(prim: u32) -> Option<Self> {
1434 match prim {
1435 1 => Some(Self::AlreadyPending),
1436 _ => None,
1437 }
1438 }
1439
1440 #[inline]
1441 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
1442 match prim {
1443 1 => Self::AlreadyPending,
1444 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
1445 }
1446 }
1447
1448 #[inline]
1449 pub fn unknown() -> Self {
1450 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
1451 }
1452
1453 #[inline]
1454 pub const fn into_primitive(self) -> u32 {
1455 match self {
1456 Self::AlreadyPending => 1,
1457 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
1458 }
1459 }
1460
1461 #[inline]
1462 pub fn is_unknown(&self) -> bool {
1463 match self {
1464 Self::__SourceBreaking { unknown_ordinal: _ } => true,
1465 _ => false,
1466 }
1467 }
1468}
1469
1470#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
1472pub enum RingBufferSetActiveChannelsError {
1473 DeviceError,
1475 AlreadyPending,
1477 MethodNotSupported,
1480 InvalidChannelBitmask,
1482 ChannelOutOfRange,
1485 #[doc(hidden)]
1486 __SourceBreaking { unknown_ordinal: u32 },
1487}
1488
1489#[macro_export]
1491macro_rules! RingBufferSetActiveChannelsErrorUnknown {
1492 () => {
1493 _
1494 };
1495}
1496
1497impl RingBufferSetActiveChannelsError {
1498 #[inline]
1499 pub fn from_primitive(prim: u32) -> Option<Self> {
1500 match prim {
1501 1 => Some(Self::DeviceError),
1502 2 => Some(Self::AlreadyPending),
1503 3 => Some(Self::MethodNotSupported),
1504 4 => Some(Self::InvalidChannelBitmask),
1505 5 => Some(Self::ChannelOutOfRange),
1506 _ => None,
1507 }
1508 }
1509
1510 #[inline]
1511 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
1512 match prim {
1513 1 => Self::DeviceError,
1514 2 => Self::AlreadyPending,
1515 3 => Self::MethodNotSupported,
1516 4 => Self::InvalidChannelBitmask,
1517 5 => Self::ChannelOutOfRange,
1518 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
1519 }
1520 }
1521
1522 #[inline]
1523 pub fn unknown() -> Self {
1524 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
1525 }
1526
1527 #[inline]
1528 pub const fn into_primitive(self) -> u32 {
1529 match self {
1530 Self::DeviceError => 1,
1531 Self::AlreadyPending => 2,
1532 Self::MethodNotSupported => 3,
1533 Self::InvalidChannelBitmask => 4,
1534 Self::ChannelOutOfRange => 5,
1535 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
1536 }
1537 }
1538
1539 #[inline]
1540 pub fn is_unknown(&self) -> bool {
1541 match self {
1542 Self::__SourceBreaking { unknown_ordinal: _ } => true,
1543 _ => false,
1544 }
1545 }
1546}
1547
1548#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
1550pub enum RingBufferStartError {
1551 DeviceError,
1553 AlreadyPending,
1555 AlreadyStarted,
1557 #[doc(hidden)]
1558 __SourceBreaking { unknown_ordinal: u32 },
1559}
1560
1561#[macro_export]
1563macro_rules! RingBufferStartErrorUnknown {
1564 () => {
1565 _
1566 };
1567}
1568
1569impl RingBufferStartError {
1570 #[inline]
1571 pub fn from_primitive(prim: u32) -> Option<Self> {
1572 match prim {
1573 1 => Some(Self::DeviceError),
1574 2 => Some(Self::AlreadyPending),
1575 3 => Some(Self::AlreadyStarted),
1576 _ => None,
1577 }
1578 }
1579
1580 #[inline]
1581 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
1582 match prim {
1583 1 => Self::DeviceError,
1584 2 => Self::AlreadyPending,
1585 3 => Self::AlreadyStarted,
1586 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
1587 }
1588 }
1589
1590 #[inline]
1591 pub fn unknown() -> Self {
1592 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
1593 }
1594
1595 #[inline]
1596 pub const fn into_primitive(self) -> u32 {
1597 match self {
1598 Self::DeviceError => 1,
1599 Self::AlreadyPending => 2,
1600 Self::AlreadyStarted => 3,
1601 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
1602 }
1603 }
1604
1605 #[inline]
1606 pub fn is_unknown(&self) -> bool {
1607 match self {
1608 Self::__SourceBreaking { unknown_ordinal: _ } => true,
1609 _ => false,
1610 }
1611 }
1612}
1613
1614#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
1616pub enum RingBufferStopError {
1617 DeviceError,
1619 AlreadyPending,
1621 AlreadyStopped,
1623 #[doc(hidden)]
1624 __SourceBreaking { unknown_ordinal: u32 },
1625}
1626
1627#[macro_export]
1629macro_rules! RingBufferStopErrorUnknown {
1630 () => {
1631 _
1632 };
1633}
1634
1635impl RingBufferStopError {
1636 #[inline]
1637 pub fn from_primitive(prim: u32) -> Option<Self> {
1638 match prim {
1639 1 => Some(Self::DeviceError),
1640 2 => Some(Self::AlreadyPending),
1641 3 => Some(Self::AlreadyStopped),
1642 _ => None,
1643 }
1644 }
1645
1646 #[inline]
1647 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
1648 match prim {
1649 1 => Self::DeviceError,
1650 2 => Self::AlreadyPending,
1651 3 => Self::AlreadyStopped,
1652 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
1653 }
1654 }
1655
1656 #[inline]
1657 pub fn unknown() -> Self {
1658 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
1659 }
1660
1661 #[inline]
1662 pub const fn into_primitive(self) -> u32 {
1663 match self {
1664 Self::DeviceError => 1,
1665 Self::AlreadyPending => 2,
1666 Self::AlreadyStopped => 3,
1667 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
1668 }
1669 }
1670
1671 #[inline]
1672 pub fn is_unknown(&self) -> bool {
1673 match self {
1674 Self::__SourceBreaking { unknown_ordinal: _ } => true,
1675 _ => false,
1676 }
1677 }
1678}
1679
1680#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
1682pub enum RingBufferWatchDelayInfoError {
1683 DeviceError,
1685 AlreadyPending,
1687 #[doc(hidden)]
1688 __SourceBreaking { unknown_ordinal: u32 },
1689}
1690
1691#[macro_export]
1693macro_rules! RingBufferWatchDelayInfoErrorUnknown {
1694 () => {
1695 _
1696 };
1697}
1698
1699impl RingBufferWatchDelayInfoError {
1700 #[inline]
1701 pub fn from_primitive(prim: u32) -> Option<Self> {
1702 match prim {
1703 1 => Some(Self::DeviceError),
1704 2 => Some(Self::AlreadyPending),
1705 _ => None,
1706 }
1707 }
1708
1709 #[inline]
1710 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
1711 match prim {
1712 1 => Self::DeviceError,
1713 2 => Self::AlreadyPending,
1714 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
1715 }
1716 }
1717
1718 #[inline]
1719 pub fn unknown() -> Self {
1720 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
1721 }
1722
1723 #[inline]
1724 pub const fn into_primitive(self) -> u32 {
1725 match self {
1726 Self::DeviceError => 1,
1727 Self::AlreadyPending => 2,
1728 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
1729 }
1730 }
1731
1732 #[inline]
1733 pub fn is_unknown(&self) -> bool {
1734 match self {
1735 Self::__SourceBreaking { unknown_ordinal: _ } => true,
1736 _ => false,
1737 }
1738 }
1739}
1740
1741#[derive(Clone, Debug, Default, PartialEq)]
1743pub struct ChannelAttributes {
1744 pub min_frequency: Option<u32>,
1749 pub max_frequency: Option<u32>,
1754 #[doc(hidden)]
1755 pub __source_breaking: fidl::marker::SourceBreaking,
1756}
1757
1758impl fidl::Persistable for ChannelAttributes {}
1759
1760#[derive(Clone, Debug, Default, PartialEq)]
1762pub struct ChannelSet {
1763 pub attributes: Option<Vec<ChannelAttributes>>,
1769 #[doc(hidden)]
1770 pub __source_breaking: fidl::marker::SourceBreaking,
1771}
1772
1773impl fidl::Persistable for ChannelSet {}
1774
1775#[derive(Clone, Debug, Default, PartialEq)]
1776pub struct ControlCreatorCreateResponse {
1777 #[doc(hidden)]
1778 pub __source_breaking: fidl::marker::SourceBreaking,
1779}
1780
1781impl fidl::Persistable for ControlCreatorCreateResponse {}
1782
1783#[derive(Clone, Debug, Default, PartialEq)]
1784pub struct ControlSetDaiFormatRequest {
1785 pub element_id: Option<u64>,
1789 pub dai_format: Option<fidl_fuchsia_hardware_audio__common::DaiFormat>,
1790 #[doc(hidden)]
1791 pub __source_breaking: fidl::marker::SourceBreaking,
1792}
1793
1794impl fidl::Persistable for ControlSetDaiFormatRequest {}
1795
1796#[derive(Clone, Debug, Default, PartialEq)]
1797pub struct ControlCodecStartResponse {
1798 pub start_time: Option<i64>,
1799 #[doc(hidden)]
1800 pub __source_breaking: fidl::marker::SourceBreaking,
1801}
1802
1803impl fidl::Persistable for ControlCodecStartResponse {}
1804
1805#[derive(Clone, Debug, Default, PartialEq)]
1806pub struct ControlCodecStopResponse {
1807 pub stop_time: Option<i64>,
1808 #[doc(hidden)]
1809 pub __source_breaking: fidl::marker::SourceBreaking,
1810}
1811
1812impl fidl::Persistable for ControlCodecStopResponse {}
1813
1814#[derive(Clone, Debug, Default, PartialEq)]
1815pub struct ControlResetResponse {
1816 #[doc(hidden)]
1817 pub __source_breaking: fidl::marker::SourceBreaking,
1818}
1819
1820impl fidl::Persistable for ControlResetResponse {}
1821
1822#[derive(Clone, Debug, Default, PartialEq)]
1823pub struct ControlSetDaiFormatResponse {
1824 pub state: Option<fidl_fuchsia_hardware_audio__common::CodecFormatInfo>,
1825 #[doc(hidden)]
1826 pub __source_breaking: fidl::marker::SourceBreaking,
1827}
1828
1829impl fidl::Persistable for ControlSetDaiFormatResponse {}
1830
1831#[derive(Clone, Debug, Default, PartialEq)]
1832pub struct DelayInfo {
1833 pub internal_delay: Option<i64>,
1838 pub external_delay: Option<i64>,
1844 #[doc(hidden)]
1845 pub __source_breaking: fidl::marker::SourceBreaking,
1846}
1847
1848impl fidl::Persistable for DelayInfo {}
1849
1850#[derive(Clone, Debug, Default, PartialEq)]
1852pub struct ElementDaiFormatSet {
1853 pub element_id: Option<u64>,
1860 pub format_sets: Option<Vec<fidl_fuchsia_hardware_audio__common::DaiSupportedFormats>>,
1864 #[doc(hidden)]
1865 pub __source_breaking: fidl::marker::SourceBreaking,
1866}
1867
1868impl fidl::Persistable for ElementDaiFormatSet {}
1869
1870#[derive(Clone, Debug, Default, PartialEq)]
1872pub struct ElementPacketStreamFormatSet {
1873 pub element_id: Option<u64>,
1878 pub format_sets: Option<Vec<PacketStreamSupportedFormats>>,
1882 #[doc(hidden)]
1883 pub __source_breaking: fidl::marker::SourceBreaking,
1884}
1885
1886impl fidl::Persistable for ElementPacketStreamFormatSet {}
1887
1888#[derive(Clone, Debug, Default, PartialEq)]
1890pub struct ElementRingBufferFormatSet {
1891 pub element_id: Option<u64>,
1896 pub format_sets: Option<Vec<PcmFormatSet>>,
1900 #[doc(hidden)]
1901 pub __source_breaking: fidl::marker::SourceBreaking,
1902}
1903
1904impl fidl::Persistable for ElementRingBufferFormatSet {}
1905
1906#[derive(Clone, Debug, Default, PartialEq)]
1913pub struct Info {
1914 pub token_id: Option<u64>,
1919 pub device_type: Option<DeviceType>,
1923 pub device_name: Option<String>,
1928 pub manufacturer: Option<String>,
1933 pub product: Option<String>,
1938 pub unique_instance_id: Option<[u8; 16]>,
1944 pub is_input: Option<bool>,
1948 pub ring_buffer_format_sets: Option<Vec<ElementRingBufferFormatSet>>,
1958 pub dai_format_sets: Option<Vec<ElementDaiFormatSet>>,
1968 pub plug_detect_caps: Option<PlugDetectCapabilities>,
1972 pub clock_domain: Option<u32>,
1989 pub signal_processing_elements:
1994 Option<Vec<fidl_fuchsia_hardware_audio_signalprocessing__common::Element>>,
1995 pub signal_processing_topologies:
2000 Option<Vec<fidl_fuchsia_hardware_audio_signalprocessing__common::Topology>>,
2001 pub packet_stream_format_sets: Option<Vec<ElementPacketStreamFormatSet>>,
2011 #[doc(hidden)]
2012 pub __source_breaking: fidl::marker::SourceBreaking,
2013}
2014
2015impl fidl::Persistable for Info {}
2016
2017#[derive(Clone, Debug, Default, PartialEq)]
2018pub struct ObserverWatchPlugStateResponse {
2019 pub state: Option<PlugState>,
2021 pub plug_time: Option<i64>,
2023 #[doc(hidden)]
2024 pub __source_breaking: fidl::marker::SourceBreaking,
2025}
2026
2027impl fidl::Persistable for ObserverWatchPlugStateResponse {}
2028
2029#[derive(Clone, Debug, Default, PartialEq)]
2030pub struct PacketStreamStartRequest {
2031 #[doc(hidden)]
2032 pub __source_breaking: fidl::marker::SourceBreaking,
2033}
2034
2035impl fidl::Persistable for PacketStreamStartRequest {}
2036
2037#[derive(Clone, Debug, Default, PartialEq)]
2038pub struct PacketStreamStopRequest {
2039 #[doc(hidden)]
2040 pub __source_breaking: fidl::marker::SourceBreaking,
2041}
2042
2043impl fidl::Persistable for PacketStreamStopRequest {}
2044
2045#[derive(Clone, Debug, Default, PartialEq)]
2046pub struct PacketStreamStartResponse {
2047 #[doc(hidden)]
2048 pub __source_breaking: fidl::marker::SourceBreaking,
2049}
2050
2051impl fidl::Persistable for PacketStreamStartResponse {}
2052
2053#[derive(Clone, Debug, Default, PartialEq)]
2054pub struct PacketStreamStopResponse {
2055 #[doc(hidden)]
2056 pub __source_breaking: fidl::marker::SourceBreaking,
2057}
2058
2059impl fidl::Persistable for PacketStreamStopResponse {}
2060
2061#[derive(Clone, Debug, Default, PartialEq)]
2065pub struct PcmFormatSet {
2066 pub channel_sets: Option<Vec<ChannelSet>>,
2071 pub sample_types: Option<Vec<fidl_fuchsia_audio__common::SampleType>>,
2076 pub frame_rates: Option<Vec<u32>>,
2081 #[doc(hidden)]
2082 pub __source_breaking: fidl::marker::SourceBreaking,
2083}
2084
2085impl fidl::Persistable for PcmFormatSet {}
2086
2087#[derive(Clone, Debug, Default, PartialEq)]
2088pub struct ProviderAddDeviceResponse {
2089 #[doc(hidden)]
2090 pub __source_breaking: fidl::marker::SourceBreaking,
2091}
2092
2093impl fidl::Persistable for ProviderAddDeviceResponse {}
2094
2095#[derive(Clone, Debug, Default, PartialEq)]
2096pub struct RegistryCreateObserverResponse {
2097 #[doc(hidden)]
2098 pub __source_breaking: fidl::marker::SourceBreaking,
2099}
2100
2101impl fidl::Persistable for RegistryCreateObserverResponse {}
2102
2103#[derive(Clone, Debug, Default, PartialEq)]
2104pub struct RegistryWatchDeviceRemovedResponse {
2105 pub token_id: Option<u64>,
2107 #[doc(hidden)]
2108 pub __source_breaking: fidl::marker::SourceBreaking,
2109}
2110
2111impl fidl::Persistable for RegistryWatchDeviceRemovedResponse {}
2112
2113#[derive(Clone, Debug, Default, PartialEq)]
2114pub struct RegistryWatchDevicesAddedResponse {
2115 pub devices: Option<Vec<Info>>,
2120 #[doc(hidden)]
2121 pub __source_breaking: fidl::marker::SourceBreaking,
2122}
2123
2124impl fidl::Persistable for RegistryWatchDevicesAddedResponse {}
2125
2126#[derive(Clone, Debug, Default, PartialEq)]
2128pub struct RingBufferOptions {
2129 pub format: Option<fidl_fuchsia_audio__common::Format>,
2134 pub ring_buffer_min_bytes: Option<u32>,
2139 #[doc(hidden)]
2140 pub __source_breaking: fidl::marker::SourceBreaking,
2141}
2142
2143impl fidl::Persistable for RingBufferOptions {}
2144
2145#[derive(Clone, Debug, Default, PartialEq)]
2147pub struct RingBufferProperties {
2148 pub valid_bits_per_sample: Option<u8>,
2155 pub turn_on_delay: Option<i64>,
2161 #[doc(hidden)]
2162 pub __source_breaking: fidl::marker::SourceBreaking,
2163}
2164
2165impl fidl::Persistable for RingBufferProperties {}
2166
2167#[derive(Clone, Debug, Default, PartialEq)]
2168pub struct RingBufferSetActiveChannelsRequest {
2169 pub channel_bitmask: Option<u64>,
2176 #[doc(hidden)]
2177 pub __source_breaking: fidl::marker::SourceBreaking,
2178}
2179
2180impl fidl::Persistable for RingBufferSetActiveChannelsRequest {}
2181
2182#[derive(Clone, Debug, Default, PartialEq)]
2183pub struct RingBufferStartRequest {
2184 #[doc(hidden)]
2185 pub __source_breaking: fidl::marker::SourceBreaking,
2186}
2187
2188impl fidl::Persistable for RingBufferStartRequest {}
2189
2190#[derive(Clone, Debug, Default, PartialEq)]
2191pub struct RingBufferStopRequest {
2192 #[doc(hidden)]
2193 pub __source_breaking: fidl::marker::SourceBreaking,
2194}
2195
2196impl fidl::Persistable for RingBufferStopRequest {}
2197
2198#[derive(Clone, Debug, Default, PartialEq)]
2199pub struct RingBufferSetActiveChannelsResponse {
2200 pub set_time: Option<i64>,
2205 #[doc(hidden)]
2206 pub __source_breaking: fidl::marker::SourceBreaking,
2207}
2208
2209impl fidl::Persistable for RingBufferSetActiveChannelsResponse {}
2210
2211#[derive(Clone, Debug, Default, PartialEq)]
2212pub struct RingBufferStartResponse {
2213 pub start_time: Option<i64>,
2217 #[doc(hidden)]
2218 pub __source_breaking: fidl::marker::SourceBreaking,
2219}
2220
2221impl fidl::Persistable for RingBufferStartResponse {}
2222
2223#[derive(Clone, Debug, Default, PartialEq)]
2224pub struct RingBufferStopResponse {
2225 #[doc(hidden)]
2226 pub __source_breaking: fidl::marker::SourceBreaking,
2227}
2228
2229impl fidl::Persistable for RingBufferStopResponse {}
2230
2231#[derive(Clone, Debug, Default, PartialEq)]
2232pub struct RingBufferWatchDelayInfoResponse {
2233 pub delay_info: Option<DelayInfo>,
2235 #[doc(hidden)]
2236 pub __source_breaking: fidl::marker::SourceBreaking,
2237}
2238
2239impl fidl::Persistable for RingBufferWatchDelayInfoResponse {}
2240
2241#[derive(Clone, Debug)]
2243pub enum PacketStreamFormat {
2244 PcmFormat(fidl_fuchsia_audio__common::Format),
2246 Encoding(fidl_fuchsia_hardware_audio__common::Encoding),
2248 #[doc(hidden)]
2249 __SourceBreaking { unknown_ordinal: u64 },
2250}
2251
2252#[macro_export]
2254macro_rules! PacketStreamFormatUnknown {
2255 () => {
2256 _
2257 };
2258}
2259
2260impl PartialEq for PacketStreamFormat {
2262 fn eq(&self, other: &Self) -> bool {
2263 match (self, other) {
2264 (Self::PcmFormat(x), Self::PcmFormat(y)) => *x == *y,
2265 (Self::Encoding(x), Self::Encoding(y)) => *x == *y,
2266 _ => false,
2267 }
2268 }
2269}
2270
2271impl PacketStreamFormat {
2272 #[inline]
2273 pub fn ordinal(&self) -> u64 {
2274 match *self {
2275 Self::PcmFormat(_) => 1,
2276 Self::Encoding(_) => 2,
2277 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
2278 }
2279 }
2280
2281 #[inline]
2282 pub fn unknown_variant_for_testing() -> Self {
2283 Self::__SourceBreaking { unknown_ordinal: 0 }
2284 }
2285
2286 #[inline]
2287 pub fn is_unknown(&self) -> bool {
2288 match self {
2289 Self::__SourceBreaking { .. } => true,
2290 _ => false,
2291 }
2292 }
2293}
2294
2295impl fidl::Persistable for PacketStreamFormat {}
2296
2297#[derive(Clone, Debug)]
2302pub enum PacketStreamSupportedFormats {
2303 PcmFormat(PcmFormatSet),
2305 SupportedEncodings(fidl_fuchsia_hardware_audio__common::SupportedEncodings),
2307 #[doc(hidden)]
2308 __SourceBreaking { unknown_ordinal: u64 },
2309}
2310
2311#[macro_export]
2313macro_rules! PacketStreamSupportedFormatsUnknown {
2314 () => {
2315 _
2316 };
2317}
2318
2319impl PartialEq for PacketStreamSupportedFormats {
2321 fn eq(&self, other: &Self) -> bool {
2322 match (self, other) {
2323 (Self::PcmFormat(x), Self::PcmFormat(y)) => *x == *y,
2324 (Self::SupportedEncodings(x), Self::SupportedEncodings(y)) => *x == *y,
2325 _ => false,
2326 }
2327 }
2328}
2329
2330impl PacketStreamSupportedFormats {
2331 #[inline]
2332 pub fn ordinal(&self) -> u64 {
2333 match *self {
2334 Self::PcmFormat(_) => 1,
2335 Self::SupportedEncodings(_) => 2,
2336 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
2337 }
2338 }
2339
2340 #[inline]
2341 pub fn unknown_variant_for_testing() -> Self {
2342 Self::__SourceBreaking { unknown_ordinal: 0 }
2343 }
2344
2345 #[inline]
2346 pub fn is_unknown(&self) -> bool {
2347 match self {
2348 Self::__SourceBreaking { .. } => true,
2349 _ => false,
2350 }
2351 }
2352}
2353
2354impl fidl::Persistable for PacketStreamSupportedFormats {}
2355
2356pub mod control_ordinals {
2357 pub const GET_ELEMENTS: u64 = 0x1b14ff4adf5dc6f8;
2358 pub const WATCH_ELEMENT_STATE: u64 = 0x524da8772a69056f;
2359 pub const GET_TOPOLOGIES: u64 = 0x73ffb73af24d30b6;
2360 pub const WATCH_TOPOLOGY: u64 = 0x66d172acdb36a729;
2361 pub const SET_TOPOLOGY: u64 = 0x1d9a7f9b8fee790c;
2362 pub const SET_ELEMENT_STATE: u64 = 0x38c3b2d4bae698f4;
2363 pub const CREATE_RING_BUFFER: u64 = 0x7462941cedb333db;
2364 pub const CREATE_PACKET_STREAM: u64 = 0x5b2eacb5ad7df289;
2365 pub const SET_DAI_FORMAT: u64 = 0x1d84f5a456a92216;
2366 pub const CODEC_START: u64 = 0x2a90a9d2958b997b;
2367 pub const CODEC_STOP: u64 = 0x387297bb6bcad25f;
2368 pub const RESET: u64 = 0x49840db00a698996;
2369}
2370
2371pub mod control_creator_ordinals {
2372 pub const CREATE: u64 = 0x341bdc9f49103a31;
2373}
2374
2375pub mod observer_ordinals {
2376 pub const GET_ELEMENTS: u64 = 0x1b14ff4adf5dc6f8;
2377 pub const WATCH_ELEMENT_STATE: u64 = 0x524da8772a69056f;
2378 pub const GET_TOPOLOGIES: u64 = 0x73ffb73af24d30b6;
2379 pub const WATCH_TOPOLOGY: u64 = 0x66d172acdb36a729;
2380 pub const WATCH_PLUG_STATE: u64 = 0x6312bce495d2907a;
2381 pub const GET_REFERENCE_CLOCK: u64 = 0x3819c5e0f9574c39;
2382}
2383
2384pub mod packet_stream_ordinals {
2385 pub const SET_BUFFERS: u64 = 0x5ccdec88e71cf564;
2386 pub const START: u64 = 0x70710dba352debdd;
2387 pub const STOP: u64 = 0x11db078485b7d51e;
2388}
2389
2390pub mod provider_ordinals {
2391 pub const ADD_DEVICE: u64 = 0x685fdfd91937758b;
2392}
2393
2394pub mod registry_ordinals {
2395 pub const WATCH_DEVICES_ADDED: u64 = 0x562ca31f7c149def;
2396 pub const WATCH_DEVICE_REMOVED: u64 = 0x6e67aabc99a502af;
2397 pub const CREATE_OBSERVER: u64 = 0x577bc322eb8d2bd1;
2398}
2399
2400pub mod ring_buffer_ordinals {
2401 pub const SET_ACTIVE_CHANNELS: u64 = 0x4276c43e4a3b59ee;
2402 pub const START: u64 = 0x5365a8609dc2dc5;
2403 pub const STOP: u64 = 0x5a238810af11e6e1;
2404 pub const WATCH_DELAY_INFO: u64 = 0x6d1dc5a928f38ad6;
2405}
2406
2407mod internal {
2408 use super::*;
2409 unsafe impl fidl::encoding::TypeMarker for ControlCodecStartError {
2410 type Owned = Self;
2411
2412 #[inline(always)]
2413 fn inline_align(_context: fidl::encoding::Context) -> usize {
2414 std::mem::align_of::<u32>()
2415 }
2416
2417 #[inline(always)]
2418 fn inline_size(_context: fidl::encoding::Context) -> usize {
2419 std::mem::size_of::<u32>()
2420 }
2421
2422 #[inline(always)]
2423 fn encode_is_copy() -> bool {
2424 false
2425 }
2426
2427 #[inline(always)]
2428 fn decode_is_copy() -> bool {
2429 false
2430 }
2431 }
2432
2433 impl fidl::encoding::ValueTypeMarker for ControlCodecStartError {
2434 type Borrowed<'a> = Self;
2435 #[inline(always)]
2436 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2437 *value
2438 }
2439 }
2440
2441 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
2442 for ControlCodecStartError
2443 {
2444 #[inline]
2445 unsafe fn encode(
2446 self,
2447 encoder: &mut fidl::encoding::Encoder<'_, D>,
2448 offset: usize,
2449 _depth: fidl::encoding::Depth,
2450 ) -> fidl::Result<()> {
2451 encoder.debug_check_bounds::<Self>(offset);
2452 encoder.write_num(self.into_primitive(), offset);
2453 Ok(())
2454 }
2455 }
2456
2457 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2458 for ControlCodecStartError
2459 {
2460 #[inline(always)]
2461 fn new_empty() -> Self {
2462 Self::unknown()
2463 }
2464
2465 #[inline]
2466 unsafe fn decode(
2467 &mut self,
2468 decoder: &mut fidl::encoding::Decoder<'_, D>,
2469 offset: usize,
2470 _depth: fidl::encoding::Depth,
2471 ) -> fidl::Result<()> {
2472 decoder.debug_check_bounds::<Self>(offset);
2473 let prim = decoder.read_num::<u32>(offset);
2474
2475 *self = Self::from_primitive_allow_unknown(prim);
2476 Ok(())
2477 }
2478 }
2479 unsafe impl fidl::encoding::TypeMarker for ControlCodecStopError {
2480 type Owned = Self;
2481
2482 #[inline(always)]
2483 fn inline_align(_context: fidl::encoding::Context) -> usize {
2484 std::mem::align_of::<u32>()
2485 }
2486
2487 #[inline(always)]
2488 fn inline_size(_context: fidl::encoding::Context) -> usize {
2489 std::mem::size_of::<u32>()
2490 }
2491
2492 #[inline(always)]
2493 fn encode_is_copy() -> bool {
2494 false
2495 }
2496
2497 #[inline(always)]
2498 fn decode_is_copy() -> bool {
2499 false
2500 }
2501 }
2502
2503 impl fidl::encoding::ValueTypeMarker for ControlCodecStopError {
2504 type Borrowed<'a> = Self;
2505 #[inline(always)]
2506 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2507 *value
2508 }
2509 }
2510
2511 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
2512 for ControlCodecStopError
2513 {
2514 #[inline]
2515 unsafe fn encode(
2516 self,
2517 encoder: &mut fidl::encoding::Encoder<'_, D>,
2518 offset: usize,
2519 _depth: fidl::encoding::Depth,
2520 ) -> fidl::Result<()> {
2521 encoder.debug_check_bounds::<Self>(offset);
2522 encoder.write_num(self.into_primitive(), offset);
2523 Ok(())
2524 }
2525 }
2526
2527 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ControlCodecStopError {
2528 #[inline(always)]
2529 fn new_empty() -> Self {
2530 Self::unknown()
2531 }
2532
2533 #[inline]
2534 unsafe fn decode(
2535 &mut self,
2536 decoder: &mut fidl::encoding::Decoder<'_, D>,
2537 offset: usize,
2538 _depth: fidl::encoding::Depth,
2539 ) -> fidl::Result<()> {
2540 decoder.debug_check_bounds::<Self>(offset);
2541 let prim = decoder.read_num::<u32>(offset);
2542
2543 *self = Self::from_primitive_allow_unknown(prim);
2544 Ok(())
2545 }
2546 }
2547 unsafe impl fidl::encoding::TypeMarker for ControlCreatePacketStreamError {
2548 type Owned = Self;
2549
2550 #[inline(always)]
2551 fn inline_align(_context: fidl::encoding::Context) -> usize {
2552 std::mem::align_of::<u32>()
2553 }
2554
2555 #[inline(always)]
2556 fn inline_size(_context: fidl::encoding::Context) -> usize {
2557 std::mem::size_of::<u32>()
2558 }
2559
2560 #[inline(always)]
2561 fn encode_is_copy() -> bool {
2562 false
2563 }
2564
2565 #[inline(always)]
2566 fn decode_is_copy() -> bool {
2567 false
2568 }
2569 }
2570
2571 impl fidl::encoding::ValueTypeMarker for ControlCreatePacketStreamError {
2572 type Borrowed<'a> = Self;
2573 #[inline(always)]
2574 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2575 *value
2576 }
2577 }
2578
2579 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
2580 for ControlCreatePacketStreamError
2581 {
2582 #[inline]
2583 unsafe fn encode(
2584 self,
2585 encoder: &mut fidl::encoding::Encoder<'_, D>,
2586 offset: usize,
2587 _depth: fidl::encoding::Depth,
2588 ) -> fidl::Result<()> {
2589 encoder.debug_check_bounds::<Self>(offset);
2590 encoder.write_num(self.into_primitive(), offset);
2591 Ok(())
2592 }
2593 }
2594
2595 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2596 for ControlCreatePacketStreamError
2597 {
2598 #[inline(always)]
2599 fn new_empty() -> Self {
2600 Self::unknown()
2601 }
2602
2603 #[inline]
2604 unsafe fn decode(
2605 &mut self,
2606 decoder: &mut fidl::encoding::Decoder<'_, D>,
2607 offset: usize,
2608 _depth: fidl::encoding::Depth,
2609 ) -> fidl::Result<()> {
2610 decoder.debug_check_bounds::<Self>(offset);
2611 let prim = decoder.read_num::<u32>(offset);
2612
2613 *self = Self::from_primitive_allow_unknown(prim);
2614 Ok(())
2615 }
2616 }
2617 unsafe impl fidl::encoding::TypeMarker for ControlCreateRingBufferError {
2618 type Owned = Self;
2619
2620 #[inline(always)]
2621 fn inline_align(_context: fidl::encoding::Context) -> usize {
2622 std::mem::align_of::<u32>()
2623 }
2624
2625 #[inline(always)]
2626 fn inline_size(_context: fidl::encoding::Context) -> usize {
2627 std::mem::size_of::<u32>()
2628 }
2629
2630 #[inline(always)]
2631 fn encode_is_copy() -> bool {
2632 false
2633 }
2634
2635 #[inline(always)]
2636 fn decode_is_copy() -> bool {
2637 false
2638 }
2639 }
2640
2641 impl fidl::encoding::ValueTypeMarker for ControlCreateRingBufferError {
2642 type Borrowed<'a> = Self;
2643 #[inline(always)]
2644 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2645 *value
2646 }
2647 }
2648
2649 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
2650 for ControlCreateRingBufferError
2651 {
2652 #[inline]
2653 unsafe fn encode(
2654 self,
2655 encoder: &mut fidl::encoding::Encoder<'_, D>,
2656 offset: usize,
2657 _depth: fidl::encoding::Depth,
2658 ) -> fidl::Result<()> {
2659 encoder.debug_check_bounds::<Self>(offset);
2660 encoder.write_num(self.into_primitive(), offset);
2661 Ok(())
2662 }
2663 }
2664
2665 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2666 for ControlCreateRingBufferError
2667 {
2668 #[inline(always)]
2669 fn new_empty() -> Self {
2670 Self::unknown()
2671 }
2672
2673 #[inline]
2674 unsafe fn decode(
2675 &mut self,
2676 decoder: &mut fidl::encoding::Decoder<'_, D>,
2677 offset: usize,
2678 _depth: fidl::encoding::Depth,
2679 ) -> fidl::Result<()> {
2680 decoder.debug_check_bounds::<Self>(offset);
2681 let prim = decoder.read_num::<u32>(offset);
2682
2683 *self = Self::from_primitive_allow_unknown(prim);
2684 Ok(())
2685 }
2686 }
2687 unsafe impl fidl::encoding::TypeMarker for ControlCreatorError {
2688 type Owned = Self;
2689
2690 #[inline(always)]
2691 fn inline_align(_context: fidl::encoding::Context) -> usize {
2692 std::mem::align_of::<u32>()
2693 }
2694
2695 #[inline(always)]
2696 fn inline_size(_context: fidl::encoding::Context) -> usize {
2697 std::mem::size_of::<u32>()
2698 }
2699
2700 #[inline(always)]
2701 fn encode_is_copy() -> bool {
2702 false
2703 }
2704
2705 #[inline(always)]
2706 fn decode_is_copy() -> bool {
2707 false
2708 }
2709 }
2710
2711 impl fidl::encoding::ValueTypeMarker for ControlCreatorError {
2712 type Borrowed<'a> = Self;
2713 #[inline(always)]
2714 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2715 *value
2716 }
2717 }
2718
2719 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
2720 for ControlCreatorError
2721 {
2722 #[inline]
2723 unsafe fn encode(
2724 self,
2725 encoder: &mut fidl::encoding::Encoder<'_, D>,
2726 offset: usize,
2727 _depth: fidl::encoding::Depth,
2728 ) -> fidl::Result<()> {
2729 encoder.debug_check_bounds::<Self>(offset);
2730 encoder.write_num(self.into_primitive(), offset);
2731 Ok(())
2732 }
2733 }
2734
2735 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ControlCreatorError {
2736 #[inline(always)]
2737 fn new_empty() -> Self {
2738 Self::unknown()
2739 }
2740
2741 #[inline]
2742 unsafe fn decode(
2743 &mut self,
2744 decoder: &mut fidl::encoding::Decoder<'_, D>,
2745 offset: usize,
2746 _depth: fidl::encoding::Depth,
2747 ) -> fidl::Result<()> {
2748 decoder.debug_check_bounds::<Self>(offset);
2749 let prim = decoder.read_num::<u32>(offset);
2750
2751 *self = Self::from_primitive_allow_unknown(prim);
2752 Ok(())
2753 }
2754 }
2755 unsafe impl fidl::encoding::TypeMarker for ControlResetError {
2756 type Owned = Self;
2757
2758 #[inline(always)]
2759 fn inline_align(_context: fidl::encoding::Context) -> usize {
2760 std::mem::align_of::<u32>()
2761 }
2762
2763 #[inline(always)]
2764 fn inline_size(_context: fidl::encoding::Context) -> usize {
2765 std::mem::size_of::<u32>()
2766 }
2767
2768 #[inline(always)]
2769 fn encode_is_copy() -> bool {
2770 false
2771 }
2772
2773 #[inline(always)]
2774 fn decode_is_copy() -> bool {
2775 false
2776 }
2777 }
2778
2779 impl fidl::encoding::ValueTypeMarker for ControlResetError {
2780 type Borrowed<'a> = Self;
2781 #[inline(always)]
2782 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2783 *value
2784 }
2785 }
2786
2787 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
2788 for ControlResetError
2789 {
2790 #[inline]
2791 unsafe fn encode(
2792 self,
2793 encoder: &mut fidl::encoding::Encoder<'_, D>,
2794 offset: usize,
2795 _depth: fidl::encoding::Depth,
2796 ) -> fidl::Result<()> {
2797 encoder.debug_check_bounds::<Self>(offset);
2798 encoder.write_num(self.into_primitive(), offset);
2799 Ok(())
2800 }
2801 }
2802
2803 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ControlResetError {
2804 #[inline(always)]
2805 fn new_empty() -> Self {
2806 Self::unknown()
2807 }
2808
2809 #[inline]
2810 unsafe fn decode(
2811 &mut self,
2812 decoder: &mut fidl::encoding::Decoder<'_, D>,
2813 offset: usize,
2814 _depth: fidl::encoding::Depth,
2815 ) -> fidl::Result<()> {
2816 decoder.debug_check_bounds::<Self>(offset);
2817 let prim = decoder.read_num::<u32>(offset);
2818
2819 *self = Self::from_primitive_allow_unknown(prim);
2820 Ok(())
2821 }
2822 }
2823 unsafe impl fidl::encoding::TypeMarker for ControlSetDaiFormatError {
2824 type Owned = Self;
2825
2826 #[inline(always)]
2827 fn inline_align(_context: fidl::encoding::Context) -> usize {
2828 std::mem::align_of::<u32>()
2829 }
2830
2831 #[inline(always)]
2832 fn inline_size(_context: fidl::encoding::Context) -> usize {
2833 std::mem::size_of::<u32>()
2834 }
2835
2836 #[inline(always)]
2837 fn encode_is_copy() -> bool {
2838 false
2839 }
2840
2841 #[inline(always)]
2842 fn decode_is_copy() -> bool {
2843 false
2844 }
2845 }
2846
2847 impl fidl::encoding::ValueTypeMarker for ControlSetDaiFormatError {
2848 type Borrowed<'a> = Self;
2849 #[inline(always)]
2850 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2851 *value
2852 }
2853 }
2854
2855 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
2856 for ControlSetDaiFormatError
2857 {
2858 #[inline]
2859 unsafe fn encode(
2860 self,
2861 encoder: &mut fidl::encoding::Encoder<'_, D>,
2862 offset: usize,
2863 _depth: fidl::encoding::Depth,
2864 ) -> fidl::Result<()> {
2865 encoder.debug_check_bounds::<Self>(offset);
2866 encoder.write_num(self.into_primitive(), offset);
2867 Ok(())
2868 }
2869 }
2870
2871 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2872 for ControlSetDaiFormatError
2873 {
2874 #[inline(always)]
2875 fn new_empty() -> Self {
2876 Self::unknown()
2877 }
2878
2879 #[inline]
2880 unsafe fn decode(
2881 &mut self,
2882 decoder: &mut fidl::encoding::Decoder<'_, D>,
2883 offset: usize,
2884 _depth: fidl::encoding::Depth,
2885 ) -> fidl::Result<()> {
2886 decoder.debug_check_bounds::<Self>(offset);
2887 let prim = decoder.read_num::<u32>(offset);
2888
2889 *self = Self::from_primitive_allow_unknown(prim);
2890 Ok(())
2891 }
2892 }
2893 unsafe impl fidl::encoding::TypeMarker for DeviceType {
2894 type Owned = Self;
2895
2896 #[inline(always)]
2897 fn inline_align(_context: fidl::encoding::Context) -> usize {
2898 std::mem::align_of::<u32>()
2899 }
2900
2901 #[inline(always)]
2902 fn inline_size(_context: fidl::encoding::Context) -> usize {
2903 std::mem::size_of::<u32>()
2904 }
2905
2906 #[inline(always)]
2907 fn encode_is_copy() -> bool {
2908 false
2909 }
2910
2911 #[inline(always)]
2912 fn decode_is_copy() -> bool {
2913 false
2914 }
2915 }
2916
2917 impl fidl::encoding::ValueTypeMarker for DeviceType {
2918 type Borrowed<'a> = Self;
2919 #[inline(always)]
2920 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2921 *value
2922 }
2923 }
2924
2925 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for DeviceType {
2926 #[inline]
2927 unsafe fn encode(
2928 self,
2929 encoder: &mut fidl::encoding::Encoder<'_, D>,
2930 offset: usize,
2931 _depth: fidl::encoding::Depth,
2932 ) -> fidl::Result<()> {
2933 encoder.debug_check_bounds::<Self>(offset);
2934 encoder.write_num(self.into_primitive(), offset);
2935 Ok(())
2936 }
2937 }
2938
2939 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeviceType {
2940 #[inline(always)]
2941 fn new_empty() -> Self {
2942 Self::unknown()
2943 }
2944
2945 #[inline]
2946 unsafe fn decode(
2947 &mut self,
2948 decoder: &mut fidl::encoding::Decoder<'_, D>,
2949 offset: usize,
2950 _depth: fidl::encoding::Depth,
2951 ) -> fidl::Result<()> {
2952 decoder.debug_check_bounds::<Self>(offset);
2953 let prim = decoder.read_num::<u32>(offset);
2954
2955 *self = Self::from_primitive_allow_unknown(prim);
2956 Ok(())
2957 }
2958 }
2959 unsafe impl fidl::encoding::TypeMarker for ObserverGetReferenceClockError {
2960 type Owned = Self;
2961
2962 #[inline(always)]
2963 fn inline_align(_context: fidl::encoding::Context) -> usize {
2964 std::mem::align_of::<u32>()
2965 }
2966
2967 #[inline(always)]
2968 fn inline_size(_context: fidl::encoding::Context) -> usize {
2969 std::mem::size_of::<u32>()
2970 }
2971
2972 #[inline(always)]
2973 fn encode_is_copy() -> bool {
2974 false
2975 }
2976
2977 #[inline(always)]
2978 fn decode_is_copy() -> bool {
2979 false
2980 }
2981 }
2982
2983 impl fidl::encoding::ValueTypeMarker for ObserverGetReferenceClockError {
2984 type Borrowed<'a> = Self;
2985 #[inline(always)]
2986 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2987 *value
2988 }
2989 }
2990
2991 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
2992 for ObserverGetReferenceClockError
2993 {
2994 #[inline]
2995 unsafe fn encode(
2996 self,
2997 encoder: &mut fidl::encoding::Encoder<'_, D>,
2998 offset: usize,
2999 _depth: fidl::encoding::Depth,
3000 ) -> fidl::Result<()> {
3001 encoder.debug_check_bounds::<Self>(offset);
3002 encoder.write_num(self.into_primitive(), offset);
3003 Ok(())
3004 }
3005 }
3006
3007 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3008 for ObserverGetReferenceClockError
3009 {
3010 #[inline(always)]
3011 fn new_empty() -> Self {
3012 Self::unknown()
3013 }
3014
3015 #[inline]
3016 unsafe fn decode(
3017 &mut self,
3018 decoder: &mut fidl::encoding::Decoder<'_, D>,
3019 offset: usize,
3020 _depth: fidl::encoding::Depth,
3021 ) -> fidl::Result<()> {
3022 decoder.debug_check_bounds::<Self>(offset);
3023 let prim = decoder.read_num::<u32>(offset);
3024
3025 *self = Self::from_primitive_allow_unknown(prim);
3026 Ok(())
3027 }
3028 }
3029 unsafe impl fidl::encoding::TypeMarker for ObserverWatchPlugStateError {
3030 type Owned = Self;
3031
3032 #[inline(always)]
3033 fn inline_align(_context: fidl::encoding::Context) -> usize {
3034 std::mem::align_of::<u32>()
3035 }
3036
3037 #[inline(always)]
3038 fn inline_size(_context: fidl::encoding::Context) -> usize {
3039 std::mem::size_of::<u32>()
3040 }
3041
3042 #[inline(always)]
3043 fn encode_is_copy() -> bool {
3044 false
3045 }
3046
3047 #[inline(always)]
3048 fn decode_is_copy() -> bool {
3049 false
3050 }
3051 }
3052
3053 impl fidl::encoding::ValueTypeMarker for ObserverWatchPlugStateError {
3054 type Borrowed<'a> = Self;
3055 #[inline(always)]
3056 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3057 *value
3058 }
3059 }
3060
3061 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
3062 for ObserverWatchPlugStateError
3063 {
3064 #[inline]
3065 unsafe fn encode(
3066 self,
3067 encoder: &mut fidl::encoding::Encoder<'_, D>,
3068 offset: usize,
3069 _depth: fidl::encoding::Depth,
3070 ) -> fidl::Result<()> {
3071 encoder.debug_check_bounds::<Self>(offset);
3072 encoder.write_num(self.into_primitive(), offset);
3073 Ok(())
3074 }
3075 }
3076
3077 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3078 for ObserverWatchPlugStateError
3079 {
3080 #[inline(always)]
3081 fn new_empty() -> Self {
3082 Self::unknown()
3083 }
3084
3085 #[inline]
3086 unsafe fn decode(
3087 &mut self,
3088 decoder: &mut fidl::encoding::Decoder<'_, D>,
3089 offset: usize,
3090 _depth: fidl::encoding::Depth,
3091 ) -> fidl::Result<()> {
3092 decoder.debug_check_bounds::<Self>(offset);
3093 let prim = decoder.read_num::<u32>(offset);
3094
3095 *self = Self::from_primitive_allow_unknown(prim);
3096 Ok(())
3097 }
3098 }
3099 unsafe impl fidl::encoding::TypeMarker for PacketStreamSetBufferError {
3100 type Owned = Self;
3101
3102 #[inline(always)]
3103 fn inline_align(_context: fidl::encoding::Context) -> usize {
3104 std::mem::align_of::<u32>()
3105 }
3106
3107 #[inline(always)]
3108 fn inline_size(_context: fidl::encoding::Context) -> usize {
3109 std::mem::size_of::<u32>()
3110 }
3111
3112 #[inline(always)]
3113 fn encode_is_copy() -> bool {
3114 false
3115 }
3116
3117 #[inline(always)]
3118 fn decode_is_copy() -> bool {
3119 false
3120 }
3121 }
3122
3123 impl fidl::encoding::ValueTypeMarker for PacketStreamSetBufferError {
3124 type Borrowed<'a> = Self;
3125 #[inline(always)]
3126 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3127 *value
3128 }
3129 }
3130
3131 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
3132 for PacketStreamSetBufferError
3133 {
3134 #[inline]
3135 unsafe fn encode(
3136 self,
3137 encoder: &mut fidl::encoding::Encoder<'_, D>,
3138 offset: usize,
3139 _depth: fidl::encoding::Depth,
3140 ) -> fidl::Result<()> {
3141 encoder.debug_check_bounds::<Self>(offset);
3142 encoder.write_num(self.into_primitive(), offset);
3143 Ok(())
3144 }
3145 }
3146
3147 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3148 for PacketStreamSetBufferError
3149 {
3150 #[inline(always)]
3151 fn new_empty() -> Self {
3152 Self::unknown()
3153 }
3154
3155 #[inline]
3156 unsafe fn decode(
3157 &mut self,
3158 decoder: &mut fidl::encoding::Decoder<'_, D>,
3159 offset: usize,
3160 _depth: fidl::encoding::Depth,
3161 ) -> fidl::Result<()> {
3162 decoder.debug_check_bounds::<Self>(offset);
3163 let prim = decoder.read_num::<u32>(offset);
3164
3165 *self = Self::from_primitive_allow_unknown(prim);
3166 Ok(())
3167 }
3168 }
3169 unsafe impl fidl::encoding::TypeMarker for PacketStreamStartError {
3170 type Owned = Self;
3171
3172 #[inline(always)]
3173 fn inline_align(_context: fidl::encoding::Context) -> usize {
3174 std::mem::align_of::<u32>()
3175 }
3176
3177 #[inline(always)]
3178 fn inline_size(_context: fidl::encoding::Context) -> usize {
3179 std::mem::size_of::<u32>()
3180 }
3181
3182 #[inline(always)]
3183 fn encode_is_copy() -> bool {
3184 false
3185 }
3186
3187 #[inline(always)]
3188 fn decode_is_copy() -> bool {
3189 false
3190 }
3191 }
3192
3193 impl fidl::encoding::ValueTypeMarker for PacketStreamStartError {
3194 type Borrowed<'a> = Self;
3195 #[inline(always)]
3196 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3197 *value
3198 }
3199 }
3200
3201 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
3202 for PacketStreamStartError
3203 {
3204 #[inline]
3205 unsafe fn encode(
3206 self,
3207 encoder: &mut fidl::encoding::Encoder<'_, D>,
3208 offset: usize,
3209 _depth: fidl::encoding::Depth,
3210 ) -> fidl::Result<()> {
3211 encoder.debug_check_bounds::<Self>(offset);
3212 encoder.write_num(self.into_primitive(), offset);
3213 Ok(())
3214 }
3215 }
3216
3217 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3218 for PacketStreamStartError
3219 {
3220 #[inline(always)]
3221 fn new_empty() -> Self {
3222 Self::unknown()
3223 }
3224
3225 #[inline]
3226 unsafe fn decode(
3227 &mut self,
3228 decoder: &mut fidl::encoding::Decoder<'_, D>,
3229 offset: usize,
3230 _depth: fidl::encoding::Depth,
3231 ) -> fidl::Result<()> {
3232 decoder.debug_check_bounds::<Self>(offset);
3233 let prim = decoder.read_num::<u32>(offset);
3234
3235 *self = Self::from_primitive_allow_unknown(prim);
3236 Ok(())
3237 }
3238 }
3239 unsafe impl fidl::encoding::TypeMarker for PacketStreamStopError {
3240 type Owned = Self;
3241
3242 #[inline(always)]
3243 fn inline_align(_context: fidl::encoding::Context) -> usize {
3244 std::mem::align_of::<u32>()
3245 }
3246
3247 #[inline(always)]
3248 fn inline_size(_context: fidl::encoding::Context) -> usize {
3249 std::mem::size_of::<u32>()
3250 }
3251
3252 #[inline(always)]
3253 fn encode_is_copy() -> bool {
3254 false
3255 }
3256
3257 #[inline(always)]
3258 fn decode_is_copy() -> bool {
3259 false
3260 }
3261 }
3262
3263 impl fidl::encoding::ValueTypeMarker for PacketStreamStopError {
3264 type Borrowed<'a> = Self;
3265 #[inline(always)]
3266 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3267 *value
3268 }
3269 }
3270
3271 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
3272 for PacketStreamStopError
3273 {
3274 #[inline]
3275 unsafe fn encode(
3276 self,
3277 encoder: &mut fidl::encoding::Encoder<'_, D>,
3278 offset: usize,
3279 _depth: fidl::encoding::Depth,
3280 ) -> fidl::Result<()> {
3281 encoder.debug_check_bounds::<Self>(offset);
3282 encoder.write_num(self.into_primitive(), offset);
3283 Ok(())
3284 }
3285 }
3286
3287 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for PacketStreamStopError {
3288 #[inline(always)]
3289 fn new_empty() -> Self {
3290 Self::unknown()
3291 }
3292
3293 #[inline]
3294 unsafe fn decode(
3295 &mut self,
3296 decoder: &mut fidl::encoding::Decoder<'_, D>,
3297 offset: usize,
3298 _depth: fidl::encoding::Depth,
3299 ) -> fidl::Result<()> {
3300 decoder.debug_check_bounds::<Self>(offset);
3301 let prim = decoder.read_num::<u32>(offset);
3302
3303 *self = Self::from_primitive_allow_unknown(prim);
3304 Ok(())
3305 }
3306 }
3307 unsafe impl fidl::encoding::TypeMarker for PlugDetectCapabilities {
3308 type Owned = Self;
3309
3310 #[inline(always)]
3311 fn inline_align(_context: fidl::encoding::Context) -> usize {
3312 std::mem::align_of::<u32>()
3313 }
3314
3315 #[inline(always)]
3316 fn inline_size(_context: fidl::encoding::Context) -> usize {
3317 std::mem::size_of::<u32>()
3318 }
3319
3320 #[inline(always)]
3321 fn encode_is_copy() -> bool {
3322 false
3323 }
3324
3325 #[inline(always)]
3326 fn decode_is_copy() -> bool {
3327 false
3328 }
3329 }
3330
3331 impl fidl::encoding::ValueTypeMarker for PlugDetectCapabilities {
3332 type Borrowed<'a> = Self;
3333 #[inline(always)]
3334 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3335 *value
3336 }
3337 }
3338
3339 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
3340 for PlugDetectCapabilities
3341 {
3342 #[inline]
3343 unsafe fn encode(
3344 self,
3345 encoder: &mut fidl::encoding::Encoder<'_, D>,
3346 offset: usize,
3347 _depth: fidl::encoding::Depth,
3348 ) -> fidl::Result<()> {
3349 encoder.debug_check_bounds::<Self>(offset);
3350 encoder.write_num(self.into_primitive(), offset);
3351 Ok(())
3352 }
3353 }
3354
3355 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3356 for PlugDetectCapabilities
3357 {
3358 #[inline(always)]
3359 fn new_empty() -> Self {
3360 Self::unknown()
3361 }
3362
3363 #[inline]
3364 unsafe fn decode(
3365 &mut self,
3366 decoder: &mut fidl::encoding::Decoder<'_, D>,
3367 offset: usize,
3368 _depth: fidl::encoding::Depth,
3369 ) -> fidl::Result<()> {
3370 decoder.debug_check_bounds::<Self>(offset);
3371 let prim = decoder.read_num::<u32>(offset);
3372
3373 *self = Self::from_primitive_allow_unknown(prim);
3374 Ok(())
3375 }
3376 }
3377 unsafe impl fidl::encoding::TypeMarker for PlugState {
3378 type Owned = Self;
3379
3380 #[inline(always)]
3381 fn inline_align(_context: fidl::encoding::Context) -> usize {
3382 std::mem::align_of::<u32>()
3383 }
3384
3385 #[inline(always)]
3386 fn inline_size(_context: fidl::encoding::Context) -> usize {
3387 std::mem::size_of::<u32>()
3388 }
3389
3390 #[inline(always)]
3391 fn encode_is_copy() -> bool {
3392 false
3393 }
3394
3395 #[inline(always)]
3396 fn decode_is_copy() -> bool {
3397 false
3398 }
3399 }
3400
3401 impl fidl::encoding::ValueTypeMarker for PlugState {
3402 type Borrowed<'a> = Self;
3403 #[inline(always)]
3404 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3405 *value
3406 }
3407 }
3408
3409 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for PlugState {
3410 #[inline]
3411 unsafe fn encode(
3412 self,
3413 encoder: &mut fidl::encoding::Encoder<'_, D>,
3414 offset: usize,
3415 _depth: fidl::encoding::Depth,
3416 ) -> fidl::Result<()> {
3417 encoder.debug_check_bounds::<Self>(offset);
3418 encoder.write_num(self.into_primitive(), offset);
3419 Ok(())
3420 }
3421 }
3422
3423 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for PlugState {
3424 #[inline(always)]
3425 fn new_empty() -> Self {
3426 Self::unknown()
3427 }
3428
3429 #[inline]
3430 unsafe fn decode(
3431 &mut self,
3432 decoder: &mut fidl::encoding::Decoder<'_, D>,
3433 offset: usize,
3434 _depth: fidl::encoding::Depth,
3435 ) -> fidl::Result<()> {
3436 decoder.debug_check_bounds::<Self>(offset);
3437 let prim = decoder.read_num::<u32>(offset);
3438
3439 *self = Self::from_primitive_allow_unknown(prim);
3440 Ok(())
3441 }
3442 }
3443 unsafe impl fidl::encoding::TypeMarker for ProviderAddDeviceError {
3444 type Owned = Self;
3445
3446 #[inline(always)]
3447 fn inline_align(_context: fidl::encoding::Context) -> usize {
3448 std::mem::align_of::<u32>()
3449 }
3450
3451 #[inline(always)]
3452 fn inline_size(_context: fidl::encoding::Context) -> usize {
3453 std::mem::size_of::<u32>()
3454 }
3455
3456 #[inline(always)]
3457 fn encode_is_copy() -> bool {
3458 false
3459 }
3460
3461 #[inline(always)]
3462 fn decode_is_copy() -> bool {
3463 false
3464 }
3465 }
3466
3467 impl fidl::encoding::ValueTypeMarker for ProviderAddDeviceError {
3468 type Borrowed<'a> = Self;
3469 #[inline(always)]
3470 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3471 *value
3472 }
3473 }
3474
3475 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
3476 for ProviderAddDeviceError
3477 {
3478 #[inline]
3479 unsafe fn encode(
3480 self,
3481 encoder: &mut fidl::encoding::Encoder<'_, D>,
3482 offset: usize,
3483 _depth: fidl::encoding::Depth,
3484 ) -> fidl::Result<()> {
3485 encoder.debug_check_bounds::<Self>(offset);
3486 encoder.write_num(self.into_primitive(), offset);
3487 Ok(())
3488 }
3489 }
3490
3491 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3492 for ProviderAddDeviceError
3493 {
3494 #[inline(always)]
3495 fn new_empty() -> Self {
3496 Self::unknown()
3497 }
3498
3499 #[inline]
3500 unsafe fn decode(
3501 &mut self,
3502 decoder: &mut fidl::encoding::Decoder<'_, D>,
3503 offset: usize,
3504 _depth: fidl::encoding::Depth,
3505 ) -> fidl::Result<()> {
3506 decoder.debug_check_bounds::<Self>(offset);
3507 let prim = decoder.read_num::<u32>(offset);
3508
3509 *self = Self::from_primitive_allow_unknown(prim);
3510 Ok(())
3511 }
3512 }
3513 unsafe impl fidl::encoding::TypeMarker for RegistryCreateObserverError {
3514 type Owned = Self;
3515
3516 #[inline(always)]
3517 fn inline_align(_context: fidl::encoding::Context) -> usize {
3518 std::mem::align_of::<u32>()
3519 }
3520
3521 #[inline(always)]
3522 fn inline_size(_context: fidl::encoding::Context) -> usize {
3523 std::mem::size_of::<u32>()
3524 }
3525
3526 #[inline(always)]
3527 fn encode_is_copy() -> bool {
3528 false
3529 }
3530
3531 #[inline(always)]
3532 fn decode_is_copy() -> bool {
3533 false
3534 }
3535 }
3536
3537 impl fidl::encoding::ValueTypeMarker for RegistryCreateObserverError {
3538 type Borrowed<'a> = Self;
3539 #[inline(always)]
3540 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3541 *value
3542 }
3543 }
3544
3545 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
3546 for RegistryCreateObserverError
3547 {
3548 #[inline]
3549 unsafe fn encode(
3550 self,
3551 encoder: &mut fidl::encoding::Encoder<'_, D>,
3552 offset: usize,
3553 _depth: fidl::encoding::Depth,
3554 ) -> fidl::Result<()> {
3555 encoder.debug_check_bounds::<Self>(offset);
3556 encoder.write_num(self.into_primitive(), offset);
3557 Ok(())
3558 }
3559 }
3560
3561 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3562 for RegistryCreateObserverError
3563 {
3564 #[inline(always)]
3565 fn new_empty() -> Self {
3566 Self::unknown()
3567 }
3568
3569 #[inline]
3570 unsafe fn decode(
3571 &mut self,
3572 decoder: &mut fidl::encoding::Decoder<'_, D>,
3573 offset: usize,
3574 _depth: fidl::encoding::Depth,
3575 ) -> fidl::Result<()> {
3576 decoder.debug_check_bounds::<Self>(offset);
3577 let prim = decoder.read_num::<u32>(offset);
3578
3579 *self = Self::from_primitive_allow_unknown(prim);
3580 Ok(())
3581 }
3582 }
3583 unsafe impl fidl::encoding::TypeMarker for RegistryWatchDeviceRemovedError {
3584 type Owned = Self;
3585
3586 #[inline(always)]
3587 fn inline_align(_context: fidl::encoding::Context) -> usize {
3588 std::mem::align_of::<u32>()
3589 }
3590
3591 #[inline(always)]
3592 fn inline_size(_context: fidl::encoding::Context) -> usize {
3593 std::mem::size_of::<u32>()
3594 }
3595
3596 #[inline(always)]
3597 fn encode_is_copy() -> bool {
3598 false
3599 }
3600
3601 #[inline(always)]
3602 fn decode_is_copy() -> bool {
3603 false
3604 }
3605 }
3606
3607 impl fidl::encoding::ValueTypeMarker for RegistryWatchDeviceRemovedError {
3608 type Borrowed<'a> = Self;
3609 #[inline(always)]
3610 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3611 *value
3612 }
3613 }
3614
3615 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
3616 for RegistryWatchDeviceRemovedError
3617 {
3618 #[inline]
3619 unsafe fn encode(
3620 self,
3621 encoder: &mut fidl::encoding::Encoder<'_, D>,
3622 offset: usize,
3623 _depth: fidl::encoding::Depth,
3624 ) -> fidl::Result<()> {
3625 encoder.debug_check_bounds::<Self>(offset);
3626 encoder.write_num(self.into_primitive(), offset);
3627 Ok(())
3628 }
3629 }
3630
3631 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3632 for RegistryWatchDeviceRemovedError
3633 {
3634 #[inline(always)]
3635 fn new_empty() -> Self {
3636 Self::unknown()
3637 }
3638
3639 #[inline]
3640 unsafe fn decode(
3641 &mut self,
3642 decoder: &mut fidl::encoding::Decoder<'_, D>,
3643 offset: usize,
3644 _depth: fidl::encoding::Depth,
3645 ) -> fidl::Result<()> {
3646 decoder.debug_check_bounds::<Self>(offset);
3647 let prim = decoder.read_num::<u32>(offset);
3648
3649 *self = Self::from_primitive_allow_unknown(prim);
3650 Ok(())
3651 }
3652 }
3653 unsafe impl fidl::encoding::TypeMarker for RegistryWatchDevicesAddedError {
3654 type Owned = Self;
3655
3656 #[inline(always)]
3657 fn inline_align(_context: fidl::encoding::Context) -> usize {
3658 std::mem::align_of::<u32>()
3659 }
3660
3661 #[inline(always)]
3662 fn inline_size(_context: fidl::encoding::Context) -> usize {
3663 std::mem::size_of::<u32>()
3664 }
3665
3666 #[inline(always)]
3667 fn encode_is_copy() -> bool {
3668 false
3669 }
3670
3671 #[inline(always)]
3672 fn decode_is_copy() -> bool {
3673 false
3674 }
3675 }
3676
3677 impl fidl::encoding::ValueTypeMarker for RegistryWatchDevicesAddedError {
3678 type Borrowed<'a> = Self;
3679 #[inline(always)]
3680 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3681 *value
3682 }
3683 }
3684
3685 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
3686 for RegistryWatchDevicesAddedError
3687 {
3688 #[inline]
3689 unsafe fn encode(
3690 self,
3691 encoder: &mut fidl::encoding::Encoder<'_, D>,
3692 offset: usize,
3693 _depth: fidl::encoding::Depth,
3694 ) -> fidl::Result<()> {
3695 encoder.debug_check_bounds::<Self>(offset);
3696 encoder.write_num(self.into_primitive(), offset);
3697 Ok(())
3698 }
3699 }
3700
3701 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3702 for RegistryWatchDevicesAddedError
3703 {
3704 #[inline(always)]
3705 fn new_empty() -> Self {
3706 Self::unknown()
3707 }
3708
3709 #[inline]
3710 unsafe fn decode(
3711 &mut self,
3712 decoder: &mut fidl::encoding::Decoder<'_, D>,
3713 offset: usize,
3714 _depth: fidl::encoding::Depth,
3715 ) -> fidl::Result<()> {
3716 decoder.debug_check_bounds::<Self>(offset);
3717 let prim = decoder.read_num::<u32>(offset);
3718
3719 *self = Self::from_primitive_allow_unknown(prim);
3720 Ok(())
3721 }
3722 }
3723 unsafe impl fidl::encoding::TypeMarker for RingBufferSetActiveChannelsError {
3724 type Owned = Self;
3725
3726 #[inline(always)]
3727 fn inline_align(_context: fidl::encoding::Context) -> usize {
3728 std::mem::align_of::<u32>()
3729 }
3730
3731 #[inline(always)]
3732 fn inline_size(_context: fidl::encoding::Context) -> usize {
3733 std::mem::size_of::<u32>()
3734 }
3735
3736 #[inline(always)]
3737 fn encode_is_copy() -> bool {
3738 false
3739 }
3740
3741 #[inline(always)]
3742 fn decode_is_copy() -> bool {
3743 false
3744 }
3745 }
3746
3747 impl fidl::encoding::ValueTypeMarker for RingBufferSetActiveChannelsError {
3748 type Borrowed<'a> = Self;
3749 #[inline(always)]
3750 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3751 *value
3752 }
3753 }
3754
3755 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
3756 for RingBufferSetActiveChannelsError
3757 {
3758 #[inline]
3759 unsafe fn encode(
3760 self,
3761 encoder: &mut fidl::encoding::Encoder<'_, D>,
3762 offset: usize,
3763 _depth: fidl::encoding::Depth,
3764 ) -> fidl::Result<()> {
3765 encoder.debug_check_bounds::<Self>(offset);
3766 encoder.write_num(self.into_primitive(), offset);
3767 Ok(())
3768 }
3769 }
3770
3771 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3772 for RingBufferSetActiveChannelsError
3773 {
3774 #[inline(always)]
3775 fn new_empty() -> Self {
3776 Self::unknown()
3777 }
3778
3779 #[inline]
3780 unsafe fn decode(
3781 &mut self,
3782 decoder: &mut fidl::encoding::Decoder<'_, D>,
3783 offset: usize,
3784 _depth: fidl::encoding::Depth,
3785 ) -> fidl::Result<()> {
3786 decoder.debug_check_bounds::<Self>(offset);
3787 let prim = decoder.read_num::<u32>(offset);
3788
3789 *self = Self::from_primitive_allow_unknown(prim);
3790 Ok(())
3791 }
3792 }
3793 unsafe impl fidl::encoding::TypeMarker for RingBufferStartError {
3794 type Owned = Self;
3795
3796 #[inline(always)]
3797 fn inline_align(_context: fidl::encoding::Context) -> usize {
3798 std::mem::align_of::<u32>()
3799 }
3800
3801 #[inline(always)]
3802 fn inline_size(_context: fidl::encoding::Context) -> usize {
3803 std::mem::size_of::<u32>()
3804 }
3805
3806 #[inline(always)]
3807 fn encode_is_copy() -> bool {
3808 false
3809 }
3810
3811 #[inline(always)]
3812 fn decode_is_copy() -> bool {
3813 false
3814 }
3815 }
3816
3817 impl fidl::encoding::ValueTypeMarker for RingBufferStartError {
3818 type Borrowed<'a> = Self;
3819 #[inline(always)]
3820 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3821 *value
3822 }
3823 }
3824
3825 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
3826 for RingBufferStartError
3827 {
3828 #[inline]
3829 unsafe fn encode(
3830 self,
3831 encoder: &mut fidl::encoding::Encoder<'_, D>,
3832 offset: usize,
3833 _depth: fidl::encoding::Depth,
3834 ) -> fidl::Result<()> {
3835 encoder.debug_check_bounds::<Self>(offset);
3836 encoder.write_num(self.into_primitive(), offset);
3837 Ok(())
3838 }
3839 }
3840
3841 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RingBufferStartError {
3842 #[inline(always)]
3843 fn new_empty() -> Self {
3844 Self::unknown()
3845 }
3846
3847 #[inline]
3848 unsafe fn decode(
3849 &mut self,
3850 decoder: &mut fidl::encoding::Decoder<'_, D>,
3851 offset: usize,
3852 _depth: fidl::encoding::Depth,
3853 ) -> fidl::Result<()> {
3854 decoder.debug_check_bounds::<Self>(offset);
3855 let prim = decoder.read_num::<u32>(offset);
3856
3857 *self = Self::from_primitive_allow_unknown(prim);
3858 Ok(())
3859 }
3860 }
3861 unsafe impl fidl::encoding::TypeMarker for RingBufferStopError {
3862 type Owned = Self;
3863
3864 #[inline(always)]
3865 fn inline_align(_context: fidl::encoding::Context) -> usize {
3866 std::mem::align_of::<u32>()
3867 }
3868
3869 #[inline(always)]
3870 fn inline_size(_context: fidl::encoding::Context) -> usize {
3871 std::mem::size_of::<u32>()
3872 }
3873
3874 #[inline(always)]
3875 fn encode_is_copy() -> bool {
3876 false
3877 }
3878
3879 #[inline(always)]
3880 fn decode_is_copy() -> bool {
3881 false
3882 }
3883 }
3884
3885 impl fidl::encoding::ValueTypeMarker for RingBufferStopError {
3886 type Borrowed<'a> = Self;
3887 #[inline(always)]
3888 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3889 *value
3890 }
3891 }
3892
3893 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
3894 for RingBufferStopError
3895 {
3896 #[inline]
3897 unsafe fn encode(
3898 self,
3899 encoder: &mut fidl::encoding::Encoder<'_, D>,
3900 offset: usize,
3901 _depth: fidl::encoding::Depth,
3902 ) -> fidl::Result<()> {
3903 encoder.debug_check_bounds::<Self>(offset);
3904 encoder.write_num(self.into_primitive(), offset);
3905 Ok(())
3906 }
3907 }
3908
3909 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RingBufferStopError {
3910 #[inline(always)]
3911 fn new_empty() -> Self {
3912 Self::unknown()
3913 }
3914
3915 #[inline]
3916 unsafe fn decode(
3917 &mut self,
3918 decoder: &mut fidl::encoding::Decoder<'_, D>,
3919 offset: usize,
3920 _depth: fidl::encoding::Depth,
3921 ) -> fidl::Result<()> {
3922 decoder.debug_check_bounds::<Self>(offset);
3923 let prim = decoder.read_num::<u32>(offset);
3924
3925 *self = Self::from_primitive_allow_unknown(prim);
3926 Ok(())
3927 }
3928 }
3929 unsafe impl fidl::encoding::TypeMarker for RingBufferWatchDelayInfoError {
3930 type Owned = Self;
3931
3932 #[inline(always)]
3933 fn inline_align(_context: fidl::encoding::Context) -> usize {
3934 std::mem::align_of::<u32>()
3935 }
3936
3937 #[inline(always)]
3938 fn inline_size(_context: fidl::encoding::Context) -> usize {
3939 std::mem::size_of::<u32>()
3940 }
3941
3942 #[inline(always)]
3943 fn encode_is_copy() -> bool {
3944 false
3945 }
3946
3947 #[inline(always)]
3948 fn decode_is_copy() -> bool {
3949 false
3950 }
3951 }
3952
3953 impl fidl::encoding::ValueTypeMarker for RingBufferWatchDelayInfoError {
3954 type Borrowed<'a> = Self;
3955 #[inline(always)]
3956 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3957 *value
3958 }
3959 }
3960
3961 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
3962 for RingBufferWatchDelayInfoError
3963 {
3964 #[inline]
3965 unsafe fn encode(
3966 self,
3967 encoder: &mut fidl::encoding::Encoder<'_, D>,
3968 offset: usize,
3969 _depth: fidl::encoding::Depth,
3970 ) -> fidl::Result<()> {
3971 encoder.debug_check_bounds::<Self>(offset);
3972 encoder.write_num(self.into_primitive(), offset);
3973 Ok(())
3974 }
3975 }
3976
3977 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3978 for RingBufferWatchDelayInfoError
3979 {
3980 #[inline(always)]
3981 fn new_empty() -> Self {
3982 Self::unknown()
3983 }
3984
3985 #[inline]
3986 unsafe fn decode(
3987 &mut self,
3988 decoder: &mut fidl::encoding::Decoder<'_, D>,
3989 offset: usize,
3990 _depth: fidl::encoding::Depth,
3991 ) -> fidl::Result<()> {
3992 decoder.debug_check_bounds::<Self>(offset);
3993 let prim = decoder.read_num::<u32>(offset);
3994
3995 *self = Self::from_primitive_allow_unknown(prim);
3996 Ok(())
3997 }
3998 }
3999
4000 impl ChannelAttributes {
4001 #[inline(always)]
4002 fn max_ordinal_present(&self) -> u64 {
4003 if let Some(_) = self.max_frequency {
4004 return 2;
4005 }
4006 if let Some(_) = self.min_frequency {
4007 return 1;
4008 }
4009 0
4010 }
4011 }
4012
4013 impl fidl::encoding::ValueTypeMarker for ChannelAttributes {
4014 type Borrowed<'a> = &'a Self;
4015 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4016 value
4017 }
4018 }
4019
4020 unsafe impl fidl::encoding::TypeMarker for ChannelAttributes {
4021 type Owned = Self;
4022
4023 #[inline(always)]
4024 fn inline_align(_context: fidl::encoding::Context) -> usize {
4025 8
4026 }
4027
4028 #[inline(always)]
4029 fn inline_size(_context: fidl::encoding::Context) -> usize {
4030 16
4031 }
4032 }
4033
4034 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ChannelAttributes, D>
4035 for &ChannelAttributes
4036 {
4037 unsafe fn encode(
4038 self,
4039 encoder: &mut fidl::encoding::Encoder<'_, D>,
4040 offset: usize,
4041 mut depth: fidl::encoding::Depth,
4042 ) -> fidl::Result<()> {
4043 encoder.debug_check_bounds::<ChannelAttributes>(offset);
4044 let max_ordinal: u64 = self.max_ordinal_present();
4046 encoder.write_num(max_ordinal, offset);
4047 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4048 if max_ordinal == 0 {
4050 return Ok(());
4051 }
4052 depth.increment()?;
4053 let envelope_size = 8;
4054 let bytes_len = max_ordinal as usize * envelope_size;
4055 #[allow(unused_variables)]
4056 let offset = encoder.out_of_line_offset(bytes_len);
4057 let mut _prev_end_offset: usize = 0;
4058 if 1 > max_ordinal {
4059 return Ok(());
4060 }
4061
4062 let cur_offset: usize = (1 - 1) * envelope_size;
4065
4066 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4068
4069 fidl::encoding::encode_in_envelope_optional::<u32, D>(
4074 self.min_frequency.as_ref().map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
4075 encoder,
4076 offset + cur_offset,
4077 depth,
4078 )?;
4079
4080 _prev_end_offset = cur_offset + envelope_size;
4081 if 2 > max_ordinal {
4082 return Ok(());
4083 }
4084
4085 let cur_offset: usize = (2 - 1) * envelope_size;
4088
4089 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4091
4092 fidl::encoding::encode_in_envelope_optional::<u32, D>(
4097 self.max_frequency.as_ref().map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
4098 encoder,
4099 offset + cur_offset,
4100 depth,
4101 )?;
4102
4103 _prev_end_offset = cur_offset + envelope_size;
4104
4105 Ok(())
4106 }
4107 }
4108
4109 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ChannelAttributes {
4110 #[inline(always)]
4111 fn new_empty() -> Self {
4112 Self::default()
4113 }
4114
4115 unsafe fn decode(
4116 &mut self,
4117 decoder: &mut fidl::encoding::Decoder<'_, D>,
4118 offset: usize,
4119 mut depth: fidl::encoding::Depth,
4120 ) -> fidl::Result<()> {
4121 decoder.debug_check_bounds::<Self>(offset);
4122 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4123 None => return Err(fidl::Error::NotNullable),
4124 Some(len) => len,
4125 };
4126 if len == 0 {
4128 return Ok(());
4129 };
4130 depth.increment()?;
4131 let envelope_size = 8;
4132 let bytes_len = len * envelope_size;
4133 let offset = decoder.out_of_line_offset(bytes_len)?;
4134 let mut _next_ordinal_to_read = 0;
4136 let mut next_offset = offset;
4137 let end_offset = offset + bytes_len;
4138 _next_ordinal_to_read += 1;
4139 if next_offset >= end_offset {
4140 return Ok(());
4141 }
4142
4143 while _next_ordinal_to_read < 1 {
4145 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4146 _next_ordinal_to_read += 1;
4147 next_offset += envelope_size;
4148 }
4149
4150 let next_out_of_line = decoder.next_out_of_line();
4151 let handles_before = decoder.remaining_handles();
4152 if let Some((inlined, num_bytes, num_handles)) =
4153 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4154 {
4155 let member_inline_size =
4156 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4157 if inlined != (member_inline_size <= 4) {
4158 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4159 }
4160 let inner_offset;
4161 let mut inner_depth = depth.clone();
4162 if inlined {
4163 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4164 inner_offset = next_offset;
4165 } else {
4166 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4167 inner_depth.increment()?;
4168 }
4169 let val_ref = self.min_frequency.get_or_insert_with(|| fidl::new_empty!(u32, D));
4170 fidl::decode!(u32, D, val_ref, decoder, inner_offset, inner_depth)?;
4171 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4172 {
4173 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4174 }
4175 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4176 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4177 }
4178 }
4179
4180 next_offset += envelope_size;
4181 _next_ordinal_to_read += 1;
4182 if next_offset >= end_offset {
4183 return Ok(());
4184 }
4185
4186 while _next_ordinal_to_read < 2 {
4188 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4189 _next_ordinal_to_read += 1;
4190 next_offset += envelope_size;
4191 }
4192
4193 let next_out_of_line = decoder.next_out_of_line();
4194 let handles_before = decoder.remaining_handles();
4195 if let Some((inlined, num_bytes, num_handles)) =
4196 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4197 {
4198 let member_inline_size =
4199 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4200 if inlined != (member_inline_size <= 4) {
4201 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4202 }
4203 let inner_offset;
4204 let mut inner_depth = depth.clone();
4205 if inlined {
4206 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4207 inner_offset = next_offset;
4208 } else {
4209 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4210 inner_depth.increment()?;
4211 }
4212 let val_ref = self.max_frequency.get_or_insert_with(|| fidl::new_empty!(u32, D));
4213 fidl::decode!(u32, D, val_ref, decoder, inner_offset, inner_depth)?;
4214 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4215 {
4216 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4217 }
4218 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4219 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4220 }
4221 }
4222
4223 next_offset += envelope_size;
4224
4225 while next_offset < end_offset {
4227 _next_ordinal_to_read += 1;
4228 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4229 next_offset += envelope_size;
4230 }
4231
4232 Ok(())
4233 }
4234 }
4235
4236 impl ChannelSet {
4237 #[inline(always)]
4238 fn max_ordinal_present(&self) -> u64 {
4239 if let Some(_) = self.attributes {
4240 return 1;
4241 }
4242 0
4243 }
4244 }
4245
4246 impl fidl::encoding::ValueTypeMarker for ChannelSet {
4247 type Borrowed<'a> = &'a Self;
4248 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4249 value
4250 }
4251 }
4252
4253 unsafe impl fidl::encoding::TypeMarker for ChannelSet {
4254 type Owned = Self;
4255
4256 #[inline(always)]
4257 fn inline_align(_context: fidl::encoding::Context) -> usize {
4258 8
4259 }
4260
4261 #[inline(always)]
4262 fn inline_size(_context: fidl::encoding::Context) -> usize {
4263 16
4264 }
4265 }
4266
4267 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ChannelSet, D>
4268 for &ChannelSet
4269 {
4270 unsafe fn encode(
4271 self,
4272 encoder: &mut fidl::encoding::Encoder<'_, D>,
4273 offset: usize,
4274 mut depth: fidl::encoding::Depth,
4275 ) -> fidl::Result<()> {
4276 encoder.debug_check_bounds::<ChannelSet>(offset);
4277 let max_ordinal: u64 = self.max_ordinal_present();
4279 encoder.write_num(max_ordinal, offset);
4280 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4281 if max_ordinal == 0 {
4283 return Ok(());
4284 }
4285 depth.increment()?;
4286 let envelope_size = 8;
4287 let bytes_len = max_ordinal as usize * envelope_size;
4288 #[allow(unused_variables)]
4289 let offset = encoder.out_of_line_offset(bytes_len);
4290 let mut _prev_end_offset: usize = 0;
4291 if 1 > max_ordinal {
4292 return Ok(());
4293 }
4294
4295 let cur_offset: usize = (1 - 1) * envelope_size;
4298
4299 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4301
4302 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<ChannelAttributes, 64>, D>(
4307 self.attributes.as_ref().map(<fidl::encoding::Vector<ChannelAttributes, 64> as fidl::encoding::ValueTypeMarker>::borrow),
4308 encoder, offset + cur_offset, depth
4309 )?;
4310
4311 _prev_end_offset = cur_offset + envelope_size;
4312
4313 Ok(())
4314 }
4315 }
4316
4317 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ChannelSet {
4318 #[inline(always)]
4319 fn new_empty() -> Self {
4320 Self::default()
4321 }
4322
4323 unsafe fn decode(
4324 &mut self,
4325 decoder: &mut fidl::encoding::Decoder<'_, D>,
4326 offset: usize,
4327 mut depth: fidl::encoding::Depth,
4328 ) -> fidl::Result<()> {
4329 decoder.debug_check_bounds::<Self>(offset);
4330 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4331 None => return Err(fidl::Error::NotNullable),
4332 Some(len) => len,
4333 };
4334 if len == 0 {
4336 return Ok(());
4337 };
4338 depth.increment()?;
4339 let envelope_size = 8;
4340 let bytes_len = len * envelope_size;
4341 let offset = decoder.out_of_line_offset(bytes_len)?;
4342 let mut _next_ordinal_to_read = 0;
4344 let mut next_offset = offset;
4345 let end_offset = offset + bytes_len;
4346 _next_ordinal_to_read += 1;
4347 if next_offset >= end_offset {
4348 return Ok(());
4349 }
4350
4351 while _next_ordinal_to_read < 1 {
4353 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4354 _next_ordinal_to_read += 1;
4355 next_offset += envelope_size;
4356 }
4357
4358 let next_out_of_line = decoder.next_out_of_line();
4359 let handles_before = decoder.remaining_handles();
4360 if let Some((inlined, num_bytes, num_handles)) =
4361 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4362 {
4363 let member_inline_size = <fidl::encoding::Vector<ChannelAttributes, 64> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4364 if inlined != (member_inline_size <= 4) {
4365 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4366 }
4367 let inner_offset;
4368 let mut inner_depth = depth.clone();
4369 if inlined {
4370 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4371 inner_offset = next_offset;
4372 } else {
4373 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4374 inner_depth.increment()?;
4375 }
4376 let val_ref = self.attributes.get_or_insert_with(
4377 || fidl::new_empty!(fidl::encoding::Vector<ChannelAttributes, 64>, D),
4378 );
4379 fidl::decode!(fidl::encoding::Vector<ChannelAttributes, 64>, D, val_ref, decoder, inner_offset, inner_depth)?;
4380 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4381 {
4382 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4383 }
4384 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4385 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4386 }
4387 }
4388
4389 next_offset += envelope_size;
4390
4391 while next_offset < end_offset {
4393 _next_ordinal_to_read += 1;
4394 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4395 next_offset += envelope_size;
4396 }
4397
4398 Ok(())
4399 }
4400 }
4401
4402 impl ControlCreatorCreateResponse {
4403 #[inline(always)]
4404 fn max_ordinal_present(&self) -> u64 {
4405 0
4406 }
4407 }
4408
4409 impl fidl::encoding::ValueTypeMarker for ControlCreatorCreateResponse {
4410 type Borrowed<'a> = &'a Self;
4411 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4412 value
4413 }
4414 }
4415
4416 unsafe impl fidl::encoding::TypeMarker for ControlCreatorCreateResponse {
4417 type Owned = Self;
4418
4419 #[inline(always)]
4420 fn inline_align(_context: fidl::encoding::Context) -> usize {
4421 8
4422 }
4423
4424 #[inline(always)]
4425 fn inline_size(_context: fidl::encoding::Context) -> usize {
4426 16
4427 }
4428 }
4429
4430 unsafe impl<D: fidl::encoding::ResourceDialect>
4431 fidl::encoding::Encode<ControlCreatorCreateResponse, D> for &ControlCreatorCreateResponse
4432 {
4433 unsafe fn encode(
4434 self,
4435 encoder: &mut fidl::encoding::Encoder<'_, D>,
4436 offset: usize,
4437 mut depth: fidl::encoding::Depth,
4438 ) -> fidl::Result<()> {
4439 encoder.debug_check_bounds::<ControlCreatorCreateResponse>(offset);
4440 let max_ordinal: u64 = self.max_ordinal_present();
4442 encoder.write_num(max_ordinal, offset);
4443 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4444 if max_ordinal == 0 {
4446 return Ok(());
4447 }
4448 depth.increment()?;
4449 let envelope_size = 8;
4450 let bytes_len = max_ordinal as usize * envelope_size;
4451 #[allow(unused_variables)]
4452 let offset = encoder.out_of_line_offset(bytes_len);
4453 let mut _prev_end_offset: usize = 0;
4454
4455 Ok(())
4456 }
4457 }
4458
4459 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4460 for ControlCreatorCreateResponse
4461 {
4462 #[inline(always)]
4463 fn new_empty() -> Self {
4464 Self::default()
4465 }
4466
4467 unsafe fn decode(
4468 &mut self,
4469 decoder: &mut fidl::encoding::Decoder<'_, D>,
4470 offset: usize,
4471 mut depth: fidl::encoding::Depth,
4472 ) -> fidl::Result<()> {
4473 decoder.debug_check_bounds::<Self>(offset);
4474 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4475 None => return Err(fidl::Error::NotNullable),
4476 Some(len) => len,
4477 };
4478 if len == 0 {
4480 return Ok(());
4481 };
4482 depth.increment()?;
4483 let envelope_size = 8;
4484 let bytes_len = len * envelope_size;
4485 let offset = decoder.out_of_line_offset(bytes_len)?;
4486 let mut _next_ordinal_to_read = 0;
4488 let mut next_offset = offset;
4489 let end_offset = offset + bytes_len;
4490
4491 while next_offset < end_offset {
4493 _next_ordinal_to_read += 1;
4494 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4495 next_offset += envelope_size;
4496 }
4497
4498 Ok(())
4499 }
4500 }
4501
4502 impl ControlSetDaiFormatRequest {
4503 #[inline(always)]
4504 fn max_ordinal_present(&self) -> u64 {
4505 if let Some(_) = self.dai_format {
4506 return 2;
4507 }
4508 if let Some(_) = self.element_id {
4509 return 1;
4510 }
4511 0
4512 }
4513 }
4514
4515 impl fidl::encoding::ValueTypeMarker for ControlSetDaiFormatRequest {
4516 type Borrowed<'a> = &'a Self;
4517 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4518 value
4519 }
4520 }
4521
4522 unsafe impl fidl::encoding::TypeMarker for ControlSetDaiFormatRequest {
4523 type Owned = Self;
4524
4525 #[inline(always)]
4526 fn inline_align(_context: fidl::encoding::Context) -> usize {
4527 8
4528 }
4529
4530 #[inline(always)]
4531 fn inline_size(_context: fidl::encoding::Context) -> usize {
4532 16
4533 }
4534 }
4535
4536 unsafe impl<D: fidl::encoding::ResourceDialect>
4537 fidl::encoding::Encode<ControlSetDaiFormatRequest, D> for &ControlSetDaiFormatRequest
4538 {
4539 unsafe fn encode(
4540 self,
4541 encoder: &mut fidl::encoding::Encoder<'_, D>,
4542 offset: usize,
4543 mut depth: fidl::encoding::Depth,
4544 ) -> fidl::Result<()> {
4545 encoder.debug_check_bounds::<ControlSetDaiFormatRequest>(offset);
4546 let max_ordinal: u64 = self.max_ordinal_present();
4548 encoder.write_num(max_ordinal, offset);
4549 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4550 if max_ordinal == 0 {
4552 return Ok(());
4553 }
4554 depth.increment()?;
4555 let envelope_size = 8;
4556 let bytes_len = max_ordinal as usize * envelope_size;
4557 #[allow(unused_variables)]
4558 let offset = encoder.out_of_line_offset(bytes_len);
4559 let mut _prev_end_offset: usize = 0;
4560 if 1 > max_ordinal {
4561 return Ok(());
4562 }
4563
4564 let cur_offset: usize = (1 - 1) * envelope_size;
4567
4568 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4570
4571 fidl::encoding::encode_in_envelope_optional::<u64, D>(
4576 self.element_id.as_ref().map(<u64 as fidl::encoding::ValueTypeMarker>::borrow),
4577 encoder,
4578 offset + cur_offset,
4579 depth,
4580 )?;
4581
4582 _prev_end_offset = cur_offset + envelope_size;
4583 if 2 > max_ordinal {
4584 return Ok(());
4585 }
4586
4587 let cur_offset: usize = (2 - 1) * envelope_size;
4590
4591 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4593
4594 fidl::encoding::encode_in_envelope_optional::<fidl_fuchsia_hardware_audio__common::DaiFormat, D>(
4599 self.dai_format.as_ref().map(<fidl_fuchsia_hardware_audio__common::DaiFormat as fidl::encoding::ValueTypeMarker>::borrow),
4600 encoder, offset + cur_offset, depth
4601 )?;
4602
4603 _prev_end_offset = cur_offset + envelope_size;
4604
4605 Ok(())
4606 }
4607 }
4608
4609 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4610 for ControlSetDaiFormatRequest
4611 {
4612 #[inline(always)]
4613 fn new_empty() -> Self {
4614 Self::default()
4615 }
4616
4617 unsafe fn decode(
4618 &mut self,
4619 decoder: &mut fidl::encoding::Decoder<'_, D>,
4620 offset: usize,
4621 mut depth: fidl::encoding::Depth,
4622 ) -> fidl::Result<()> {
4623 decoder.debug_check_bounds::<Self>(offset);
4624 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4625 None => return Err(fidl::Error::NotNullable),
4626 Some(len) => len,
4627 };
4628 if len == 0 {
4630 return Ok(());
4631 };
4632 depth.increment()?;
4633 let envelope_size = 8;
4634 let bytes_len = len * envelope_size;
4635 let offset = decoder.out_of_line_offset(bytes_len)?;
4636 let mut _next_ordinal_to_read = 0;
4638 let mut next_offset = offset;
4639 let end_offset = offset + bytes_len;
4640 _next_ordinal_to_read += 1;
4641 if next_offset >= end_offset {
4642 return Ok(());
4643 }
4644
4645 while _next_ordinal_to_read < 1 {
4647 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4648 _next_ordinal_to_read += 1;
4649 next_offset += envelope_size;
4650 }
4651
4652 let next_out_of_line = decoder.next_out_of_line();
4653 let handles_before = decoder.remaining_handles();
4654 if let Some((inlined, num_bytes, num_handles)) =
4655 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4656 {
4657 let member_inline_size =
4658 <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4659 if inlined != (member_inline_size <= 4) {
4660 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4661 }
4662 let inner_offset;
4663 let mut inner_depth = depth.clone();
4664 if inlined {
4665 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4666 inner_offset = next_offset;
4667 } else {
4668 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4669 inner_depth.increment()?;
4670 }
4671 let val_ref = self.element_id.get_or_insert_with(|| fidl::new_empty!(u64, D));
4672 fidl::decode!(u64, D, val_ref, decoder, inner_offset, inner_depth)?;
4673 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4674 {
4675 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4676 }
4677 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4678 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4679 }
4680 }
4681
4682 next_offset += envelope_size;
4683 _next_ordinal_to_read += 1;
4684 if next_offset >= end_offset {
4685 return Ok(());
4686 }
4687
4688 while _next_ordinal_to_read < 2 {
4690 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4691 _next_ordinal_to_read += 1;
4692 next_offset += envelope_size;
4693 }
4694
4695 let next_out_of_line = decoder.next_out_of_line();
4696 let handles_before = decoder.remaining_handles();
4697 if let Some((inlined, num_bytes, num_handles)) =
4698 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4699 {
4700 let member_inline_size = <fidl_fuchsia_hardware_audio__common::DaiFormat as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4701 if inlined != (member_inline_size <= 4) {
4702 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4703 }
4704 let inner_offset;
4705 let mut inner_depth = depth.clone();
4706 if inlined {
4707 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4708 inner_offset = next_offset;
4709 } else {
4710 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4711 inner_depth.increment()?;
4712 }
4713 let val_ref = self.dai_format.get_or_insert_with(|| {
4714 fidl::new_empty!(fidl_fuchsia_hardware_audio__common::DaiFormat, D)
4715 });
4716 fidl::decode!(
4717 fidl_fuchsia_hardware_audio__common::DaiFormat,
4718 D,
4719 val_ref,
4720 decoder,
4721 inner_offset,
4722 inner_depth
4723 )?;
4724 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4725 {
4726 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4727 }
4728 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4729 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4730 }
4731 }
4732
4733 next_offset += envelope_size;
4734
4735 while next_offset < end_offset {
4737 _next_ordinal_to_read += 1;
4738 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4739 next_offset += envelope_size;
4740 }
4741
4742 Ok(())
4743 }
4744 }
4745
4746 impl ControlCodecStartResponse {
4747 #[inline(always)]
4748 fn max_ordinal_present(&self) -> u64 {
4749 if let Some(_) = self.start_time {
4750 return 1;
4751 }
4752 0
4753 }
4754 }
4755
4756 impl fidl::encoding::ValueTypeMarker for ControlCodecStartResponse {
4757 type Borrowed<'a> = &'a Self;
4758 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4759 value
4760 }
4761 }
4762
4763 unsafe impl fidl::encoding::TypeMarker for ControlCodecStartResponse {
4764 type Owned = Self;
4765
4766 #[inline(always)]
4767 fn inline_align(_context: fidl::encoding::Context) -> usize {
4768 8
4769 }
4770
4771 #[inline(always)]
4772 fn inline_size(_context: fidl::encoding::Context) -> usize {
4773 16
4774 }
4775 }
4776
4777 unsafe impl<D: fidl::encoding::ResourceDialect>
4778 fidl::encoding::Encode<ControlCodecStartResponse, D> for &ControlCodecStartResponse
4779 {
4780 unsafe fn encode(
4781 self,
4782 encoder: &mut fidl::encoding::Encoder<'_, D>,
4783 offset: usize,
4784 mut depth: fidl::encoding::Depth,
4785 ) -> fidl::Result<()> {
4786 encoder.debug_check_bounds::<ControlCodecStartResponse>(offset);
4787 let max_ordinal: u64 = self.max_ordinal_present();
4789 encoder.write_num(max_ordinal, offset);
4790 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4791 if max_ordinal == 0 {
4793 return Ok(());
4794 }
4795 depth.increment()?;
4796 let envelope_size = 8;
4797 let bytes_len = max_ordinal as usize * envelope_size;
4798 #[allow(unused_variables)]
4799 let offset = encoder.out_of_line_offset(bytes_len);
4800 let mut _prev_end_offset: usize = 0;
4801 if 1 > max_ordinal {
4802 return Ok(());
4803 }
4804
4805 let cur_offset: usize = (1 - 1) * envelope_size;
4808
4809 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4811
4812 fidl::encoding::encode_in_envelope_optional::<i64, D>(
4817 self.start_time.as_ref().map(<i64 as fidl::encoding::ValueTypeMarker>::borrow),
4818 encoder,
4819 offset + cur_offset,
4820 depth,
4821 )?;
4822
4823 _prev_end_offset = cur_offset + envelope_size;
4824
4825 Ok(())
4826 }
4827 }
4828
4829 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4830 for ControlCodecStartResponse
4831 {
4832 #[inline(always)]
4833 fn new_empty() -> Self {
4834 Self::default()
4835 }
4836
4837 unsafe fn decode(
4838 &mut self,
4839 decoder: &mut fidl::encoding::Decoder<'_, D>,
4840 offset: usize,
4841 mut depth: fidl::encoding::Depth,
4842 ) -> fidl::Result<()> {
4843 decoder.debug_check_bounds::<Self>(offset);
4844 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4845 None => return Err(fidl::Error::NotNullable),
4846 Some(len) => len,
4847 };
4848 if len == 0 {
4850 return Ok(());
4851 };
4852 depth.increment()?;
4853 let envelope_size = 8;
4854 let bytes_len = len * envelope_size;
4855 let offset = decoder.out_of_line_offset(bytes_len)?;
4856 let mut _next_ordinal_to_read = 0;
4858 let mut next_offset = offset;
4859 let end_offset = offset + bytes_len;
4860 _next_ordinal_to_read += 1;
4861 if next_offset >= end_offset {
4862 return Ok(());
4863 }
4864
4865 while _next_ordinal_to_read < 1 {
4867 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4868 _next_ordinal_to_read += 1;
4869 next_offset += envelope_size;
4870 }
4871
4872 let next_out_of_line = decoder.next_out_of_line();
4873 let handles_before = decoder.remaining_handles();
4874 if let Some((inlined, num_bytes, num_handles)) =
4875 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4876 {
4877 let member_inline_size =
4878 <i64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4879 if inlined != (member_inline_size <= 4) {
4880 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4881 }
4882 let inner_offset;
4883 let mut inner_depth = depth.clone();
4884 if inlined {
4885 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4886 inner_offset = next_offset;
4887 } else {
4888 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4889 inner_depth.increment()?;
4890 }
4891 let val_ref = self.start_time.get_or_insert_with(|| fidl::new_empty!(i64, D));
4892 fidl::decode!(i64, D, val_ref, decoder, inner_offset, inner_depth)?;
4893 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4894 {
4895 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4896 }
4897 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4898 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4899 }
4900 }
4901
4902 next_offset += envelope_size;
4903
4904 while next_offset < end_offset {
4906 _next_ordinal_to_read += 1;
4907 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4908 next_offset += envelope_size;
4909 }
4910
4911 Ok(())
4912 }
4913 }
4914
4915 impl ControlCodecStopResponse {
4916 #[inline(always)]
4917 fn max_ordinal_present(&self) -> u64 {
4918 if let Some(_) = self.stop_time {
4919 return 1;
4920 }
4921 0
4922 }
4923 }
4924
4925 impl fidl::encoding::ValueTypeMarker for ControlCodecStopResponse {
4926 type Borrowed<'a> = &'a Self;
4927 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4928 value
4929 }
4930 }
4931
4932 unsafe impl fidl::encoding::TypeMarker for ControlCodecStopResponse {
4933 type Owned = Self;
4934
4935 #[inline(always)]
4936 fn inline_align(_context: fidl::encoding::Context) -> usize {
4937 8
4938 }
4939
4940 #[inline(always)]
4941 fn inline_size(_context: fidl::encoding::Context) -> usize {
4942 16
4943 }
4944 }
4945
4946 unsafe impl<D: fidl::encoding::ResourceDialect>
4947 fidl::encoding::Encode<ControlCodecStopResponse, D> for &ControlCodecStopResponse
4948 {
4949 unsafe fn encode(
4950 self,
4951 encoder: &mut fidl::encoding::Encoder<'_, D>,
4952 offset: usize,
4953 mut depth: fidl::encoding::Depth,
4954 ) -> fidl::Result<()> {
4955 encoder.debug_check_bounds::<ControlCodecStopResponse>(offset);
4956 let max_ordinal: u64 = self.max_ordinal_present();
4958 encoder.write_num(max_ordinal, offset);
4959 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4960 if max_ordinal == 0 {
4962 return Ok(());
4963 }
4964 depth.increment()?;
4965 let envelope_size = 8;
4966 let bytes_len = max_ordinal as usize * envelope_size;
4967 #[allow(unused_variables)]
4968 let offset = encoder.out_of_line_offset(bytes_len);
4969 let mut _prev_end_offset: usize = 0;
4970 if 1 > max_ordinal {
4971 return Ok(());
4972 }
4973
4974 let cur_offset: usize = (1 - 1) * envelope_size;
4977
4978 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4980
4981 fidl::encoding::encode_in_envelope_optional::<i64, D>(
4986 self.stop_time.as_ref().map(<i64 as fidl::encoding::ValueTypeMarker>::borrow),
4987 encoder,
4988 offset + cur_offset,
4989 depth,
4990 )?;
4991
4992 _prev_end_offset = cur_offset + envelope_size;
4993
4994 Ok(())
4995 }
4996 }
4997
4998 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4999 for ControlCodecStopResponse
5000 {
5001 #[inline(always)]
5002 fn new_empty() -> Self {
5003 Self::default()
5004 }
5005
5006 unsafe fn decode(
5007 &mut self,
5008 decoder: &mut fidl::encoding::Decoder<'_, D>,
5009 offset: usize,
5010 mut depth: fidl::encoding::Depth,
5011 ) -> fidl::Result<()> {
5012 decoder.debug_check_bounds::<Self>(offset);
5013 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
5014 None => return Err(fidl::Error::NotNullable),
5015 Some(len) => len,
5016 };
5017 if len == 0 {
5019 return Ok(());
5020 };
5021 depth.increment()?;
5022 let envelope_size = 8;
5023 let bytes_len = len * envelope_size;
5024 let offset = decoder.out_of_line_offset(bytes_len)?;
5025 let mut _next_ordinal_to_read = 0;
5027 let mut next_offset = offset;
5028 let end_offset = offset + bytes_len;
5029 _next_ordinal_to_read += 1;
5030 if next_offset >= end_offset {
5031 return Ok(());
5032 }
5033
5034 while _next_ordinal_to_read < 1 {
5036 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5037 _next_ordinal_to_read += 1;
5038 next_offset += envelope_size;
5039 }
5040
5041 let next_out_of_line = decoder.next_out_of_line();
5042 let handles_before = decoder.remaining_handles();
5043 if let Some((inlined, num_bytes, num_handles)) =
5044 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5045 {
5046 let member_inline_size =
5047 <i64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5048 if inlined != (member_inline_size <= 4) {
5049 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5050 }
5051 let inner_offset;
5052 let mut inner_depth = depth.clone();
5053 if inlined {
5054 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5055 inner_offset = next_offset;
5056 } else {
5057 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5058 inner_depth.increment()?;
5059 }
5060 let val_ref = self.stop_time.get_or_insert_with(|| fidl::new_empty!(i64, D));
5061 fidl::decode!(i64, D, val_ref, decoder, inner_offset, inner_depth)?;
5062 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5063 {
5064 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5065 }
5066 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5067 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5068 }
5069 }
5070
5071 next_offset += envelope_size;
5072
5073 while next_offset < end_offset {
5075 _next_ordinal_to_read += 1;
5076 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5077 next_offset += envelope_size;
5078 }
5079
5080 Ok(())
5081 }
5082 }
5083
5084 impl ControlResetResponse {
5085 #[inline(always)]
5086 fn max_ordinal_present(&self) -> u64 {
5087 0
5088 }
5089 }
5090
5091 impl fidl::encoding::ValueTypeMarker for ControlResetResponse {
5092 type Borrowed<'a> = &'a Self;
5093 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5094 value
5095 }
5096 }
5097
5098 unsafe impl fidl::encoding::TypeMarker for ControlResetResponse {
5099 type Owned = Self;
5100
5101 #[inline(always)]
5102 fn inline_align(_context: fidl::encoding::Context) -> usize {
5103 8
5104 }
5105
5106 #[inline(always)]
5107 fn inline_size(_context: fidl::encoding::Context) -> usize {
5108 16
5109 }
5110 }
5111
5112 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ControlResetResponse, D>
5113 for &ControlResetResponse
5114 {
5115 unsafe fn encode(
5116 self,
5117 encoder: &mut fidl::encoding::Encoder<'_, D>,
5118 offset: usize,
5119 mut depth: fidl::encoding::Depth,
5120 ) -> fidl::Result<()> {
5121 encoder.debug_check_bounds::<ControlResetResponse>(offset);
5122 let max_ordinal: u64 = self.max_ordinal_present();
5124 encoder.write_num(max_ordinal, offset);
5125 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
5126 if max_ordinal == 0 {
5128 return Ok(());
5129 }
5130 depth.increment()?;
5131 let envelope_size = 8;
5132 let bytes_len = max_ordinal as usize * envelope_size;
5133 #[allow(unused_variables)]
5134 let offset = encoder.out_of_line_offset(bytes_len);
5135 let mut _prev_end_offset: usize = 0;
5136
5137 Ok(())
5138 }
5139 }
5140
5141 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ControlResetResponse {
5142 #[inline(always)]
5143 fn new_empty() -> Self {
5144 Self::default()
5145 }
5146
5147 unsafe fn decode(
5148 &mut self,
5149 decoder: &mut fidl::encoding::Decoder<'_, D>,
5150 offset: usize,
5151 mut depth: fidl::encoding::Depth,
5152 ) -> fidl::Result<()> {
5153 decoder.debug_check_bounds::<Self>(offset);
5154 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
5155 None => return Err(fidl::Error::NotNullable),
5156 Some(len) => len,
5157 };
5158 if len == 0 {
5160 return Ok(());
5161 };
5162 depth.increment()?;
5163 let envelope_size = 8;
5164 let bytes_len = len * envelope_size;
5165 let offset = decoder.out_of_line_offset(bytes_len)?;
5166 let mut _next_ordinal_to_read = 0;
5168 let mut next_offset = offset;
5169 let end_offset = offset + bytes_len;
5170
5171 while next_offset < end_offset {
5173 _next_ordinal_to_read += 1;
5174 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5175 next_offset += envelope_size;
5176 }
5177
5178 Ok(())
5179 }
5180 }
5181
5182 impl ControlSetDaiFormatResponse {
5183 #[inline(always)]
5184 fn max_ordinal_present(&self) -> u64 {
5185 if let Some(_) = self.state {
5186 return 1;
5187 }
5188 0
5189 }
5190 }
5191
5192 impl fidl::encoding::ValueTypeMarker for ControlSetDaiFormatResponse {
5193 type Borrowed<'a> = &'a Self;
5194 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5195 value
5196 }
5197 }
5198
5199 unsafe impl fidl::encoding::TypeMarker for ControlSetDaiFormatResponse {
5200 type Owned = Self;
5201
5202 #[inline(always)]
5203 fn inline_align(_context: fidl::encoding::Context) -> usize {
5204 8
5205 }
5206
5207 #[inline(always)]
5208 fn inline_size(_context: fidl::encoding::Context) -> usize {
5209 16
5210 }
5211 }
5212
5213 unsafe impl<D: fidl::encoding::ResourceDialect>
5214 fidl::encoding::Encode<ControlSetDaiFormatResponse, D> for &ControlSetDaiFormatResponse
5215 {
5216 unsafe fn encode(
5217 self,
5218 encoder: &mut fidl::encoding::Encoder<'_, D>,
5219 offset: usize,
5220 mut depth: fidl::encoding::Depth,
5221 ) -> fidl::Result<()> {
5222 encoder.debug_check_bounds::<ControlSetDaiFormatResponse>(offset);
5223 let max_ordinal: u64 = self.max_ordinal_present();
5225 encoder.write_num(max_ordinal, offset);
5226 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
5227 if max_ordinal == 0 {
5229 return Ok(());
5230 }
5231 depth.increment()?;
5232 let envelope_size = 8;
5233 let bytes_len = max_ordinal as usize * envelope_size;
5234 #[allow(unused_variables)]
5235 let offset = encoder.out_of_line_offset(bytes_len);
5236 let mut _prev_end_offset: usize = 0;
5237 if 1 > max_ordinal {
5238 return Ok(());
5239 }
5240
5241 let cur_offset: usize = (1 - 1) * envelope_size;
5244
5245 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5247
5248 fidl::encoding::encode_in_envelope_optional::<fidl_fuchsia_hardware_audio__common::CodecFormatInfo, D>(
5253 self.state.as_ref().map(<fidl_fuchsia_hardware_audio__common::CodecFormatInfo as fidl::encoding::ValueTypeMarker>::borrow),
5254 encoder, offset + cur_offset, depth
5255 )?;
5256
5257 _prev_end_offset = cur_offset + envelope_size;
5258
5259 Ok(())
5260 }
5261 }
5262
5263 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5264 for ControlSetDaiFormatResponse
5265 {
5266 #[inline(always)]
5267 fn new_empty() -> Self {
5268 Self::default()
5269 }
5270
5271 unsafe fn decode(
5272 &mut self,
5273 decoder: &mut fidl::encoding::Decoder<'_, D>,
5274 offset: usize,
5275 mut depth: fidl::encoding::Depth,
5276 ) -> fidl::Result<()> {
5277 decoder.debug_check_bounds::<Self>(offset);
5278 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
5279 None => return Err(fidl::Error::NotNullable),
5280 Some(len) => len,
5281 };
5282 if len == 0 {
5284 return Ok(());
5285 };
5286 depth.increment()?;
5287 let envelope_size = 8;
5288 let bytes_len = len * envelope_size;
5289 let offset = decoder.out_of_line_offset(bytes_len)?;
5290 let mut _next_ordinal_to_read = 0;
5292 let mut next_offset = offset;
5293 let end_offset = offset + bytes_len;
5294 _next_ordinal_to_read += 1;
5295 if next_offset >= end_offset {
5296 return Ok(());
5297 }
5298
5299 while _next_ordinal_to_read < 1 {
5301 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5302 _next_ordinal_to_read += 1;
5303 next_offset += envelope_size;
5304 }
5305
5306 let next_out_of_line = decoder.next_out_of_line();
5307 let handles_before = decoder.remaining_handles();
5308 if let Some((inlined, num_bytes, num_handles)) =
5309 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5310 {
5311 let member_inline_size = <fidl_fuchsia_hardware_audio__common::CodecFormatInfo as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5312 if inlined != (member_inline_size <= 4) {
5313 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5314 }
5315 let inner_offset;
5316 let mut inner_depth = depth.clone();
5317 if inlined {
5318 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5319 inner_offset = next_offset;
5320 } else {
5321 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5322 inner_depth.increment()?;
5323 }
5324 let val_ref = self.state.get_or_insert_with(|| {
5325 fidl::new_empty!(fidl_fuchsia_hardware_audio__common::CodecFormatInfo, D)
5326 });
5327 fidl::decode!(
5328 fidl_fuchsia_hardware_audio__common::CodecFormatInfo,
5329 D,
5330 val_ref,
5331 decoder,
5332 inner_offset,
5333 inner_depth
5334 )?;
5335 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5336 {
5337 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5338 }
5339 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5340 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5341 }
5342 }
5343
5344 next_offset += envelope_size;
5345
5346 while next_offset < end_offset {
5348 _next_ordinal_to_read += 1;
5349 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5350 next_offset += envelope_size;
5351 }
5352
5353 Ok(())
5354 }
5355 }
5356
5357 impl DelayInfo {
5358 #[inline(always)]
5359 fn max_ordinal_present(&self) -> u64 {
5360 if let Some(_) = self.external_delay {
5361 return 2;
5362 }
5363 if let Some(_) = self.internal_delay {
5364 return 1;
5365 }
5366 0
5367 }
5368 }
5369
5370 impl fidl::encoding::ValueTypeMarker for DelayInfo {
5371 type Borrowed<'a> = &'a Self;
5372 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5373 value
5374 }
5375 }
5376
5377 unsafe impl fidl::encoding::TypeMarker for DelayInfo {
5378 type Owned = Self;
5379
5380 #[inline(always)]
5381 fn inline_align(_context: fidl::encoding::Context) -> usize {
5382 8
5383 }
5384
5385 #[inline(always)]
5386 fn inline_size(_context: fidl::encoding::Context) -> usize {
5387 16
5388 }
5389 }
5390
5391 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DelayInfo, D>
5392 for &DelayInfo
5393 {
5394 unsafe fn encode(
5395 self,
5396 encoder: &mut fidl::encoding::Encoder<'_, D>,
5397 offset: usize,
5398 mut depth: fidl::encoding::Depth,
5399 ) -> fidl::Result<()> {
5400 encoder.debug_check_bounds::<DelayInfo>(offset);
5401 let max_ordinal: u64 = self.max_ordinal_present();
5403 encoder.write_num(max_ordinal, offset);
5404 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
5405 if max_ordinal == 0 {
5407 return Ok(());
5408 }
5409 depth.increment()?;
5410 let envelope_size = 8;
5411 let bytes_len = max_ordinal as usize * envelope_size;
5412 #[allow(unused_variables)]
5413 let offset = encoder.out_of_line_offset(bytes_len);
5414 let mut _prev_end_offset: usize = 0;
5415 if 1 > max_ordinal {
5416 return Ok(());
5417 }
5418
5419 let cur_offset: usize = (1 - 1) * envelope_size;
5422
5423 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5425
5426 fidl::encoding::encode_in_envelope_optional::<i64, D>(
5431 self.internal_delay.as_ref().map(<i64 as fidl::encoding::ValueTypeMarker>::borrow),
5432 encoder,
5433 offset + cur_offset,
5434 depth,
5435 )?;
5436
5437 _prev_end_offset = cur_offset + envelope_size;
5438 if 2 > max_ordinal {
5439 return Ok(());
5440 }
5441
5442 let cur_offset: usize = (2 - 1) * envelope_size;
5445
5446 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5448
5449 fidl::encoding::encode_in_envelope_optional::<i64, D>(
5454 self.external_delay.as_ref().map(<i64 as fidl::encoding::ValueTypeMarker>::borrow),
5455 encoder,
5456 offset + cur_offset,
5457 depth,
5458 )?;
5459
5460 _prev_end_offset = cur_offset + envelope_size;
5461
5462 Ok(())
5463 }
5464 }
5465
5466 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DelayInfo {
5467 #[inline(always)]
5468 fn new_empty() -> Self {
5469 Self::default()
5470 }
5471
5472 unsafe fn decode(
5473 &mut self,
5474 decoder: &mut fidl::encoding::Decoder<'_, D>,
5475 offset: usize,
5476 mut depth: fidl::encoding::Depth,
5477 ) -> fidl::Result<()> {
5478 decoder.debug_check_bounds::<Self>(offset);
5479 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
5480 None => return Err(fidl::Error::NotNullable),
5481 Some(len) => len,
5482 };
5483 if len == 0 {
5485 return Ok(());
5486 };
5487 depth.increment()?;
5488 let envelope_size = 8;
5489 let bytes_len = len * envelope_size;
5490 let offset = decoder.out_of_line_offset(bytes_len)?;
5491 let mut _next_ordinal_to_read = 0;
5493 let mut next_offset = offset;
5494 let end_offset = offset + bytes_len;
5495 _next_ordinal_to_read += 1;
5496 if next_offset >= end_offset {
5497 return Ok(());
5498 }
5499
5500 while _next_ordinal_to_read < 1 {
5502 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5503 _next_ordinal_to_read += 1;
5504 next_offset += envelope_size;
5505 }
5506
5507 let next_out_of_line = decoder.next_out_of_line();
5508 let handles_before = decoder.remaining_handles();
5509 if let Some((inlined, num_bytes, num_handles)) =
5510 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5511 {
5512 let member_inline_size =
5513 <i64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5514 if inlined != (member_inline_size <= 4) {
5515 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5516 }
5517 let inner_offset;
5518 let mut inner_depth = depth.clone();
5519 if inlined {
5520 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5521 inner_offset = next_offset;
5522 } else {
5523 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5524 inner_depth.increment()?;
5525 }
5526 let val_ref = self.internal_delay.get_or_insert_with(|| fidl::new_empty!(i64, D));
5527 fidl::decode!(i64, D, val_ref, decoder, inner_offset, inner_depth)?;
5528 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5529 {
5530 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5531 }
5532 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5533 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5534 }
5535 }
5536
5537 next_offset += envelope_size;
5538 _next_ordinal_to_read += 1;
5539 if next_offset >= end_offset {
5540 return Ok(());
5541 }
5542
5543 while _next_ordinal_to_read < 2 {
5545 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5546 _next_ordinal_to_read += 1;
5547 next_offset += envelope_size;
5548 }
5549
5550 let next_out_of_line = decoder.next_out_of_line();
5551 let handles_before = decoder.remaining_handles();
5552 if let Some((inlined, num_bytes, num_handles)) =
5553 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5554 {
5555 let member_inline_size =
5556 <i64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5557 if inlined != (member_inline_size <= 4) {
5558 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5559 }
5560 let inner_offset;
5561 let mut inner_depth = depth.clone();
5562 if inlined {
5563 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5564 inner_offset = next_offset;
5565 } else {
5566 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5567 inner_depth.increment()?;
5568 }
5569 let val_ref = self.external_delay.get_or_insert_with(|| fidl::new_empty!(i64, D));
5570 fidl::decode!(i64, D, val_ref, decoder, inner_offset, inner_depth)?;
5571 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5572 {
5573 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5574 }
5575 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5576 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5577 }
5578 }
5579
5580 next_offset += envelope_size;
5581
5582 while next_offset < end_offset {
5584 _next_ordinal_to_read += 1;
5585 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5586 next_offset += envelope_size;
5587 }
5588
5589 Ok(())
5590 }
5591 }
5592
5593 impl ElementDaiFormatSet {
5594 #[inline(always)]
5595 fn max_ordinal_present(&self) -> u64 {
5596 if let Some(_) = self.format_sets {
5597 return 2;
5598 }
5599 if let Some(_) = self.element_id {
5600 return 1;
5601 }
5602 0
5603 }
5604 }
5605
5606 impl fidl::encoding::ValueTypeMarker for ElementDaiFormatSet {
5607 type Borrowed<'a> = &'a Self;
5608 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5609 value
5610 }
5611 }
5612
5613 unsafe impl fidl::encoding::TypeMarker for ElementDaiFormatSet {
5614 type Owned = Self;
5615
5616 #[inline(always)]
5617 fn inline_align(_context: fidl::encoding::Context) -> usize {
5618 8
5619 }
5620
5621 #[inline(always)]
5622 fn inline_size(_context: fidl::encoding::Context) -> usize {
5623 16
5624 }
5625 }
5626
5627 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ElementDaiFormatSet, D>
5628 for &ElementDaiFormatSet
5629 {
5630 unsafe fn encode(
5631 self,
5632 encoder: &mut fidl::encoding::Encoder<'_, D>,
5633 offset: usize,
5634 mut depth: fidl::encoding::Depth,
5635 ) -> fidl::Result<()> {
5636 encoder.debug_check_bounds::<ElementDaiFormatSet>(offset);
5637 let max_ordinal: u64 = self.max_ordinal_present();
5639 encoder.write_num(max_ordinal, offset);
5640 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
5641 if max_ordinal == 0 {
5643 return Ok(());
5644 }
5645 depth.increment()?;
5646 let envelope_size = 8;
5647 let bytes_len = max_ordinal as usize * envelope_size;
5648 #[allow(unused_variables)]
5649 let offset = encoder.out_of_line_offset(bytes_len);
5650 let mut _prev_end_offset: usize = 0;
5651 if 1 > max_ordinal {
5652 return Ok(());
5653 }
5654
5655 let cur_offset: usize = (1 - 1) * envelope_size;
5658
5659 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5661
5662 fidl::encoding::encode_in_envelope_optional::<u64, D>(
5667 self.element_id.as_ref().map(<u64 as fidl::encoding::ValueTypeMarker>::borrow),
5668 encoder,
5669 offset + cur_offset,
5670 depth,
5671 )?;
5672
5673 _prev_end_offset = cur_offset + envelope_size;
5674 if 2 > max_ordinal {
5675 return Ok(());
5676 }
5677
5678 let cur_offset: usize = (2 - 1) * envelope_size;
5681
5682 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5684
5685 fidl::encoding::encode_in_envelope_optional::<
5690 fidl::encoding::Vector<
5691 fidl_fuchsia_hardware_audio__common::DaiSupportedFormats,
5692 64,
5693 >,
5694 D,
5695 >(
5696 self.format_sets.as_ref().map(
5697 <fidl::encoding::Vector<
5698 fidl_fuchsia_hardware_audio__common::DaiSupportedFormats,
5699 64,
5700 > as fidl::encoding::ValueTypeMarker>::borrow,
5701 ),
5702 encoder,
5703 offset + cur_offset,
5704 depth,
5705 )?;
5706
5707 _prev_end_offset = cur_offset + envelope_size;
5708
5709 Ok(())
5710 }
5711 }
5712
5713 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ElementDaiFormatSet {
5714 #[inline(always)]
5715 fn new_empty() -> Self {
5716 Self::default()
5717 }
5718
5719 unsafe fn decode(
5720 &mut self,
5721 decoder: &mut fidl::encoding::Decoder<'_, D>,
5722 offset: usize,
5723 mut depth: fidl::encoding::Depth,
5724 ) -> fidl::Result<()> {
5725 decoder.debug_check_bounds::<Self>(offset);
5726 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
5727 None => return Err(fidl::Error::NotNullable),
5728 Some(len) => len,
5729 };
5730 if len == 0 {
5732 return Ok(());
5733 };
5734 depth.increment()?;
5735 let envelope_size = 8;
5736 let bytes_len = len * envelope_size;
5737 let offset = decoder.out_of_line_offset(bytes_len)?;
5738 let mut _next_ordinal_to_read = 0;
5740 let mut next_offset = offset;
5741 let end_offset = offset + bytes_len;
5742 _next_ordinal_to_read += 1;
5743 if next_offset >= end_offset {
5744 return Ok(());
5745 }
5746
5747 while _next_ordinal_to_read < 1 {
5749 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5750 _next_ordinal_to_read += 1;
5751 next_offset += envelope_size;
5752 }
5753
5754 let next_out_of_line = decoder.next_out_of_line();
5755 let handles_before = decoder.remaining_handles();
5756 if let Some((inlined, num_bytes, num_handles)) =
5757 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5758 {
5759 let member_inline_size =
5760 <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5761 if inlined != (member_inline_size <= 4) {
5762 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5763 }
5764 let inner_offset;
5765 let mut inner_depth = depth.clone();
5766 if inlined {
5767 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5768 inner_offset = next_offset;
5769 } else {
5770 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5771 inner_depth.increment()?;
5772 }
5773 let val_ref = self.element_id.get_or_insert_with(|| fidl::new_empty!(u64, D));
5774 fidl::decode!(u64, D, val_ref, decoder, inner_offset, inner_depth)?;
5775 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5776 {
5777 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5778 }
5779 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5780 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5781 }
5782 }
5783
5784 next_offset += envelope_size;
5785 _next_ordinal_to_read += 1;
5786 if next_offset >= end_offset {
5787 return Ok(());
5788 }
5789
5790 while _next_ordinal_to_read < 2 {
5792 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5793 _next_ordinal_to_read += 1;
5794 next_offset += envelope_size;
5795 }
5796
5797 let next_out_of_line = decoder.next_out_of_line();
5798 let handles_before = decoder.remaining_handles();
5799 if let Some((inlined, num_bytes, num_handles)) =
5800 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5801 {
5802 let member_inline_size = <fidl::encoding::Vector<
5803 fidl_fuchsia_hardware_audio__common::DaiSupportedFormats,
5804 64,
5805 > as fidl::encoding::TypeMarker>::inline_size(
5806 decoder.context
5807 );
5808 if inlined != (member_inline_size <= 4) {
5809 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5810 }
5811 let inner_offset;
5812 let mut inner_depth = depth.clone();
5813 if inlined {
5814 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5815 inner_offset = next_offset;
5816 } else {
5817 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5818 inner_depth.increment()?;
5819 }
5820 let val_ref =
5821 self.format_sets.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Vector<fidl_fuchsia_hardware_audio__common::DaiSupportedFormats, 64>, D));
5822 fidl::decode!(fidl::encoding::Vector<fidl_fuchsia_hardware_audio__common::DaiSupportedFormats, 64>, D, val_ref, decoder, inner_offset, inner_depth)?;
5823 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5824 {
5825 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5826 }
5827 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5828 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5829 }
5830 }
5831
5832 next_offset += envelope_size;
5833
5834 while next_offset < end_offset {
5836 _next_ordinal_to_read += 1;
5837 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5838 next_offset += envelope_size;
5839 }
5840
5841 Ok(())
5842 }
5843 }
5844
5845 impl ElementPacketStreamFormatSet {
5846 #[inline(always)]
5847 fn max_ordinal_present(&self) -> u64 {
5848 if let Some(_) = self.format_sets {
5849 return 2;
5850 }
5851 if let Some(_) = self.element_id {
5852 return 1;
5853 }
5854 0
5855 }
5856 }
5857
5858 impl fidl::encoding::ValueTypeMarker for ElementPacketStreamFormatSet {
5859 type Borrowed<'a> = &'a Self;
5860 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5861 value
5862 }
5863 }
5864
5865 unsafe impl fidl::encoding::TypeMarker for ElementPacketStreamFormatSet {
5866 type Owned = Self;
5867
5868 #[inline(always)]
5869 fn inline_align(_context: fidl::encoding::Context) -> usize {
5870 8
5871 }
5872
5873 #[inline(always)]
5874 fn inline_size(_context: fidl::encoding::Context) -> usize {
5875 16
5876 }
5877 }
5878
5879 unsafe impl<D: fidl::encoding::ResourceDialect>
5880 fidl::encoding::Encode<ElementPacketStreamFormatSet, D> for &ElementPacketStreamFormatSet
5881 {
5882 unsafe fn encode(
5883 self,
5884 encoder: &mut fidl::encoding::Encoder<'_, D>,
5885 offset: usize,
5886 mut depth: fidl::encoding::Depth,
5887 ) -> fidl::Result<()> {
5888 encoder.debug_check_bounds::<ElementPacketStreamFormatSet>(offset);
5889 let max_ordinal: u64 = self.max_ordinal_present();
5891 encoder.write_num(max_ordinal, offset);
5892 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
5893 if max_ordinal == 0 {
5895 return Ok(());
5896 }
5897 depth.increment()?;
5898 let envelope_size = 8;
5899 let bytes_len = max_ordinal as usize * envelope_size;
5900 #[allow(unused_variables)]
5901 let offset = encoder.out_of_line_offset(bytes_len);
5902 let mut _prev_end_offset: usize = 0;
5903 if 1 > max_ordinal {
5904 return Ok(());
5905 }
5906
5907 let cur_offset: usize = (1 - 1) * envelope_size;
5910
5911 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5913
5914 fidl::encoding::encode_in_envelope_optional::<u64, D>(
5919 self.element_id.as_ref().map(<u64 as fidl::encoding::ValueTypeMarker>::borrow),
5920 encoder,
5921 offset + cur_offset,
5922 depth,
5923 )?;
5924
5925 _prev_end_offset = cur_offset + envelope_size;
5926 if 2 > max_ordinal {
5927 return Ok(());
5928 }
5929
5930 let cur_offset: usize = (2 - 1) * envelope_size;
5933
5934 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5936
5937 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<PacketStreamSupportedFormats, 64>, D>(
5942 self.format_sets.as_ref().map(<fidl::encoding::Vector<PacketStreamSupportedFormats, 64> as fidl::encoding::ValueTypeMarker>::borrow),
5943 encoder, offset + cur_offset, depth
5944 )?;
5945
5946 _prev_end_offset = cur_offset + envelope_size;
5947
5948 Ok(())
5949 }
5950 }
5951
5952 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5953 for ElementPacketStreamFormatSet
5954 {
5955 #[inline(always)]
5956 fn new_empty() -> Self {
5957 Self::default()
5958 }
5959
5960 unsafe fn decode(
5961 &mut self,
5962 decoder: &mut fidl::encoding::Decoder<'_, D>,
5963 offset: usize,
5964 mut depth: fidl::encoding::Depth,
5965 ) -> fidl::Result<()> {
5966 decoder.debug_check_bounds::<Self>(offset);
5967 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
5968 None => return Err(fidl::Error::NotNullable),
5969 Some(len) => len,
5970 };
5971 if len == 0 {
5973 return Ok(());
5974 };
5975 depth.increment()?;
5976 let envelope_size = 8;
5977 let bytes_len = len * envelope_size;
5978 let offset = decoder.out_of_line_offset(bytes_len)?;
5979 let mut _next_ordinal_to_read = 0;
5981 let mut next_offset = offset;
5982 let end_offset = offset + bytes_len;
5983 _next_ordinal_to_read += 1;
5984 if next_offset >= end_offset {
5985 return Ok(());
5986 }
5987
5988 while _next_ordinal_to_read < 1 {
5990 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5991 _next_ordinal_to_read += 1;
5992 next_offset += envelope_size;
5993 }
5994
5995 let next_out_of_line = decoder.next_out_of_line();
5996 let handles_before = decoder.remaining_handles();
5997 if let Some((inlined, num_bytes, num_handles)) =
5998 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5999 {
6000 let member_inline_size =
6001 <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
6002 if inlined != (member_inline_size <= 4) {
6003 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6004 }
6005 let inner_offset;
6006 let mut inner_depth = depth.clone();
6007 if inlined {
6008 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6009 inner_offset = next_offset;
6010 } else {
6011 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6012 inner_depth.increment()?;
6013 }
6014 let val_ref = self.element_id.get_or_insert_with(|| fidl::new_empty!(u64, D));
6015 fidl::decode!(u64, D, val_ref, decoder, inner_offset, inner_depth)?;
6016 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6017 {
6018 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6019 }
6020 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6021 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6022 }
6023 }
6024
6025 next_offset += envelope_size;
6026 _next_ordinal_to_read += 1;
6027 if next_offset >= end_offset {
6028 return Ok(());
6029 }
6030
6031 while _next_ordinal_to_read < 2 {
6033 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6034 _next_ordinal_to_read += 1;
6035 next_offset += envelope_size;
6036 }
6037
6038 let next_out_of_line = decoder.next_out_of_line();
6039 let handles_before = decoder.remaining_handles();
6040 if let Some((inlined, num_bytes, num_handles)) =
6041 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6042 {
6043 let member_inline_size = <fidl::encoding::Vector<PacketStreamSupportedFormats, 64> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
6044 if inlined != (member_inline_size <= 4) {
6045 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6046 }
6047 let inner_offset;
6048 let mut inner_depth = depth.clone();
6049 if inlined {
6050 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6051 inner_offset = next_offset;
6052 } else {
6053 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6054 inner_depth.increment()?;
6055 }
6056 let val_ref =
6057 self.format_sets.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Vector<PacketStreamSupportedFormats, 64>, D));
6058 fidl::decode!(fidl::encoding::Vector<PacketStreamSupportedFormats, 64>, D, val_ref, decoder, inner_offset, inner_depth)?;
6059 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6060 {
6061 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6062 }
6063 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6064 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6065 }
6066 }
6067
6068 next_offset += envelope_size;
6069
6070 while next_offset < end_offset {
6072 _next_ordinal_to_read += 1;
6073 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6074 next_offset += envelope_size;
6075 }
6076
6077 Ok(())
6078 }
6079 }
6080
6081 impl ElementRingBufferFormatSet {
6082 #[inline(always)]
6083 fn max_ordinal_present(&self) -> u64 {
6084 if let Some(_) = self.format_sets {
6085 return 2;
6086 }
6087 if let Some(_) = self.element_id {
6088 return 1;
6089 }
6090 0
6091 }
6092 }
6093
6094 impl fidl::encoding::ValueTypeMarker for ElementRingBufferFormatSet {
6095 type Borrowed<'a> = &'a Self;
6096 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6097 value
6098 }
6099 }
6100
6101 unsafe impl fidl::encoding::TypeMarker for ElementRingBufferFormatSet {
6102 type Owned = Self;
6103
6104 #[inline(always)]
6105 fn inline_align(_context: fidl::encoding::Context) -> usize {
6106 8
6107 }
6108
6109 #[inline(always)]
6110 fn inline_size(_context: fidl::encoding::Context) -> usize {
6111 16
6112 }
6113 }
6114
6115 unsafe impl<D: fidl::encoding::ResourceDialect>
6116 fidl::encoding::Encode<ElementRingBufferFormatSet, D> for &ElementRingBufferFormatSet
6117 {
6118 unsafe fn encode(
6119 self,
6120 encoder: &mut fidl::encoding::Encoder<'_, D>,
6121 offset: usize,
6122 mut depth: fidl::encoding::Depth,
6123 ) -> fidl::Result<()> {
6124 encoder.debug_check_bounds::<ElementRingBufferFormatSet>(offset);
6125 let max_ordinal: u64 = self.max_ordinal_present();
6127 encoder.write_num(max_ordinal, offset);
6128 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
6129 if max_ordinal == 0 {
6131 return Ok(());
6132 }
6133 depth.increment()?;
6134 let envelope_size = 8;
6135 let bytes_len = max_ordinal as usize * envelope_size;
6136 #[allow(unused_variables)]
6137 let offset = encoder.out_of_line_offset(bytes_len);
6138 let mut _prev_end_offset: usize = 0;
6139 if 1 > max_ordinal {
6140 return Ok(());
6141 }
6142
6143 let cur_offset: usize = (1 - 1) * envelope_size;
6146
6147 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6149
6150 fidl::encoding::encode_in_envelope_optional::<u64, D>(
6155 self.element_id.as_ref().map(<u64 as fidl::encoding::ValueTypeMarker>::borrow),
6156 encoder,
6157 offset + cur_offset,
6158 depth,
6159 )?;
6160
6161 _prev_end_offset = cur_offset + envelope_size;
6162 if 2 > max_ordinal {
6163 return Ok(());
6164 }
6165
6166 let cur_offset: usize = (2 - 1) * envelope_size;
6169
6170 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6172
6173 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<PcmFormatSet, 64>, D>(
6178 self.format_sets.as_ref().map(<fidl::encoding::Vector<PcmFormatSet, 64> as fidl::encoding::ValueTypeMarker>::borrow),
6179 encoder, offset + cur_offset, depth
6180 )?;
6181
6182 _prev_end_offset = cur_offset + envelope_size;
6183
6184 Ok(())
6185 }
6186 }
6187
6188 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6189 for ElementRingBufferFormatSet
6190 {
6191 #[inline(always)]
6192 fn new_empty() -> Self {
6193 Self::default()
6194 }
6195
6196 unsafe fn decode(
6197 &mut self,
6198 decoder: &mut fidl::encoding::Decoder<'_, D>,
6199 offset: usize,
6200 mut depth: fidl::encoding::Depth,
6201 ) -> fidl::Result<()> {
6202 decoder.debug_check_bounds::<Self>(offset);
6203 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
6204 None => return Err(fidl::Error::NotNullable),
6205 Some(len) => len,
6206 };
6207 if len == 0 {
6209 return Ok(());
6210 };
6211 depth.increment()?;
6212 let envelope_size = 8;
6213 let bytes_len = len * envelope_size;
6214 let offset = decoder.out_of_line_offset(bytes_len)?;
6215 let mut _next_ordinal_to_read = 0;
6217 let mut next_offset = offset;
6218 let end_offset = offset + bytes_len;
6219 _next_ordinal_to_read += 1;
6220 if next_offset >= end_offset {
6221 return Ok(());
6222 }
6223
6224 while _next_ordinal_to_read < 1 {
6226 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6227 _next_ordinal_to_read += 1;
6228 next_offset += envelope_size;
6229 }
6230
6231 let next_out_of_line = decoder.next_out_of_line();
6232 let handles_before = decoder.remaining_handles();
6233 if let Some((inlined, num_bytes, num_handles)) =
6234 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6235 {
6236 let member_inline_size =
6237 <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
6238 if inlined != (member_inline_size <= 4) {
6239 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6240 }
6241 let inner_offset;
6242 let mut inner_depth = depth.clone();
6243 if inlined {
6244 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6245 inner_offset = next_offset;
6246 } else {
6247 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6248 inner_depth.increment()?;
6249 }
6250 let val_ref = self.element_id.get_or_insert_with(|| fidl::new_empty!(u64, D));
6251 fidl::decode!(u64, D, val_ref, decoder, inner_offset, inner_depth)?;
6252 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6253 {
6254 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6255 }
6256 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6257 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6258 }
6259 }
6260
6261 next_offset += envelope_size;
6262 _next_ordinal_to_read += 1;
6263 if next_offset >= end_offset {
6264 return Ok(());
6265 }
6266
6267 while _next_ordinal_to_read < 2 {
6269 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6270 _next_ordinal_to_read += 1;
6271 next_offset += envelope_size;
6272 }
6273
6274 let next_out_of_line = decoder.next_out_of_line();
6275 let handles_before = decoder.remaining_handles();
6276 if let Some((inlined, num_bytes, num_handles)) =
6277 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6278 {
6279 let member_inline_size = <fidl::encoding::Vector<PcmFormatSet, 64> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
6280 if inlined != (member_inline_size <= 4) {
6281 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6282 }
6283 let inner_offset;
6284 let mut inner_depth = depth.clone();
6285 if inlined {
6286 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6287 inner_offset = next_offset;
6288 } else {
6289 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6290 inner_depth.increment()?;
6291 }
6292 let val_ref = self.format_sets.get_or_insert_with(
6293 || fidl::new_empty!(fidl::encoding::Vector<PcmFormatSet, 64>, D),
6294 );
6295 fidl::decode!(fidl::encoding::Vector<PcmFormatSet, 64>, D, val_ref, decoder, inner_offset, inner_depth)?;
6296 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6297 {
6298 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6299 }
6300 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6301 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6302 }
6303 }
6304
6305 next_offset += envelope_size;
6306
6307 while next_offset < end_offset {
6309 _next_ordinal_to_read += 1;
6310 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6311 next_offset += envelope_size;
6312 }
6313
6314 Ok(())
6315 }
6316 }
6317
6318 impl Info {
6319 #[inline(always)]
6320 fn max_ordinal_present(&self) -> u64 {
6321 if let Some(_) = self.packet_stream_format_sets {
6322 return 14;
6323 }
6324 if let Some(_) = self.signal_processing_topologies {
6325 return 13;
6326 }
6327 if let Some(_) = self.signal_processing_elements {
6328 return 12;
6329 }
6330 if let Some(_) = self.clock_domain {
6331 return 11;
6332 }
6333 if let Some(_) = self.plug_detect_caps {
6334 return 10;
6335 }
6336 if let Some(_) = self.dai_format_sets {
6337 return 9;
6338 }
6339 if let Some(_) = self.ring_buffer_format_sets {
6340 return 8;
6341 }
6342 if let Some(_) = self.is_input {
6343 return 7;
6344 }
6345 if let Some(_) = self.unique_instance_id {
6346 return 6;
6347 }
6348 if let Some(_) = self.product {
6349 return 5;
6350 }
6351 if let Some(_) = self.manufacturer {
6352 return 4;
6353 }
6354 if let Some(_) = self.device_name {
6355 return 3;
6356 }
6357 if let Some(_) = self.device_type {
6358 return 2;
6359 }
6360 if let Some(_) = self.token_id {
6361 return 1;
6362 }
6363 0
6364 }
6365 }
6366
6367 impl fidl::encoding::ValueTypeMarker for Info {
6368 type Borrowed<'a> = &'a Self;
6369 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6370 value
6371 }
6372 }
6373
6374 unsafe impl fidl::encoding::TypeMarker for Info {
6375 type Owned = Self;
6376
6377 #[inline(always)]
6378 fn inline_align(_context: fidl::encoding::Context) -> usize {
6379 8
6380 }
6381
6382 #[inline(always)]
6383 fn inline_size(_context: fidl::encoding::Context) -> usize {
6384 16
6385 }
6386 }
6387
6388 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Info, D> for &Info {
6389 unsafe fn encode(
6390 self,
6391 encoder: &mut fidl::encoding::Encoder<'_, D>,
6392 offset: usize,
6393 mut depth: fidl::encoding::Depth,
6394 ) -> fidl::Result<()> {
6395 encoder.debug_check_bounds::<Info>(offset);
6396 let max_ordinal: u64 = self.max_ordinal_present();
6398 encoder.write_num(max_ordinal, offset);
6399 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
6400 if max_ordinal == 0 {
6402 return Ok(());
6403 }
6404 depth.increment()?;
6405 let envelope_size = 8;
6406 let bytes_len = max_ordinal as usize * envelope_size;
6407 #[allow(unused_variables)]
6408 let offset = encoder.out_of_line_offset(bytes_len);
6409 let mut _prev_end_offset: usize = 0;
6410 if 1 > max_ordinal {
6411 return Ok(());
6412 }
6413
6414 let cur_offset: usize = (1 - 1) * envelope_size;
6417
6418 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6420
6421 fidl::encoding::encode_in_envelope_optional::<u64, D>(
6426 self.token_id.as_ref().map(<u64 as fidl::encoding::ValueTypeMarker>::borrow),
6427 encoder,
6428 offset + cur_offset,
6429 depth,
6430 )?;
6431
6432 _prev_end_offset = cur_offset + envelope_size;
6433 if 2 > max_ordinal {
6434 return Ok(());
6435 }
6436
6437 let cur_offset: usize = (2 - 1) * envelope_size;
6440
6441 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6443
6444 fidl::encoding::encode_in_envelope_optional::<DeviceType, D>(
6449 self.device_type
6450 .as_ref()
6451 .map(<DeviceType as fidl::encoding::ValueTypeMarker>::borrow),
6452 encoder,
6453 offset + cur_offset,
6454 depth,
6455 )?;
6456
6457 _prev_end_offset = cur_offset + envelope_size;
6458 if 3 > max_ordinal {
6459 return Ok(());
6460 }
6461
6462 let cur_offset: usize = (3 - 1) * envelope_size;
6465
6466 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6468
6469 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::BoundedString<256>, D>(
6474 self.device_name.as_ref().map(
6475 <fidl::encoding::BoundedString<256> as fidl::encoding::ValueTypeMarker>::borrow,
6476 ),
6477 encoder,
6478 offset + cur_offset,
6479 depth,
6480 )?;
6481
6482 _prev_end_offset = cur_offset + envelope_size;
6483 if 4 > max_ordinal {
6484 return Ok(());
6485 }
6486
6487 let cur_offset: usize = (4 - 1) * envelope_size;
6490
6491 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6493
6494 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::BoundedString<256>, D>(
6499 self.manufacturer.as_ref().map(
6500 <fidl::encoding::BoundedString<256> as fidl::encoding::ValueTypeMarker>::borrow,
6501 ),
6502 encoder,
6503 offset + cur_offset,
6504 depth,
6505 )?;
6506
6507 _prev_end_offset = cur_offset + envelope_size;
6508 if 5 > max_ordinal {
6509 return Ok(());
6510 }
6511
6512 let cur_offset: usize = (5 - 1) * envelope_size;
6515
6516 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6518
6519 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::BoundedString<256>, D>(
6524 self.product.as_ref().map(
6525 <fidl::encoding::BoundedString<256> as fidl::encoding::ValueTypeMarker>::borrow,
6526 ),
6527 encoder,
6528 offset + cur_offset,
6529 depth,
6530 )?;
6531
6532 _prev_end_offset = cur_offset + envelope_size;
6533 if 6 > max_ordinal {
6534 return Ok(());
6535 }
6536
6537 let cur_offset: usize = (6 - 1) * envelope_size;
6540
6541 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6543
6544 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Array<u8, 16>, D>(
6549 self.unique_instance_id.as_ref().map(
6550 <fidl::encoding::Array<u8, 16> as fidl::encoding::ValueTypeMarker>::borrow,
6551 ),
6552 encoder,
6553 offset + cur_offset,
6554 depth,
6555 )?;
6556
6557 _prev_end_offset = cur_offset + envelope_size;
6558 if 7 > max_ordinal {
6559 return Ok(());
6560 }
6561
6562 let cur_offset: usize = (7 - 1) * envelope_size;
6565
6566 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6568
6569 fidl::encoding::encode_in_envelope_optional::<bool, D>(
6574 self.is_input.as_ref().map(<bool as fidl::encoding::ValueTypeMarker>::borrow),
6575 encoder,
6576 offset + cur_offset,
6577 depth,
6578 )?;
6579
6580 _prev_end_offset = cur_offset + envelope_size;
6581 if 8 > max_ordinal {
6582 return Ok(());
6583 }
6584
6585 let cur_offset: usize = (8 - 1) * envelope_size;
6588
6589 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6591
6592 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<ElementRingBufferFormatSet, 64>, D>(
6597 self.ring_buffer_format_sets.as_ref().map(<fidl::encoding::Vector<ElementRingBufferFormatSet, 64> as fidl::encoding::ValueTypeMarker>::borrow),
6598 encoder, offset + cur_offset, depth
6599 )?;
6600
6601 _prev_end_offset = cur_offset + envelope_size;
6602 if 9 > max_ordinal {
6603 return Ok(());
6604 }
6605
6606 let cur_offset: usize = (9 - 1) * envelope_size;
6609
6610 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6612
6613 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<ElementDaiFormatSet, 64>, D>(
6618 self.dai_format_sets.as_ref().map(<fidl::encoding::Vector<ElementDaiFormatSet, 64> as fidl::encoding::ValueTypeMarker>::borrow),
6619 encoder, offset + cur_offset, depth
6620 )?;
6621
6622 _prev_end_offset = cur_offset + envelope_size;
6623 if 10 > max_ordinal {
6624 return Ok(());
6625 }
6626
6627 let cur_offset: usize = (10 - 1) * envelope_size;
6630
6631 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6633
6634 fidl::encoding::encode_in_envelope_optional::<PlugDetectCapabilities, D>(
6639 self.plug_detect_caps
6640 .as_ref()
6641 .map(<PlugDetectCapabilities as fidl::encoding::ValueTypeMarker>::borrow),
6642 encoder,
6643 offset + cur_offset,
6644 depth,
6645 )?;
6646
6647 _prev_end_offset = cur_offset + envelope_size;
6648 if 11 > max_ordinal {
6649 return Ok(());
6650 }
6651
6652 let cur_offset: usize = (11 - 1) * envelope_size;
6655
6656 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6658
6659 fidl::encoding::encode_in_envelope_optional::<u32, D>(
6664 self.clock_domain.as_ref().map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
6665 encoder,
6666 offset + cur_offset,
6667 depth,
6668 )?;
6669
6670 _prev_end_offset = cur_offset + envelope_size;
6671 if 12 > max_ordinal {
6672 return Ok(());
6673 }
6674
6675 let cur_offset: usize = (12 - 1) * envelope_size;
6678
6679 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6681
6682 fidl::encoding::encode_in_envelope_optional::<
6687 fidl::encoding::Vector<
6688 fidl_fuchsia_hardware_audio_signalprocessing__common::Element,
6689 64,
6690 >,
6691 D,
6692 >(
6693 self.signal_processing_elements.as_ref().map(
6694 <fidl::encoding::Vector<
6695 fidl_fuchsia_hardware_audio_signalprocessing__common::Element,
6696 64,
6697 > as fidl::encoding::ValueTypeMarker>::borrow,
6698 ),
6699 encoder,
6700 offset + cur_offset,
6701 depth,
6702 )?;
6703
6704 _prev_end_offset = cur_offset + envelope_size;
6705 if 13 > max_ordinal {
6706 return Ok(());
6707 }
6708
6709 let cur_offset: usize = (13 - 1) * envelope_size;
6712
6713 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6715
6716 fidl::encoding::encode_in_envelope_optional::<
6721 fidl::encoding::Vector<
6722 fidl_fuchsia_hardware_audio_signalprocessing__common::Topology,
6723 64,
6724 >,
6725 D,
6726 >(
6727 self.signal_processing_topologies.as_ref().map(
6728 <fidl::encoding::Vector<
6729 fidl_fuchsia_hardware_audio_signalprocessing__common::Topology,
6730 64,
6731 > as fidl::encoding::ValueTypeMarker>::borrow,
6732 ),
6733 encoder,
6734 offset + cur_offset,
6735 depth,
6736 )?;
6737
6738 _prev_end_offset = cur_offset + envelope_size;
6739 if 14 > max_ordinal {
6740 return Ok(());
6741 }
6742
6743 let cur_offset: usize = (14 - 1) * envelope_size;
6746
6747 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6749
6750 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<ElementPacketStreamFormatSet, 64>, D>(
6755 self.packet_stream_format_sets.as_ref().map(<fidl::encoding::Vector<ElementPacketStreamFormatSet, 64> as fidl::encoding::ValueTypeMarker>::borrow),
6756 encoder, offset + cur_offset, depth
6757 )?;
6758
6759 _prev_end_offset = cur_offset + envelope_size;
6760
6761 Ok(())
6762 }
6763 }
6764
6765 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Info {
6766 #[inline(always)]
6767 fn new_empty() -> Self {
6768 Self::default()
6769 }
6770
6771 unsafe fn decode(
6772 &mut self,
6773 decoder: &mut fidl::encoding::Decoder<'_, D>,
6774 offset: usize,
6775 mut depth: fidl::encoding::Depth,
6776 ) -> fidl::Result<()> {
6777 decoder.debug_check_bounds::<Self>(offset);
6778 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
6779 None => return Err(fidl::Error::NotNullable),
6780 Some(len) => len,
6781 };
6782 if len == 0 {
6784 return Ok(());
6785 };
6786 depth.increment()?;
6787 let envelope_size = 8;
6788 let bytes_len = len * envelope_size;
6789 let offset = decoder.out_of_line_offset(bytes_len)?;
6790 let mut _next_ordinal_to_read = 0;
6792 let mut next_offset = offset;
6793 let end_offset = offset + bytes_len;
6794 _next_ordinal_to_read += 1;
6795 if next_offset >= end_offset {
6796 return Ok(());
6797 }
6798
6799 while _next_ordinal_to_read < 1 {
6801 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6802 _next_ordinal_to_read += 1;
6803 next_offset += envelope_size;
6804 }
6805
6806 let next_out_of_line = decoder.next_out_of_line();
6807 let handles_before = decoder.remaining_handles();
6808 if let Some((inlined, num_bytes, num_handles)) =
6809 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6810 {
6811 let member_inline_size =
6812 <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
6813 if inlined != (member_inline_size <= 4) {
6814 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6815 }
6816 let inner_offset;
6817 let mut inner_depth = depth.clone();
6818 if inlined {
6819 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6820 inner_offset = next_offset;
6821 } else {
6822 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6823 inner_depth.increment()?;
6824 }
6825 let val_ref = self.token_id.get_or_insert_with(|| fidl::new_empty!(u64, D));
6826 fidl::decode!(u64, D, val_ref, decoder, inner_offset, inner_depth)?;
6827 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6828 {
6829 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6830 }
6831 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6832 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6833 }
6834 }
6835
6836 next_offset += envelope_size;
6837 _next_ordinal_to_read += 1;
6838 if next_offset >= end_offset {
6839 return Ok(());
6840 }
6841
6842 while _next_ordinal_to_read < 2 {
6844 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6845 _next_ordinal_to_read += 1;
6846 next_offset += envelope_size;
6847 }
6848
6849 let next_out_of_line = decoder.next_out_of_line();
6850 let handles_before = decoder.remaining_handles();
6851 if let Some((inlined, num_bytes, num_handles)) =
6852 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6853 {
6854 let member_inline_size =
6855 <DeviceType as fidl::encoding::TypeMarker>::inline_size(decoder.context);
6856 if inlined != (member_inline_size <= 4) {
6857 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6858 }
6859 let inner_offset;
6860 let mut inner_depth = depth.clone();
6861 if inlined {
6862 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6863 inner_offset = next_offset;
6864 } else {
6865 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6866 inner_depth.increment()?;
6867 }
6868 let val_ref =
6869 self.device_type.get_or_insert_with(|| fidl::new_empty!(DeviceType, D));
6870 fidl::decode!(DeviceType, D, val_ref, decoder, inner_offset, inner_depth)?;
6871 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6872 {
6873 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6874 }
6875 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6876 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6877 }
6878 }
6879
6880 next_offset += envelope_size;
6881 _next_ordinal_to_read += 1;
6882 if next_offset >= end_offset {
6883 return Ok(());
6884 }
6885
6886 while _next_ordinal_to_read < 3 {
6888 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6889 _next_ordinal_to_read += 1;
6890 next_offset += envelope_size;
6891 }
6892
6893 let next_out_of_line = decoder.next_out_of_line();
6894 let handles_before = decoder.remaining_handles();
6895 if let Some((inlined, num_bytes, num_handles)) =
6896 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6897 {
6898 let member_inline_size =
6899 <fidl::encoding::BoundedString<256> as fidl::encoding::TypeMarker>::inline_size(
6900 decoder.context,
6901 );
6902 if inlined != (member_inline_size <= 4) {
6903 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6904 }
6905 let inner_offset;
6906 let mut inner_depth = depth.clone();
6907 if inlined {
6908 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6909 inner_offset = next_offset;
6910 } else {
6911 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6912 inner_depth.increment()?;
6913 }
6914 let val_ref = self
6915 .device_name
6916 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::BoundedString<256>, D));
6917 fidl::decode!(
6918 fidl::encoding::BoundedString<256>,
6919 D,
6920 val_ref,
6921 decoder,
6922 inner_offset,
6923 inner_depth
6924 )?;
6925 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6926 {
6927 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6928 }
6929 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6930 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6931 }
6932 }
6933
6934 next_offset += envelope_size;
6935 _next_ordinal_to_read += 1;
6936 if next_offset >= end_offset {
6937 return Ok(());
6938 }
6939
6940 while _next_ordinal_to_read < 4 {
6942 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6943 _next_ordinal_to_read += 1;
6944 next_offset += envelope_size;
6945 }
6946
6947 let next_out_of_line = decoder.next_out_of_line();
6948 let handles_before = decoder.remaining_handles();
6949 if let Some((inlined, num_bytes, num_handles)) =
6950 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6951 {
6952 let member_inline_size =
6953 <fidl::encoding::BoundedString<256> as fidl::encoding::TypeMarker>::inline_size(
6954 decoder.context,
6955 );
6956 if inlined != (member_inline_size <= 4) {
6957 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6958 }
6959 let inner_offset;
6960 let mut inner_depth = depth.clone();
6961 if inlined {
6962 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6963 inner_offset = next_offset;
6964 } else {
6965 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6966 inner_depth.increment()?;
6967 }
6968 let val_ref = self
6969 .manufacturer
6970 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::BoundedString<256>, D));
6971 fidl::decode!(
6972 fidl::encoding::BoundedString<256>,
6973 D,
6974 val_ref,
6975 decoder,
6976 inner_offset,
6977 inner_depth
6978 )?;
6979 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6980 {
6981 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6982 }
6983 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6984 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6985 }
6986 }
6987
6988 next_offset += envelope_size;
6989 _next_ordinal_to_read += 1;
6990 if next_offset >= end_offset {
6991 return Ok(());
6992 }
6993
6994 while _next_ordinal_to_read < 5 {
6996 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6997 _next_ordinal_to_read += 1;
6998 next_offset += envelope_size;
6999 }
7000
7001 let next_out_of_line = decoder.next_out_of_line();
7002 let handles_before = decoder.remaining_handles();
7003 if let Some((inlined, num_bytes, num_handles)) =
7004 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7005 {
7006 let member_inline_size =
7007 <fidl::encoding::BoundedString<256> as fidl::encoding::TypeMarker>::inline_size(
7008 decoder.context,
7009 );
7010 if inlined != (member_inline_size <= 4) {
7011 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7012 }
7013 let inner_offset;
7014 let mut inner_depth = depth.clone();
7015 if inlined {
7016 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7017 inner_offset = next_offset;
7018 } else {
7019 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7020 inner_depth.increment()?;
7021 }
7022 let val_ref = self
7023 .product
7024 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::BoundedString<256>, D));
7025 fidl::decode!(
7026 fidl::encoding::BoundedString<256>,
7027 D,
7028 val_ref,
7029 decoder,
7030 inner_offset,
7031 inner_depth
7032 )?;
7033 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7034 {
7035 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7036 }
7037 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7038 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7039 }
7040 }
7041
7042 next_offset += envelope_size;
7043 _next_ordinal_to_read += 1;
7044 if next_offset >= end_offset {
7045 return Ok(());
7046 }
7047
7048 while _next_ordinal_to_read < 6 {
7050 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7051 _next_ordinal_to_read += 1;
7052 next_offset += envelope_size;
7053 }
7054
7055 let next_out_of_line = decoder.next_out_of_line();
7056 let handles_before = decoder.remaining_handles();
7057 if let Some((inlined, num_bytes, num_handles)) =
7058 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7059 {
7060 let member_inline_size =
7061 <fidl::encoding::Array<u8, 16> as fidl::encoding::TypeMarker>::inline_size(
7062 decoder.context,
7063 );
7064 if inlined != (member_inline_size <= 4) {
7065 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7066 }
7067 let inner_offset;
7068 let mut inner_depth = depth.clone();
7069 if inlined {
7070 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7071 inner_offset = next_offset;
7072 } else {
7073 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7074 inner_depth.increment()?;
7075 }
7076 let val_ref = self
7077 .unique_instance_id
7078 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Array<u8, 16>, D));
7079 fidl::decode!(fidl::encoding::Array<u8, 16>, D, val_ref, decoder, inner_offset, inner_depth)?;
7080 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7081 {
7082 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7083 }
7084 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7085 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7086 }
7087 }
7088
7089 next_offset += envelope_size;
7090 _next_ordinal_to_read += 1;
7091 if next_offset >= end_offset {
7092 return Ok(());
7093 }
7094
7095 while _next_ordinal_to_read < 7 {
7097 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7098 _next_ordinal_to_read += 1;
7099 next_offset += envelope_size;
7100 }
7101
7102 let next_out_of_line = decoder.next_out_of_line();
7103 let handles_before = decoder.remaining_handles();
7104 if let Some((inlined, num_bytes, num_handles)) =
7105 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7106 {
7107 let member_inline_size =
7108 <bool as fidl::encoding::TypeMarker>::inline_size(decoder.context);
7109 if inlined != (member_inline_size <= 4) {
7110 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7111 }
7112 let inner_offset;
7113 let mut inner_depth = depth.clone();
7114 if inlined {
7115 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7116 inner_offset = next_offset;
7117 } else {
7118 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7119 inner_depth.increment()?;
7120 }
7121 let val_ref = self.is_input.get_or_insert_with(|| fidl::new_empty!(bool, D));
7122 fidl::decode!(bool, D, val_ref, decoder, inner_offset, inner_depth)?;
7123 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7124 {
7125 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7126 }
7127 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7128 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7129 }
7130 }
7131
7132 next_offset += envelope_size;
7133 _next_ordinal_to_read += 1;
7134 if next_offset >= end_offset {
7135 return Ok(());
7136 }
7137
7138 while _next_ordinal_to_read < 8 {
7140 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7141 _next_ordinal_to_read += 1;
7142 next_offset += envelope_size;
7143 }
7144
7145 let next_out_of_line = decoder.next_out_of_line();
7146 let handles_before = decoder.remaining_handles();
7147 if let Some((inlined, num_bytes, num_handles)) =
7148 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7149 {
7150 let member_inline_size = <fidl::encoding::Vector<ElementRingBufferFormatSet, 64> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
7151 if inlined != (member_inline_size <= 4) {
7152 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7153 }
7154 let inner_offset;
7155 let mut inner_depth = depth.clone();
7156 if inlined {
7157 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7158 inner_offset = next_offset;
7159 } else {
7160 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7161 inner_depth.increment()?;
7162 }
7163 let val_ref = self.ring_buffer_format_sets.get_or_insert_with(
7164 || fidl::new_empty!(fidl::encoding::Vector<ElementRingBufferFormatSet, 64>, D),
7165 );
7166 fidl::decode!(fidl::encoding::Vector<ElementRingBufferFormatSet, 64>, D, val_ref, decoder, inner_offset, inner_depth)?;
7167 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7168 {
7169 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7170 }
7171 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7172 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7173 }
7174 }
7175
7176 next_offset += envelope_size;
7177 _next_ordinal_to_read += 1;
7178 if next_offset >= end_offset {
7179 return Ok(());
7180 }
7181
7182 while _next_ordinal_to_read < 9 {
7184 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7185 _next_ordinal_to_read += 1;
7186 next_offset += envelope_size;
7187 }
7188
7189 let next_out_of_line = decoder.next_out_of_line();
7190 let handles_before = decoder.remaining_handles();
7191 if let Some((inlined, num_bytes, num_handles)) =
7192 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7193 {
7194 let member_inline_size = <fidl::encoding::Vector<ElementDaiFormatSet, 64> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
7195 if inlined != (member_inline_size <= 4) {
7196 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7197 }
7198 let inner_offset;
7199 let mut inner_depth = depth.clone();
7200 if inlined {
7201 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7202 inner_offset = next_offset;
7203 } else {
7204 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7205 inner_depth.increment()?;
7206 }
7207 let val_ref = self.dai_format_sets.get_or_insert_with(
7208 || fidl::new_empty!(fidl::encoding::Vector<ElementDaiFormatSet, 64>, D),
7209 );
7210 fidl::decode!(fidl::encoding::Vector<ElementDaiFormatSet, 64>, D, val_ref, decoder, inner_offset, inner_depth)?;
7211 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7212 {
7213 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7214 }
7215 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7216 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7217 }
7218 }
7219
7220 next_offset += envelope_size;
7221 _next_ordinal_to_read += 1;
7222 if next_offset >= end_offset {
7223 return Ok(());
7224 }
7225
7226 while _next_ordinal_to_read < 10 {
7228 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7229 _next_ordinal_to_read += 1;
7230 next_offset += envelope_size;
7231 }
7232
7233 let next_out_of_line = decoder.next_out_of_line();
7234 let handles_before = decoder.remaining_handles();
7235 if let Some((inlined, num_bytes, num_handles)) =
7236 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7237 {
7238 let member_inline_size =
7239 <PlugDetectCapabilities as fidl::encoding::TypeMarker>::inline_size(
7240 decoder.context,
7241 );
7242 if inlined != (member_inline_size <= 4) {
7243 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7244 }
7245 let inner_offset;
7246 let mut inner_depth = depth.clone();
7247 if inlined {
7248 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7249 inner_offset = next_offset;
7250 } else {
7251 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7252 inner_depth.increment()?;
7253 }
7254 let val_ref = self
7255 .plug_detect_caps
7256 .get_or_insert_with(|| fidl::new_empty!(PlugDetectCapabilities, D));
7257 fidl::decode!(
7258 PlugDetectCapabilities,
7259 D,
7260 val_ref,
7261 decoder,
7262 inner_offset,
7263 inner_depth
7264 )?;
7265 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7266 {
7267 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7268 }
7269 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7270 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7271 }
7272 }
7273
7274 next_offset += envelope_size;
7275 _next_ordinal_to_read += 1;
7276 if next_offset >= end_offset {
7277 return Ok(());
7278 }
7279
7280 while _next_ordinal_to_read < 11 {
7282 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7283 _next_ordinal_to_read += 1;
7284 next_offset += envelope_size;
7285 }
7286
7287 let next_out_of_line = decoder.next_out_of_line();
7288 let handles_before = decoder.remaining_handles();
7289 if let Some((inlined, num_bytes, num_handles)) =
7290 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7291 {
7292 let member_inline_size =
7293 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
7294 if inlined != (member_inline_size <= 4) {
7295 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7296 }
7297 let inner_offset;
7298 let mut inner_depth = depth.clone();
7299 if inlined {
7300 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7301 inner_offset = next_offset;
7302 } else {
7303 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7304 inner_depth.increment()?;
7305 }
7306 let val_ref = self.clock_domain.get_or_insert_with(|| fidl::new_empty!(u32, D));
7307 fidl::decode!(u32, D, val_ref, decoder, inner_offset, inner_depth)?;
7308 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7309 {
7310 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7311 }
7312 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7313 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7314 }
7315 }
7316
7317 next_offset += envelope_size;
7318 _next_ordinal_to_read += 1;
7319 if next_offset >= end_offset {
7320 return Ok(());
7321 }
7322
7323 while _next_ordinal_to_read < 12 {
7325 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7326 _next_ordinal_to_read += 1;
7327 next_offset += envelope_size;
7328 }
7329
7330 let next_out_of_line = decoder.next_out_of_line();
7331 let handles_before = decoder.remaining_handles();
7332 if let Some((inlined, num_bytes, num_handles)) =
7333 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7334 {
7335 let member_inline_size = <fidl::encoding::Vector<
7336 fidl_fuchsia_hardware_audio_signalprocessing__common::Element,
7337 64,
7338 > as fidl::encoding::TypeMarker>::inline_size(
7339 decoder.context
7340 );
7341 if inlined != (member_inline_size <= 4) {
7342 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7343 }
7344 let inner_offset;
7345 let mut inner_depth = depth.clone();
7346 if inlined {
7347 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7348 inner_offset = next_offset;
7349 } else {
7350 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7351 inner_depth.increment()?;
7352 }
7353 let val_ref =
7354 self.signal_processing_elements.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Vector<fidl_fuchsia_hardware_audio_signalprocessing__common::Element, 64>, D));
7355 fidl::decode!(fidl::encoding::Vector<fidl_fuchsia_hardware_audio_signalprocessing__common::Element, 64>, D, val_ref, decoder, inner_offset, inner_depth)?;
7356 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7357 {
7358 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7359 }
7360 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7361 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7362 }
7363 }
7364
7365 next_offset += envelope_size;
7366 _next_ordinal_to_read += 1;
7367 if next_offset >= end_offset {
7368 return Ok(());
7369 }
7370
7371 while _next_ordinal_to_read < 13 {
7373 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7374 _next_ordinal_to_read += 1;
7375 next_offset += envelope_size;
7376 }
7377
7378 let next_out_of_line = decoder.next_out_of_line();
7379 let handles_before = decoder.remaining_handles();
7380 if let Some((inlined, num_bytes, num_handles)) =
7381 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7382 {
7383 let member_inline_size = <fidl::encoding::Vector<
7384 fidl_fuchsia_hardware_audio_signalprocessing__common::Topology,
7385 64,
7386 > as fidl::encoding::TypeMarker>::inline_size(
7387 decoder.context
7388 );
7389 if inlined != (member_inline_size <= 4) {
7390 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7391 }
7392 let inner_offset;
7393 let mut inner_depth = depth.clone();
7394 if inlined {
7395 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7396 inner_offset = next_offset;
7397 } else {
7398 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7399 inner_depth.increment()?;
7400 }
7401 let val_ref =
7402 self.signal_processing_topologies.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Vector<fidl_fuchsia_hardware_audio_signalprocessing__common::Topology, 64>, D));
7403 fidl::decode!(fidl::encoding::Vector<fidl_fuchsia_hardware_audio_signalprocessing__common::Topology, 64>, D, val_ref, decoder, inner_offset, inner_depth)?;
7404 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7405 {
7406 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7407 }
7408 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7409 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7410 }
7411 }
7412
7413 next_offset += envelope_size;
7414 _next_ordinal_to_read += 1;
7415 if next_offset >= end_offset {
7416 return Ok(());
7417 }
7418
7419 while _next_ordinal_to_read < 14 {
7421 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7422 _next_ordinal_to_read += 1;
7423 next_offset += envelope_size;
7424 }
7425
7426 let next_out_of_line = decoder.next_out_of_line();
7427 let handles_before = decoder.remaining_handles();
7428 if let Some((inlined, num_bytes, num_handles)) =
7429 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7430 {
7431 let member_inline_size = <fidl::encoding::Vector<ElementPacketStreamFormatSet, 64> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
7432 if inlined != (member_inline_size <= 4) {
7433 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7434 }
7435 let inner_offset;
7436 let mut inner_depth = depth.clone();
7437 if inlined {
7438 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7439 inner_offset = next_offset;
7440 } else {
7441 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7442 inner_depth.increment()?;
7443 }
7444 let val_ref =
7445 self.packet_stream_format_sets.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Vector<ElementPacketStreamFormatSet, 64>, D));
7446 fidl::decode!(fidl::encoding::Vector<ElementPacketStreamFormatSet, 64>, D, val_ref, decoder, inner_offset, inner_depth)?;
7447 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7448 {
7449 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7450 }
7451 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7452 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7453 }
7454 }
7455
7456 next_offset += envelope_size;
7457
7458 while next_offset < end_offset {
7460 _next_ordinal_to_read += 1;
7461 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7462 next_offset += envelope_size;
7463 }
7464
7465 Ok(())
7466 }
7467 }
7468
7469 impl ObserverWatchPlugStateResponse {
7470 #[inline(always)]
7471 fn max_ordinal_present(&self) -> u64 {
7472 if let Some(_) = self.plug_time {
7473 return 2;
7474 }
7475 if let Some(_) = self.state {
7476 return 1;
7477 }
7478 0
7479 }
7480 }
7481
7482 impl fidl::encoding::ValueTypeMarker for ObserverWatchPlugStateResponse {
7483 type Borrowed<'a> = &'a Self;
7484 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7485 value
7486 }
7487 }
7488
7489 unsafe impl fidl::encoding::TypeMarker for ObserverWatchPlugStateResponse {
7490 type Owned = Self;
7491
7492 #[inline(always)]
7493 fn inline_align(_context: fidl::encoding::Context) -> usize {
7494 8
7495 }
7496
7497 #[inline(always)]
7498 fn inline_size(_context: fidl::encoding::Context) -> usize {
7499 16
7500 }
7501 }
7502
7503 unsafe impl<D: fidl::encoding::ResourceDialect>
7504 fidl::encoding::Encode<ObserverWatchPlugStateResponse, D>
7505 for &ObserverWatchPlugStateResponse
7506 {
7507 unsafe fn encode(
7508 self,
7509 encoder: &mut fidl::encoding::Encoder<'_, D>,
7510 offset: usize,
7511 mut depth: fidl::encoding::Depth,
7512 ) -> fidl::Result<()> {
7513 encoder.debug_check_bounds::<ObserverWatchPlugStateResponse>(offset);
7514 let max_ordinal: u64 = self.max_ordinal_present();
7516 encoder.write_num(max_ordinal, offset);
7517 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
7518 if max_ordinal == 0 {
7520 return Ok(());
7521 }
7522 depth.increment()?;
7523 let envelope_size = 8;
7524 let bytes_len = max_ordinal as usize * envelope_size;
7525 #[allow(unused_variables)]
7526 let offset = encoder.out_of_line_offset(bytes_len);
7527 let mut _prev_end_offset: usize = 0;
7528 if 1 > max_ordinal {
7529 return Ok(());
7530 }
7531
7532 let cur_offset: usize = (1 - 1) * envelope_size;
7535
7536 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
7538
7539 fidl::encoding::encode_in_envelope_optional::<PlugState, D>(
7544 self.state.as_ref().map(<PlugState as fidl::encoding::ValueTypeMarker>::borrow),
7545 encoder,
7546 offset + cur_offset,
7547 depth,
7548 )?;
7549
7550 _prev_end_offset = cur_offset + envelope_size;
7551 if 2 > max_ordinal {
7552 return Ok(());
7553 }
7554
7555 let cur_offset: usize = (2 - 1) * envelope_size;
7558
7559 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
7561
7562 fidl::encoding::encode_in_envelope_optional::<i64, D>(
7567 self.plug_time.as_ref().map(<i64 as fidl::encoding::ValueTypeMarker>::borrow),
7568 encoder,
7569 offset + cur_offset,
7570 depth,
7571 )?;
7572
7573 _prev_end_offset = cur_offset + envelope_size;
7574
7575 Ok(())
7576 }
7577 }
7578
7579 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7580 for ObserverWatchPlugStateResponse
7581 {
7582 #[inline(always)]
7583 fn new_empty() -> Self {
7584 Self::default()
7585 }
7586
7587 unsafe fn decode(
7588 &mut self,
7589 decoder: &mut fidl::encoding::Decoder<'_, D>,
7590 offset: usize,
7591 mut depth: fidl::encoding::Depth,
7592 ) -> fidl::Result<()> {
7593 decoder.debug_check_bounds::<Self>(offset);
7594 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
7595 None => return Err(fidl::Error::NotNullable),
7596 Some(len) => len,
7597 };
7598 if len == 0 {
7600 return Ok(());
7601 };
7602 depth.increment()?;
7603 let envelope_size = 8;
7604 let bytes_len = len * envelope_size;
7605 let offset = decoder.out_of_line_offset(bytes_len)?;
7606 let mut _next_ordinal_to_read = 0;
7608 let mut next_offset = offset;
7609 let end_offset = offset + bytes_len;
7610 _next_ordinal_to_read += 1;
7611 if next_offset >= end_offset {
7612 return Ok(());
7613 }
7614
7615 while _next_ordinal_to_read < 1 {
7617 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7618 _next_ordinal_to_read += 1;
7619 next_offset += envelope_size;
7620 }
7621
7622 let next_out_of_line = decoder.next_out_of_line();
7623 let handles_before = decoder.remaining_handles();
7624 if let Some((inlined, num_bytes, num_handles)) =
7625 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7626 {
7627 let member_inline_size =
7628 <PlugState as fidl::encoding::TypeMarker>::inline_size(decoder.context);
7629 if inlined != (member_inline_size <= 4) {
7630 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7631 }
7632 let inner_offset;
7633 let mut inner_depth = depth.clone();
7634 if inlined {
7635 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7636 inner_offset = next_offset;
7637 } else {
7638 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7639 inner_depth.increment()?;
7640 }
7641 let val_ref = self.state.get_or_insert_with(|| fidl::new_empty!(PlugState, D));
7642 fidl::decode!(PlugState, D, val_ref, decoder, inner_offset, inner_depth)?;
7643 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7644 {
7645 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7646 }
7647 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7648 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7649 }
7650 }
7651
7652 next_offset += envelope_size;
7653 _next_ordinal_to_read += 1;
7654 if next_offset >= end_offset {
7655 return Ok(());
7656 }
7657
7658 while _next_ordinal_to_read < 2 {
7660 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7661 _next_ordinal_to_read += 1;
7662 next_offset += envelope_size;
7663 }
7664
7665 let next_out_of_line = decoder.next_out_of_line();
7666 let handles_before = decoder.remaining_handles();
7667 if let Some((inlined, num_bytes, num_handles)) =
7668 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7669 {
7670 let member_inline_size =
7671 <i64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
7672 if inlined != (member_inline_size <= 4) {
7673 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7674 }
7675 let inner_offset;
7676 let mut inner_depth = depth.clone();
7677 if inlined {
7678 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7679 inner_offset = next_offset;
7680 } else {
7681 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7682 inner_depth.increment()?;
7683 }
7684 let val_ref = self.plug_time.get_or_insert_with(|| fidl::new_empty!(i64, D));
7685 fidl::decode!(i64, D, val_ref, decoder, inner_offset, inner_depth)?;
7686 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7687 {
7688 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7689 }
7690 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7691 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7692 }
7693 }
7694
7695 next_offset += envelope_size;
7696
7697 while next_offset < end_offset {
7699 _next_ordinal_to_read += 1;
7700 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7701 next_offset += envelope_size;
7702 }
7703
7704 Ok(())
7705 }
7706 }
7707
7708 impl PacketStreamStartRequest {
7709 #[inline(always)]
7710 fn max_ordinal_present(&self) -> u64 {
7711 0
7712 }
7713 }
7714
7715 impl fidl::encoding::ValueTypeMarker for PacketStreamStartRequest {
7716 type Borrowed<'a> = &'a Self;
7717 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7718 value
7719 }
7720 }
7721
7722 unsafe impl fidl::encoding::TypeMarker for PacketStreamStartRequest {
7723 type Owned = Self;
7724
7725 #[inline(always)]
7726 fn inline_align(_context: fidl::encoding::Context) -> usize {
7727 8
7728 }
7729
7730 #[inline(always)]
7731 fn inline_size(_context: fidl::encoding::Context) -> usize {
7732 16
7733 }
7734 }
7735
7736 unsafe impl<D: fidl::encoding::ResourceDialect>
7737 fidl::encoding::Encode<PacketStreamStartRequest, D> for &PacketStreamStartRequest
7738 {
7739 unsafe fn encode(
7740 self,
7741 encoder: &mut fidl::encoding::Encoder<'_, D>,
7742 offset: usize,
7743 mut depth: fidl::encoding::Depth,
7744 ) -> fidl::Result<()> {
7745 encoder.debug_check_bounds::<PacketStreamStartRequest>(offset);
7746 let max_ordinal: u64 = self.max_ordinal_present();
7748 encoder.write_num(max_ordinal, offset);
7749 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
7750 if max_ordinal == 0 {
7752 return Ok(());
7753 }
7754 depth.increment()?;
7755 let envelope_size = 8;
7756 let bytes_len = max_ordinal as usize * envelope_size;
7757 #[allow(unused_variables)]
7758 let offset = encoder.out_of_line_offset(bytes_len);
7759 let mut _prev_end_offset: usize = 0;
7760
7761 Ok(())
7762 }
7763 }
7764
7765 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7766 for PacketStreamStartRequest
7767 {
7768 #[inline(always)]
7769 fn new_empty() -> Self {
7770 Self::default()
7771 }
7772
7773 unsafe fn decode(
7774 &mut self,
7775 decoder: &mut fidl::encoding::Decoder<'_, D>,
7776 offset: usize,
7777 mut depth: fidl::encoding::Depth,
7778 ) -> fidl::Result<()> {
7779 decoder.debug_check_bounds::<Self>(offset);
7780 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
7781 None => return Err(fidl::Error::NotNullable),
7782 Some(len) => len,
7783 };
7784 if len == 0 {
7786 return Ok(());
7787 };
7788 depth.increment()?;
7789 let envelope_size = 8;
7790 let bytes_len = len * envelope_size;
7791 let offset = decoder.out_of_line_offset(bytes_len)?;
7792 let mut _next_ordinal_to_read = 0;
7794 let mut next_offset = offset;
7795 let end_offset = offset + bytes_len;
7796
7797 while next_offset < end_offset {
7799 _next_ordinal_to_read += 1;
7800 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7801 next_offset += envelope_size;
7802 }
7803
7804 Ok(())
7805 }
7806 }
7807
7808 impl PacketStreamStopRequest {
7809 #[inline(always)]
7810 fn max_ordinal_present(&self) -> u64 {
7811 0
7812 }
7813 }
7814
7815 impl fidl::encoding::ValueTypeMarker for PacketStreamStopRequest {
7816 type Borrowed<'a> = &'a Self;
7817 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7818 value
7819 }
7820 }
7821
7822 unsafe impl fidl::encoding::TypeMarker for PacketStreamStopRequest {
7823 type Owned = Self;
7824
7825 #[inline(always)]
7826 fn inline_align(_context: fidl::encoding::Context) -> usize {
7827 8
7828 }
7829
7830 #[inline(always)]
7831 fn inline_size(_context: fidl::encoding::Context) -> usize {
7832 16
7833 }
7834 }
7835
7836 unsafe impl<D: fidl::encoding::ResourceDialect>
7837 fidl::encoding::Encode<PacketStreamStopRequest, D> for &PacketStreamStopRequest
7838 {
7839 unsafe fn encode(
7840 self,
7841 encoder: &mut fidl::encoding::Encoder<'_, D>,
7842 offset: usize,
7843 mut depth: fidl::encoding::Depth,
7844 ) -> fidl::Result<()> {
7845 encoder.debug_check_bounds::<PacketStreamStopRequest>(offset);
7846 let max_ordinal: u64 = self.max_ordinal_present();
7848 encoder.write_num(max_ordinal, offset);
7849 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
7850 if max_ordinal == 0 {
7852 return Ok(());
7853 }
7854 depth.increment()?;
7855 let envelope_size = 8;
7856 let bytes_len = max_ordinal as usize * envelope_size;
7857 #[allow(unused_variables)]
7858 let offset = encoder.out_of_line_offset(bytes_len);
7859 let mut _prev_end_offset: usize = 0;
7860
7861 Ok(())
7862 }
7863 }
7864
7865 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7866 for PacketStreamStopRequest
7867 {
7868 #[inline(always)]
7869 fn new_empty() -> Self {
7870 Self::default()
7871 }
7872
7873 unsafe fn decode(
7874 &mut self,
7875 decoder: &mut fidl::encoding::Decoder<'_, D>,
7876 offset: usize,
7877 mut depth: fidl::encoding::Depth,
7878 ) -> fidl::Result<()> {
7879 decoder.debug_check_bounds::<Self>(offset);
7880 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
7881 None => return Err(fidl::Error::NotNullable),
7882 Some(len) => len,
7883 };
7884 if len == 0 {
7886 return Ok(());
7887 };
7888 depth.increment()?;
7889 let envelope_size = 8;
7890 let bytes_len = len * envelope_size;
7891 let offset = decoder.out_of_line_offset(bytes_len)?;
7892 let mut _next_ordinal_to_read = 0;
7894 let mut next_offset = offset;
7895 let end_offset = offset + bytes_len;
7896
7897 while next_offset < end_offset {
7899 _next_ordinal_to_read += 1;
7900 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7901 next_offset += envelope_size;
7902 }
7903
7904 Ok(())
7905 }
7906 }
7907
7908 impl PacketStreamStartResponse {
7909 #[inline(always)]
7910 fn max_ordinal_present(&self) -> u64 {
7911 0
7912 }
7913 }
7914
7915 impl fidl::encoding::ValueTypeMarker for PacketStreamStartResponse {
7916 type Borrowed<'a> = &'a Self;
7917 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7918 value
7919 }
7920 }
7921
7922 unsafe impl fidl::encoding::TypeMarker for PacketStreamStartResponse {
7923 type Owned = Self;
7924
7925 #[inline(always)]
7926 fn inline_align(_context: fidl::encoding::Context) -> usize {
7927 8
7928 }
7929
7930 #[inline(always)]
7931 fn inline_size(_context: fidl::encoding::Context) -> usize {
7932 16
7933 }
7934 }
7935
7936 unsafe impl<D: fidl::encoding::ResourceDialect>
7937 fidl::encoding::Encode<PacketStreamStartResponse, D> for &PacketStreamStartResponse
7938 {
7939 unsafe fn encode(
7940 self,
7941 encoder: &mut fidl::encoding::Encoder<'_, D>,
7942 offset: usize,
7943 mut depth: fidl::encoding::Depth,
7944 ) -> fidl::Result<()> {
7945 encoder.debug_check_bounds::<PacketStreamStartResponse>(offset);
7946 let max_ordinal: u64 = self.max_ordinal_present();
7948 encoder.write_num(max_ordinal, offset);
7949 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
7950 if max_ordinal == 0 {
7952 return Ok(());
7953 }
7954 depth.increment()?;
7955 let envelope_size = 8;
7956 let bytes_len = max_ordinal as usize * envelope_size;
7957 #[allow(unused_variables)]
7958 let offset = encoder.out_of_line_offset(bytes_len);
7959 let mut _prev_end_offset: usize = 0;
7960
7961 Ok(())
7962 }
7963 }
7964
7965 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7966 for PacketStreamStartResponse
7967 {
7968 #[inline(always)]
7969 fn new_empty() -> Self {
7970 Self::default()
7971 }
7972
7973 unsafe fn decode(
7974 &mut self,
7975 decoder: &mut fidl::encoding::Decoder<'_, D>,
7976 offset: usize,
7977 mut depth: fidl::encoding::Depth,
7978 ) -> fidl::Result<()> {
7979 decoder.debug_check_bounds::<Self>(offset);
7980 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
7981 None => return Err(fidl::Error::NotNullable),
7982 Some(len) => len,
7983 };
7984 if len == 0 {
7986 return Ok(());
7987 };
7988 depth.increment()?;
7989 let envelope_size = 8;
7990 let bytes_len = len * envelope_size;
7991 let offset = decoder.out_of_line_offset(bytes_len)?;
7992 let mut _next_ordinal_to_read = 0;
7994 let mut next_offset = offset;
7995 let end_offset = offset + bytes_len;
7996
7997 while next_offset < end_offset {
7999 _next_ordinal_to_read += 1;
8000 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
8001 next_offset += envelope_size;
8002 }
8003
8004 Ok(())
8005 }
8006 }
8007
8008 impl PacketStreamStopResponse {
8009 #[inline(always)]
8010 fn max_ordinal_present(&self) -> u64 {
8011 0
8012 }
8013 }
8014
8015 impl fidl::encoding::ValueTypeMarker for PacketStreamStopResponse {
8016 type Borrowed<'a> = &'a Self;
8017 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8018 value
8019 }
8020 }
8021
8022 unsafe impl fidl::encoding::TypeMarker for PacketStreamStopResponse {
8023 type Owned = Self;
8024
8025 #[inline(always)]
8026 fn inline_align(_context: fidl::encoding::Context) -> usize {
8027 8
8028 }
8029
8030 #[inline(always)]
8031 fn inline_size(_context: fidl::encoding::Context) -> usize {
8032 16
8033 }
8034 }
8035
8036 unsafe impl<D: fidl::encoding::ResourceDialect>
8037 fidl::encoding::Encode<PacketStreamStopResponse, D> for &PacketStreamStopResponse
8038 {
8039 unsafe fn encode(
8040 self,
8041 encoder: &mut fidl::encoding::Encoder<'_, D>,
8042 offset: usize,
8043 mut depth: fidl::encoding::Depth,
8044 ) -> fidl::Result<()> {
8045 encoder.debug_check_bounds::<PacketStreamStopResponse>(offset);
8046 let max_ordinal: u64 = self.max_ordinal_present();
8048 encoder.write_num(max_ordinal, offset);
8049 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
8050 if max_ordinal == 0 {
8052 return Ok(());
8053 }
8054 depth.increment()?;
8055 let envelope_size = 8;
8056 let bytes_len = max_ordinal as usize * envelope_size;
8057 #[allow(unused_variables)]
8058 let offset = encoder.out_of_line_offset(bytes_len);
8059 let mut _prev_end_offset: usize = 0;
8060
8061 Ok(())
8062 }
8063 }
8064
8065 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8066 for PacketStreamStopResponse
8067 {
8068 #[inline(always)]
8069 fn new_empty() -> Self {
8070 Self::default()
8071 }
8072
8073 unsafe fn decode(
8074 &mut self,
8075 decoder: &mut fidl::encoding::Decoder<'_, D>,
8076 offset: usize,
8077 mut depth: fidl::encoding::Depth,
8078 ) -> fidl::Result<()> {
8079 decoder.debug_check_bounds::<Self>(offset);
8080 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
8081 None => return Err(fidl::Error::NotNullable),
8082 Some(len) => len,
8083 };
8084 if len == 0 {
8086 return Ok(());
8087 };
8088 depth.increment()?;
8089 let envelope_size = 8;
8090 let bytes_len = len * envelope_size;
8091 let offset = decoder.out_of_line_offset(bytes_len)?;
8092 let mut _next_ordinal_to_read = 0;
8094 let mut next_offset = offset;
8095 let end_offset = offset + bytes_len;
8096
8097 while next_offset < end_offset {
8099 _next_ordinal_to_read += 1;
8100 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
8101 next_offset += envelope_size;
8102 }
8103
8104 Ok(())
8105 }
8106 }
8107
8108 impl PcmFormatSet {
8109 #[inline(always)]
8110 fn max_ordinal_present(&self) -> u64 {
8111 if let Some(_) = self.frame_rates {
8112 return 3;
8113 }
8114 if let Some(_) = self.sample_types {
8115 return 2;
8116 }
8117 if let Some(_) = self.channel_sets {
8118 return 1;
8119 }
8120 0
8121 }
8122 }
8123
8124 impl fidl::encoding::ValueTypeMarker for PcmFormatSet {
8125 type Borrowed<'a> = &'a Self;
8126 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8127 value
8128 }
8129 }
8130
8131 unsafe impl fidl::encoding::TypeMarker for PcmFormatSet {
8132 type Owned = Self;
8133
8134 #[inline(always)]
8135 fn inline_align(_context: fidl::encoding::Context) -> usize {
8136 8
8137 }
8138
8139 #[inline(always)]
8140 fn inline_size(_context: fidl::encoding::Context) -> usize {
8141 16
8142 }
8143 }
8144
8145 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<PcmFormatSet, D>
8146 for &PcmFormatSet
8147 {
8148 unsafe fn encode(
8149 self,
8150 encoder: &mut fidl::encoding::Encoder<'_, D>,
8151 offset: usize,
8152 mut depth: fidl::encoding::Depth,
8153 ) -> fidl::Result<()> {
8154 encoder.debug_check_bounds::<PcmFormatSet>(offset);
8155 let max_ordinal: u64 = self.max_ordinal_present();
8157 encoder.write_num(max_ordinal, offset);
8158 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
8159 if max_ordinal == 0 {
8161 return Ok(());
8162 }
8163 depth.increment()?;
8164 let envelope_size = 8;
8165 let bytes_len = max_ordinal as usize * envelope_size;
8166 #[allow(unused_variables)]
8167 let offset = encoder.out_of_line_offset(bytes_len);
8168 let mut _prev_end_offset: usize = 0;
8169 if 1 > max_ordinal {
8170 return Ok(());
8171 }
8172
8173 let cur_offset: usize = (1 - 1) * envelope_size;
8176
8177 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
8179
8180 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<ChannelSet, 64>, D>(
8185 self.channel_sets.as_ref().map(<fidl::encoding::Vector<ChannelSet, 64> as fidl::encoding::ValueTypeMarker>::borrow),
8186 encoder, offset + cur_offset, depth
8187 )?;
8188
8189 _prev_end_offset = cur_offset + envelope_size;
8190 if 2 > max_ordinal {
8191 return Ok(());
8192 }
8193
8194 let cur_offset: usize = (2 - 1) * envelope_size;
8197
8198 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
8200
8201 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<fidl_fuchsia_audio__common::SampleType, 32>, D>(
8206 self.sample_types.as_ref().map(<fidl::encoding::Vector<fidl_fuchsia_audio__common::SampleType, 32> as fidl::encoding::ValueTypeMarker>::borrow),
8207 encoder, offset + cur_offset, depth
8208 )?;
8209
8210 _prev_end_offset = cur_offset + envelope_size;
8211 if 3 > max_ordinal {
8212 return Ok(());
8213 }
8214
8215 let cur_offset: usize = (3 - 1) * envelope_size;
8218
8219 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
8221
8222 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<u32, 64>, D>(
8227 self.frame_rates.as_ref().map(
8228 <fidl::encoding::Vector<u32, 64> as fidl::encoding::ValueTypeMarker>::borrow,
8229 ),
8230 encoder,
8231 offset + cur_offset,
8232 depth,
8233 )?;
8234
8235 _prev_end_offset = cur_offset + envelope_size;
8236
8237 Ok(())
8238 }
8239 }
8240
8241 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for PcmFormatSet {
8242 #[inline(always)]
8243 fn new_empty() -> Self {
8244 Self::default()
8245 }
8246
8247 unsafe fn decode(
8248 &mut self,
8249 decoder: &mut fidl::encoding::Decoder<'_, D>,
8250 offset: usize,
8251 mut depth: fidl::encoding::Depth,
8252 ) -> fidl::Result<()> {
8253 decoder.debug_check_bounds::<Self>(offset);
8254 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
8255 None => return Err(fidl::Error::NotNullable),
8256 Some(len) => len,
8257 };
8258 if len == 0 {
8260 return Ok(());
8261 };
8262 depth.increment()?;
8263 let envelope_size = 8;
8264 let bytes_len = len * envelope_size;
8265 let offset = decoder.out_of_line_offset(bytes_len)?;
8266 let mut _next_ordinal_to_read = 0;
8268 let mut next_offset = offset;
8269 let end_offset = offset + bytes_len;
8270 _next_ordinal_to_read += 1;
8271 if next_offset >= end_offset {
8272 return Ok(());
8273 }
8274
8275 while _next_ordinal_to_read < 1 {
8277 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
8278 _next_ordinal_to_read += 1;
8279 next_offset += envelope_size;
8280 }
8281
8282 let next_out_of_line = decoder.next_out_of_line();
8283 let handles_before = decoder.remaining_handles();
8284 if let Some((inlined, num_bytes, num_handles)) =
8285 fidl::encoding::decode_envelope_header(decoder, next_offset)?
8286 {
8287 let member_inline_size = <fidl::encoding::Vector<ChannelSet, 64> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
8288 if inlined != (member_inline_size <= 4) {
8289 return Err(fidl::Error::InvalidInlineBitInEnvelope);
8290 }
8291 let inner_offset;
8292 let mut inner_depth = depth.clone();
8293 if inlined {
8294 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
8295 inner_offset = next_offset;
8296 } else {
8297 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
8298 inner_depth.increment()?;
8299 }
8300 let val_ref = self.channel_sets.get_or_insert_with(
8301 || fidl::new_empty!(fidl::encoding::Vector<ChannelSet, 64>, D),
8302 );
8303 fidl::decode!(fidl::encoding::Vector<ChannelSet, 64>, D, val_ref, decoder, inner_offset, inner_depth)?;
8304 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
8305 {
8306 return Err(fidl::Error::InvalidNumBytesInEnvelope);
8307 }
8308 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
8309 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
8310 }
8311 }
8312
8313 next_offset += envelope_size;
8314 _next_ordinal_to_read += 1;
8315 if next_offset >= end_offset {
8316 return Ok(());
8317 }
8318
8319 while _next_ordinal_to_read < 2 {
8321 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
8322 _next_ordinal_to_read += 1;
8323 next_offset += envelope_size;
8324 }
8325
8326 let next_out_of_line = decoder.next_out_of_line();
8327 let handles_before = decoder.remaining_handles();
8328 if let Some((inlined, num_bytes, num_handles)) =
8329 fidl::encoding::decode_envelope_header(decoder, next_offset)?
8330 {
8331 let member_inline_size = <fidl::encoding::Vector<
8332 fidl_fuchsia_audio__common::SampleType,
8333 32,
8334 > as fidl::encoding::TypeMarker>::inline_size(
8335 decoder.context
8336 );
8337 if inlined != (member_inline_size <= 4) {
8338 return Err(fidl::Error::InvalidInlineBitInEnvelope);
8339 }
8340 let inner_offset;
8341 let mut inner_depth = depth.clone();
8342 if inlined {
8343 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
8344 inner_offset = next_offset;
8345 } else {
8346 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
8347 inner_depth.increment()?;
8348 }
8349 let val_ref =
8350 self.sample_types.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Vector<fidl_fuchsia_audio__common::SampleType, 32>, D));
8351 fidl::decode!(fidl::encoding::Vector<fidl_fuchsia_audio__common::SampleType, 32>, D, val_ref, decoder, inner_offset, inner_depth)?;
8352 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
8353 {
8354 return Err(fidl::Error::InvalidNumBytesInEnvelope);
8355 }
8356 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
8357 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
8358 }
8359 }
8360
8361 next_offset += envelope_size;
8362 _next_ordinal_to_read += 1;
8363 if next_offset >= end_offset {
8364 return Ok(());
8365 }
8366
8367 while _next_ordinal_to_read < 3 {
8369 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
8370 _next_ordinal_to_read += 1;
8371 next_offset += envelope_size;
8372 }
8373
8374 let next_out_of_line = decoder.next_out_of_line();
8375 let handles_before = decoder.remaining_handles();
8376 if let Some((inlined, num_bytes, num_handles)) =
8377 fidl::encoding::decode_envelope_header(decoder, next_offset)?
8378 {
8379 let member_inline_size =
8380 <fidl::encoding::Vector<u32, 64> as fidl::encoding::TypeMarker>::inline_size(
8381 decoder.context,
8382 );
8383 if inlined != (member_inline_size <= 4) {
8384 return Err(fidl::Error::InvalidInlineBitInEnvelope);
8385 }
8386 let inner_offset;
8387 let mut inner_depth = depth.clone();
8388 if inlined {
8389 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
8390 inner_offset = next_offset;
8391 } else {
8392 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
8393 inner_depth.increment()?;
8394 }
8395 let val_ref = self
8396 .frame_rates
8397 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Vector<u32, 64>, D));
8398 fidl::decode!(fidl::encoding::Vector<u32, 64>, D, val_ref, decoder, inner_offset, inner_depth)?;
8399 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
8400 {
8401 return Err(fidl::Error::InvalidNumBytesInEnvelope);
8402 }
8403 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
8404 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
8405 }
8406 }
8407
8408 next_offset += envelope_size;
8409
8410 while next_offset < end_offset {
8412 _next_ordinal_to_read += 1;
8413 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
8414 next_offset += envelope_size;
8415 }
8416
8417 Ok(())
8418 }
8419 }
8420
8421 impl ProviderAddDeviceResponse {
8422 #[inline(always)]
8423 fn max_ordinal_present(&self) -> u64 {
8424 0
8425 }
8426 }
8427
8428 impl fidl::encoding::ValueTypeMarker for ProviderAddDeviceResponse {
8429 type Borrowed<'a> = &'a Self;
8430 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8431 value
8432 }
8433 }
8434
8435 unsafe impl fidl::encoding::TypeMarker for ProviderAddDeviceResponse {
8436 type Owned = Self;
8437
8438 #[inline(always)]
8439 fn inline_align(_context: fidl::encoding::Context) -> usize {
8440 8
8441 }
8442
8443 #[inline(always)]
8444 fn inline_size(_context: fidl::encoding::Context) -> usize {
8445 16
8446 }
8447 }
8448
8449 unsafe impl<D: fidl::encoding::ResourceDialect>
8450 fidl::encoding::Encode<ProviderAddDeviceResponse, D> for &ProviderAddDeviceResponse
8451 {
8452 unsafe fn encode(
8453 self,
8454 encoder: &mut fidl::encoding::Encoder<'_, D>,
8455 offset: usize,
8456 mut depth: fidl::encoding::Depth,
8457 ) -> fidl::Result<()> {
8458 encoder.debug_check_bounds::<ProviderAddDeviceResponse>(offset);
8459 let max_ordinal: u64 = self.max_ordinal_present();
8461 encoder.write_num(max_ordinal, offset);
8462 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
8463 if max_ordinal == 0 {
8465 return Ok(());
8466 }
8467 depth.increment()?;
8468 let envelope_size = 8;
8469 let bytes_len = max_ordinal as usize * envelope_size;
8470 #[allow(unused_variables)]
8471 let offset = encoder.out_of_line_offset(bytes_len);
8472 let mut _prev_end_offset: usize = 0;
8473
8474 Ok(())
8475 }
8476 }
8477
8478 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8479 for ProviderAddDeviceResponse
8480 {
8481 #[inline(always)]
8482 fn new_empty() -> Self {
8483 Self::default()
8484 }
8485
8486 unsafe fn decode(
8487 &mut self,
8488 decoder: &mut fidl::encoding::Decoder<'_, D>,
8489 offset: usize,
8490 mut depth: fidl::encoding::Depth,
8491 ) -> fidl::Result<()> {
8492 decoder.debug_check_bounds::<Self>(offset);
8493 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
8494 None => return Err(fidl::Error::NotNullable),
8495 Some(len) => len,
8496 };
8497 if len == 0 {
8499 return Ok(());
8500 };
8501 depth.increment()?;
8502 let envelope_size = 8;
8503 let bytes_len = len * envelope_size;
8504 let offset = decoder.out_of_line_offset(bytes_len)?;
8505 let mut _next_ordinal_to_read = 0;
8507 let mut next_offset = offset;
8508 let end_offset = offset + bytes_len;
8509
8510 while next_offset < end_offset {
8512 _next_ordinal_to_read += 1;
8513 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
8514 next_offset += envelope_size;
8515 }
8516
8517 Ok(())
8518 }
8519 }
8520
8521 impl RegistryCreateObserverResponse {
8522 #[inline(always)]
8523 fn max_ordinal_present(&self) -> u64 {
8524 0
8525 }
8526 }
8527
8528 impl fidl::encoding::ValueTypeMarker for RegistryCreateObserverResponse {
8529 type Borrowed<'a> = &'a Self;
8530 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8531 value
8532 }
8533 }
8534
8535 unsafe impl fidl::encoding::TypeMarker for RegistryCreateObserverResponse {
8536 type Owned = Self;
8537
8538 #[inline(always)]
8539 fn inline_align(_context: fidl::encoding::Context) -> usize {
8540 8
8541 }
8542
8543 #[inline(always)]
8544 fn inline_size(_context: fidl::encoding::Context) -> usize {
8545 16
8546 }
8547 }
8548
8549 unsafe impl<D: fidl::encoding::ResourceDialect>
8550 fidl::encoding::Encode<RegistryCreateObserverResponse, D>
8551 for &RegistryCreateObserverResponse
8552 {
8553 unsafe fn encode(
8554 self,
8555 encoder: &mut fidl::encoding::Encoder<'_, D>,
8556 offset: usize,
8557 mut depth: fidl::encoding::Depth,
8558 ) -> fidl::Result<()> {
8559 encoder.debug_check_bounds::<RegistryCreateObserverResponse>(offset);
8560 let max_ordinal: u64 = self.max_ordinal_present();
8562 encoder.write_num(max_ordinal, offset);
8563 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
8564 if max_ordinal == 0 {
8566 return Ok(());
8567 }
8568 depth.increment()?;
8569 let envelope_size = 8;
8570 let bytes_len = max_ordinal as usize * envelope_size;
8571 #[allow(unused_variables)]
8572 let offset = encoder.out_of_line_offset(bytes_len);
8573 let mut _prev_end_offset: usize = 0;
8574
8575 Ok(())
8576 }
8577 }
8578
8579 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8580 for RegistryCreateObserverResponse
8581 {
8582 #[inline(always)]
8583 fn new_empty() -> Self {
8584 Self::default()
8585 }
8586
8587 unsafe fn decode(
8588 &mut self,
8589 decoder: &mut fidl::encoding::Decoder<'_, D>,
8590 offset: usize,
8591 mut depth: fidl::encoding::Depth,
8592 ) -> fidl::Result<()> {
8593 decoder.debug_check_bounds::<Self>(offset);
8594 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
8595 None => return Err(fidl::Error::NotNullable),
8596 Some(len) => len,
8597 };
8598 if len == 0 {
8600 return Ok(());
8601 };
8602 depth.increment()?;
8603 let envelope_size = 8;
8604 let bytes_len = len * envelope_size;
8605 let offset = decoder.out_of_line_offset(bytes_len)?;
8606 let mut _next_ordinal_to_read = 0;
8608 let mut next_offset = offset;
8609 let end_offset = offset + bytes_len;
8610
8611 while next_offset < end_offset {
8613 _next_ordinal_to_read += 1;
8614 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
8615 next_offset += envelope_size;
8616 }
8617
8618 Ok(())
8619 }
8620 }
8621
8622 impl RegistryWatchDeviceRemovedResponse {
8623 #[inline(always)]
8624 fn max_ordinal_present(&self) -> u64 {
8625 if let Some(_) = self.token_id {
8626 return 1;
8627 }
8628 0
8629 }
8630 }
8631
8632 impl fidl::encoding::ValueTypeMarker for RegistryWatchDeviceRemovedResponse {
8633 type Borrowed<'a> = &'a Self;
8634 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8635 value
8636 }
8637 }
8638
8639 unsafe impl fidl::encoding::TypeMarker for RegistryWatchDeviceRemovedResponse {
8640 type Owned = Self;
8641
8642 #[inline(always)]
8643 fn inline_align(_context: fidl::encoding::Context) -> usize {
8644 8
8645 }
8646
8647 #[inline(always)]
8648 fn inline_size(_context: fidl::encoding::Context) -> usize {
8649 16
8650 }
8651 }
8652
8653 unsafe impl<D: fidl::encoding::ResourceDialect>
8654 fidl::encoding::Encode<RegistryWatchDeviceRemovedResponse, D>
8655 for &RegistryWatchDeviceRemovedResponse
8656 {
8657 unsafe fn encode(
8658 self,
8659 encoder: &mut fidl::encoding::Encoder<'_, D>,
8660 offset: usize,
8661 mut depth: fidl::encoding::Depth,
8662 ) -> fidl::Result<()> {
8663 encoder.debug_check_bounds::<RegistryWatchDeviceRemovedResponse>(offset);
8664 let max_ordinal: u64 = self.max_ordinal_present();
8666 encoder.write_num(max_ordinal, offset);
8667 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
8668 if max_ordinal == 0 {
8670 return Ok(());
8671 }
8672 depth.increment()?;
8673 let envelope_size = 8;
8674 let bytes_len = max_ordinal as usize * envelope_size;
8675 #[allow(unused_variables)]
8676 let offset = encoder.out_of_line_offset(bytes_len);
8677 let mut _prev_end_offset: usize = 0;
8678 if 1 > max_ordinal {
8679 return Ok(());
8680 }
8681
8682 let cur_offset: usize = (1 - 1) * envelope_size;
8685
8686 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
8688
8689 fidl::encoding::encode_in_envelope_optional::<u64, D>(
8694 self.token_id.as_ref().map(<u64 as fidl::encoding::ValueTypeMarker>::borrow),
8695 encoder,
8696 offset + cur_offset,
8697 depth,
8698 )?;
8699
8700 _prev_end_offset = cur_offset + envelope_size;
8701
8702 Ok(())
8703 }
8704 }
8705
8706 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8707 for RegistryWatchDeviceRemovedResponse
8708 {
8709 #[inline(always)]
8710 fn new_empty() -> Self {
8711 Self::default()
8712 }
8713
8714 unsafe fn decode(
8715 &mut self,
8716 decoder: &mut fidl::encoding::Decoder<'_, D>,
8717 offset: usize,
8718 mut depth: fidl::encoding::Depth,
8719 ) -> fidl::Result<()> {
8720 decoder.debug_check_bounds::<Self>(offset);
8721 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
8722 None => return Err(fidl::Error::NotNullable),
8723 Some(len) => len,
8724 };
8725 if len == 0 {
8727 return Ok(());
8728 };
8729 depth.increment()?;
8730 let envelope_size = 8;
8731 let bytes_len = len * envelope_size;
8732 let offset = decoder.out_of_line_offset(bytes_len)?;
8733 let mut _next_ordinal_to_read = 0;
8735 let mut next_offset = offset;
8736 let end_offset = offset + bytes_len;
8737 _next_ordinal_to_read += 1;
8738 if next_offset >= end_offset {
8739 return Ok(());
8740 }
8741
8742 while _next_ordinal_to_read < 1 {
8744 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
8745 _next_ordinal_to_read += 1;
8746 next_offset += envelope_size;
8747 }
8748
8749 let next_out_of_line = decoder.next_out_of_line();
8750 let handles_before = decoder.remaining_handles();
8751 if let Some((inlined, num_bytes, num_handles)) =
8752 fidl::encoding::decode_envelope_header(decoder, next_offset)?
8753 {
8754 let member_inline_size =
8755 <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
8756 if inlined != (member_inline_size <= 4) {
8757 return Err(fidl::Error::InvalidInlineBitInEnvelope);
8758 }
8759 let inner_offset;
8760 let mut inner_depth = depth.clone();
8761 if inlined {
8762 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
8763 inner_offset = next_offset;
8764 } else {
8765 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
8766 inner_depth.increment()?;
8767 }
8768 let val_ref = self.token_id.get_or_insert_with(|| fidl::new_empty!(u64, D));
8769 fidl::decode!(u64, D, val_ref, decoder, inner_offset, inner_depth)?;
8770 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
8771 {
8772 return Err(fidl::Error::InvalidNumBytesInEnvelope);
8773 }
8774 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
8775 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
8776 }
8777 }
8778
8779 next_offset += envelope_size;
8780
8781 while next_offset < end_offset {
8783 _next_ordinal_to_read += 1;
8784 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
8785 next_offset += envelope_size;
8786 }
8787
8788 Ok(())
8789 }
8790 }
8791
8792 impl RegistryWatchDevicesAddedResponse {
8793 #[inline(always)]
8794 fn max_ordinal_present(&self) -> u64 {
8795 if let Some(_) = self.devices {
8796 return 1;
8797 }
8798 0
8799 }
8800 }
8801
8802 impl fidl::encoding::ValueTypeMarker for RegistryWatchDevicesAddedResponse {
8803 type Borrowed<'a> = &'a Self;
8804 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8805 value
8806 }
8807 }
8808
8809 unsafe impl fidl::encoding::TypeMarker for RegistryWatchDevicesAddedResponse {
8810 type Owned = Self;
8811
8812 #[inline(always)]
8813 fn inline_align(_context: fidl::encoding::Context) -> usize {
8814 8
8815 }
8816
8817 #[inline(always)]
8818 fn inline_size(_context: fidl::encoding::Context) -> usize {
8819 16
8820 }
8821 }
8822
8823 unsafe impl<D: fidl::encoding::ResourceDialect>
8824 fidl::encoding::Encode<RegistryWatchDevicesAddedResponse, D>
8825 for &RegistryWatchDevicesAddedResponse
8826 {
8827 unsafe fn encode(
8828 self,
8829 encoder: &mut fidl::encoding::Encoder<'_, D>,
8830 offset: usize,
8831 mut depth: fidl::encoding::Depth,
8832 ) -> fidl::Result<()> {
8833 encoder.debug_check_bounds::<RegistryWatchDevicesAddedResponse>(offset);
8834 let max_ordinal: u64 = self.max_ordinal_present();
8836 encoder.write_num(max_ordinal, offset);
8837 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
8838 if max_ordinal == 0 {
8840 return Ok(());
8841 }
8842 depth.increment()?;
8843 let envelope_size = 8;
8844 let bytes_len = max_ordinal as usize * envelope_size;
8845 #[allow(unused_variables)]
8846 let offset = encoder.out_of_line_offset(bytes_len);
8847 let mut _prev_end_offset: usize = 0;
8848 if 1 > max_ordinal {
8849 return Ok(());
8850 }
8851
8852 let cur_offset: usize = (1 - 1) * envelope_size;
8855
8856 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
8858
8859 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<Info, 256>, D>(
8864 self.devices.as_ref().map(
8865 <fidl::encoding::Vector<Info, 256> as fidl::encoding::ValueTypeMarker>::borrow,
8866 ),
8867 encoder,
8868 offset + cur_offset,
8869 depth,
8870 )?;
8871
8872 _prev_end_offset = cur_offset + envelope_size;
8873
8874 Ok(())
8875 }
8876 }
8877
8878 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8879 for RegistryWatchDevicesAddedResponse
8880 {
8881 #[inline(always)]
8882 fn new_empty() -> Self {
8883 Self::default()
8884 }
8885
8886 unsafe fn decode(
8887 &mut self,
8888 decoder: &mut fidl::encoding::Decoder<'_, D>,
8889 offset: usize,
8890 mut depth: fidl::encoding::Depth,
8891 ) -> fidl::Result<()> {
8892 decoder.debug_check_bounds::<Self>(offset);
8893 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
8894 None => return Err(fidl::Error::NotNullable),
8895 Some(len) => len,
8896 };
8897 if len == 0 {
8899 return Ok(());
8900 };
8901 depth.increment()?;
8902 let envelope_size = 8;
8903 let bytes_len = len * envelope_size;
8904 let offset = decoder.out_of_line_offset(bytes_len)?;
8905 let mut _next_ordinal_to_read = 0;
8907 let mut next_offset = offset;
8908 let end_offset = offset + bytes_len;
8909 _next_ordinal_to_read += 1;
8910 if next_offset >= end_offset {
8911 return Ok(());
8912 }
8913
8914 while _next_ordinal_to_read < 1 {
8916 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
8917 _next_ordinal_to_read += 1;
8918 next_offset += envelope_size;
8919 }
8920
8921 let next_out_of_line = decoder.next_out_of_line();
8922 let handles_before = decoder.remaining_handles();
8923 if let Some((inlined, num_bytes, num_handles)) =
8924 fidl::encoding::decode_envelope_header(decoder, next_offset)?
8925 {
8926 let member_inline_size =
8927 <fidl::encoding::Vector<Info, 256> as fidl::encoding::TypeMarker>::inline_size(
8928 decoder.context,
8929 );
8930 if inlined != (member_inline_size <= 4) {
8931 return Err(fidl::Error::InvalidInlineBitInEnvelope);
8932 }
8933 let inner_offset;
8934 let mut inner_depth = depth.clone();
8935 if inlined {
8936 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
8937 inner_offset = next_offset;
8938 } else {
8939 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
8940 inner_depth.increment()?;
8941 }
8942 let val_ref = self
8943 .devices
8944 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Vector<Info, 256>, D));
8945 fidl::decode!(fidl::encoding::Vector<Info, 256>, D, val_ref, decoder, inner_offset, inner_depth)?;
8946 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
8947 {
8948 return Err(fidl::Error::InvalidNumBytesInEnvelope);
8949 }
8950 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
8951 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
8952 }
8953 }
8954
8955 next_offset += envelope_size;
8956
8957 while next_offset < end_offset {
8959 _next_ordinal_to_read += 1;
8960 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
8961 next_offset += envelope_size;
8962 }
8963
8964 Ok(())
8965 }
8966 }
8967
8968 impl RingBufferOptions {
8969 #[inline(always)]
8970 fn max_ordinal_present(&self) -> u64 {
8971 if let Some(_) = self.ring_buffer_min_bytes {
8972 return 2;
8973 }
8974 if let Some(_) = self.format {
8975 return 1;
8976 }
8977 0
8978 }
8979 }
8980
8981 impl fidl::encoding::ValueTypeMarker for RingBufferOptions {
8982 type Borrowed<'a> = &'a Self;
8983 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8984 value
8985 }
8986 }
8987
8988 unsafe impl fidl::encoding::TypeMarker for RingBufferOptions {
8989 type Owned = Self;
8990
8991 #[inline(always)]
8992 fn inline_align(_context: fidl::encoding::Context) -> usize {
8993 8
8994 }
8995
8996 #[inline(always)]
8997 fn inline_size(_context: fidl::encoding::Context) -> usize {
8998 16
8999 }
9000 }
9001
9002 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RingBufferOptions, D>
9003 for &RingBufferOptions
9004 {
9005 unsafe fn encode(
9006 self,
9007 encoder: &mut fidl::encoding::Encoder<'_, D>,
9008 offset: usize,
9009 mut depth: fidl::encoding::Depth,
9010 ) -> fidl::Result<()> {
9011 encoder.debug_check_bounds::<RingBufferOptions>(offset);
9012 let max_ordinal: u64 = self.max_ordinal_present();
9014 encoder.write_num(max_ordinal, offset);
9015 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
9016 if max_ordinal == 0 {
9018 return Ok(());
9019 }
9020 depth.increment()?;
9021 let envelope_size = 8;
9022 let bytes_len = max_ordinal as usize * envelope_size;
9023 #[allow(unused_variables)]
9024 let offset = encoder.out_of_line_offset(bytes_len);
9025 let mut _prev_end_offset: usize = 0;
9026 if 1 > max_ordinal {
9027 return Ok(());
9028 }
9029
9030 let cur_offset: usize = (1 - 1) * envelope_size;
9033
9034 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
9036
9037 fidl::encoding::encode_in_envelope_optional::<fidl_fuchsia_audio__common::Format, D>(
9042 self.format.as_ref().map(
9043 <fidl_fuchsia_audio__common::Format as fidl::encoding::ValueTypeMarker>::borrow,
9044 ),
9045 encoder,
9046 offset + cur_offset,
9047 depth,
9048 )?;
9049
9050 _prev_end_offset = cur_offset + envelope_size;
9051 if 2 > max_ordinal {
9052 return Ok(());
9053 }
9054
9055 let cur_offset: usize = (2 - 1) * envelope_size;
9058
9059 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
9061
9062 fidl::encoding::encode_in_envelope_optional::<u32, D>(
9067 self.ring_buffer_min_bytes
9068 .as_ref()
9069 .map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
9070 encoder,
9071 offset + cur_offset,
9072 depth,
9073 )?;
9074
9075 _prev_end_offset = cur_offset + envelope_size;
9076
9077 Ok(())
9078 }
9079 }
9080
9081 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RingBufferOptions {
9082 #[inline(always)]
9083 fn new_empty() -> Self {
9084 Self::default()
9085 }
9086
9087 unsafe fn decode(
9088 &mut self,
9089 decoder: &mut fidl::encoding::Decoder<'_, D>,
9090 offset: usize,
9091 mut depth: fidl::encoding::Depth,
9092 ) -> fidl::Result<()> {
9093 decoder.debug_check_bounds::<Self>(offset);
9094 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
9095 None => return Err(fidl::Error::NotNullable),
9096 Some(len) => len,
9097 };
9098 if len == 0 {
9100 return Ok(());
9101 };
9102 depth.increment()?;
9103 let envelope_size = 8;
9104 let bytes_len = len * envelope_size;
9105 let offset = decoder.out_of_line_offset(bytes_len)?;
9106 let mut _next_ordinal_to_read = 0;
9108 let mut next_offset = offset;
9109 let end_offset = offset + bytes_len;
9110 _next_ordinal_to_read += 1;
9111 if next_offset >= end_offset {
9112 return Ok(());
9113 }
9114
9115 while _next_ordinal_to_read < 1 {
9117 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9118 _next_ordinal_to_read += 1;
9119 next_offset += envelope_size;
9120 }
9121
9122 let next_out_of_line = decoder.next_out_of_line();
9123 let handles_before = decoder.remaining_handles();
9124 if let Some((inlined, num_bytes, num_handles)) =
9125 fidl::encoding::decode_envelope_header(decoder, next_offset)?
9126 {
9127 let member_inline_size =
9128 <fidl_fuchsia_audio__common::Format as fidl::encoding::TypeMarker>::inline_size(
9129 decoder.context,
9130 );
9131 if inlined != (member_inline_size <= 4) {
9132 return Err(fidl::Error::InvalidInlineBitInEnvelope);
9133 }
9134 let inner_offset;
9135 let mut inner_depth = depth.clone();
9136 if inlined {
9137 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
9138 inner_offset = next_offset;
9139 } else {
9140 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
9141 inner_depth.increment()?;
9142 }
9143 let val_ref = self
9144 .format
9145 .get_or_insert_with(|| fidl::new_empty!(fidl_fuchsia_audio__common::Format, D));
9146 fidl::decode!(
9147 fidl_fuchsia_audio__common::Format,
9148 D,
9149 val_ref,
9150 decoder,
9151 inner_offset,
9152 inner_depth
9153 )?;
9154 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
9155 {
9156 return Err(fidl::Error::InvalidNumBytesInEnvelope);
9157 }
9158 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
9159 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
9160 }
9161 }
9162
9163 next_offset += envelope_size;
9164 _next_ordinal_to_read += 1;
9165 if next_offset >= end_offset {
9166 return Ok(());
9167 }
9168
9169 while _next_ordinal_to_read < 2 {
9171 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9172 _next_ordinal_to_read += 1;
9173 next_offset += envelope_size;
9174 }
9175
9176 let next_out_of_line = decoder.next_out_of_line();
9177 let handles_before = decoder.remaining_handles();
9178 if let Some((inlined, num_bytes, num_handles)) =
9179 fidl::encoding::decode_envelope_header(decoder, next_offset)?
9180 {
9181 let member_inline_size =
9182 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
9183 if inlined != (member_inline_size <= 4) {
9184 return Err(fidl::Error::InvalidInlineBitInEnvelope);
9185 }
9186 let inner_offset;
9187 let mut inner_depth = depth.clone();
9188 if inlined {
9189 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
9190 inner_offset = next_offset;
9191 } else {
9192 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
9193 inner_depth.increment()?;
9194 }
9195 let val_ref =
9196 self.ring_buffer_min_bytes.get_or_insert_with(|| fidl::new_empty!(u32, D));
9197 fidl::decode!(u32, D, val_ref, decoder, inner_offset, inner_depth)?;
9198 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
9199 {
9200 return Err(fidl::Error::InvalidNumBytesInEnvelope);
9201 }
9202 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
9203 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
9204 }
9205 }
9206
9207 next_offset += envelope_size;
9208
9209 while next_offset < end_offset {
9211 _next_ordinal_to_read += 1;
9212 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9213 next_offset += envelope_size;
9214 }
9215
9216 Ok(())
9217 }
9218 }
9219
9220 impl RingBufferProperties {
9221 #[inline(always)]
9222 fn max_ordinal_present(&self) -> u64 {
9223 if let Some(_) = self.turn_on_delay {
9224 return 2;
9225 }
9226 if let Some(_) = self.valid_bits_per_sample {
9227 return 1;
9228 }
9229 0
9230 }
9231 }
9232
9233 impl fidl::encoding::ValueTypeMarker for RingBufferProperties {
9234 type Borrowed<'a> = &'a Self;
9235 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9236 value
9237 }
9238 }
9239
9240 unsafe impl fidl::encoding::TypeMarker for RingBufferProperties {
9241 type Owned = Self;
9242
9243 #[inline(always)]
9244 fn inline_align(_context: fidl::encoding::Context) -> usize {
9245 8
9246 }
9247
9248 #[inline(always)]
9249 fn inline_size(_context: fidl::encoding::Context) -> usize {
9250 16
9251 }
9252 }
9253
9254 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RingBufferProperties, D>
9255 for &RingBufferProperties
9256 {
9257 unsafe fn encode(
9258 self,
9259 encoder: &mut fidl::encoding::Encoder<'_, D>,
9260 offset: usize,
9261 mut depth: fidl::encoding::Depth,
9262 ) -> fidl::Result<()> {
9263 encoder.debug_check_bounds::<RingBufferProperties>(offset);
9264 let max_ordinal: u64 = self.max_ordinal_present();
9266 encoder.write_num(max_ordinal, offset);
9267 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
9268 if max_ordinal == 0 {
9270 return Ok(());
9271 }
9272 depth.increment()?;
9273 let envelope_size = 8;
9274 let bytes_len = max_ordinal as usize * envelope_size;
9275 #[allow(unused_variables)]
9276 let offset = encoder.out_of_line_offset(bytes_len);
9277 let mut _prev_end_offset: usize = 0;
9278 if 1 > max_ordinal {
9279 return Ok(());
9280 }
9281
9282 let cur_offset: usize = (1 - 1) * envelope_size;
9285
9286 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
9288
9289 fidl::encoding::encode_in_envelope_optional::<u8, D>(
9294 self.valid_bits_per_sample
9295 .as_ref()
9296 .map(<u8 as fidl::encoding::ValueTypeMarker>::borrow),
9297 encoder,
9298 offset + cur_offset,
9299 depth,
9300 )?;
9301
9302 _prev_end_offset = cur_offset + envelope_size;
9303 if 2 > max_ordinal {
9304 return Ok(());
9305 }
9306
9307 let cur_offset: usize = (2 - 1) * envelope_size;
9310
9311 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
9313
9314 fidl::encoding::encode_in_envelope_optional::<i64, D>(
9319 self.turn_on_delay.as_ref().map(<i64 as fidl::encoding::ValueTypeMarker>::borrow),
9320 encoder,
9321 offset + cur_offset,
9322 depth,
9323 )?;
9324
9325 _prev_end_offset = cur_offset + envelope_size;
9326
9327 Ok(())
9328 }
9329 }
9330
9331 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RingBufferProperties {
9332 #[inline(always)]
9333 fn new_empty() -> Self {
9334 Self::default()
9335 }
9336
9337 unsafe fn decode(
9338 &mut self,
9339 decoder: &mut fidl::encoding::Decoder<'_, D>,
9340 offset: usize,
9341 mut depth: fidl::encoding::Depth,
9342 ) -> fidl::Result<()> {
9343 decoder.debug_check_bounds::<Self>(offset);
9344 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
9345 None => return Err(fidl::Error::NotNullable),
9346 Some(len) => len,
9347 };
9348 if len == 0 {
9350 return Ok(());
9351 };
9352 depth.increment()?;
9353 let envelope_size = 8;
9354 let bytes_len = len * envelope_size;
9355 let offset = decoder.out_of_line_offset(bytes_len)?;
9356 let mut _next_ordinal_to_read = 0;
9358 let mut next_offset = offset;
9359 let end_offset = offset + bytes_len;
9360 _next_ordinal_to_read += 1;
9361 if next_offset >= end_offset {
9362 return Ok(());
9363 }
9364
9365 while _next_ordinal_to_read < 1 {
9367 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9368 _next_ordinal_to_read += 1;
9369 next_offset += envelope_size;
9370 }
9371
9372 let next_out_of_line = decoder.next_out_of_line();
9373 let handles_before = decoder.remaining_handles();
9374 if let Some((inlined, num_bytes, num_handles)) =
9375 fidl::encoding::decode_envelope_header(decoder, next_offset)?
9376 {
9377 let member_inline_size =
9378 <u8 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
9379 if inlined != (member_inline_size <= 4) {
9380 return Err(fidl::Error::InvalidInlineBitInEnvelope);
9381 }
9382 let inner_offset;
9383 let mut inner_depth = depth.clone();
9384 if inlined {
9385 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
9386 inner_offset = next_offset;
9387 } else {
9388 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
9389 inner_depth.increment()?;
9390 }
9391 let val_ref =
9392 self.valid_bits_per_sample.get_or_insert_with(|| fidl::new_empty!(u8, D));
9393 fidl::decode!(u8, D, val_ref, decoder, inner_offset, inner_depth)?;
9394 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
9395 {
9396 return Err(fidl::Error::InvalidNumBytesInEnvelope);
9397 }
9398 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
9399 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
9400 }
9401 }
9402
9403 next_offset += envelope_size;
9404 _next_ordinal_to_read += 1;
9405 if next_offset >= end_offset {
9406 return Ok(());
9407 }
9408
9409 while _next_ordinal_to_read < 2 {
9411 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9412 _next_ordinal_to_read += 1;
9413 next_offset += envelope_size;
9414 }
9415
9416 let next_out_of_line = decoder.next_out_of_line();
9417 let handles_before = decoder.remaining_handles();
9418 if let Some((inlined, num_bytes, num_handles)) =
9419 fidl::encoding::decode_envelope_header(decoder, next_offset)?
9420 {
9421 let member_inline_size =
9422 <i64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
9423 if inlined != (member_inline_size <= 4) {
9424 return Err(fidl::Error::InvalidInlineBitInEnvelope);
9425 }
9426 let inner_offset;
9427 let mut inner_depth = depth.clone();
9428 if inlined {
9429 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
9430 inner_offset = next_offset;
9431 } else {
9432 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
9433 inner_depth.increment()?;
9434 }
9435 let val_ref = self.turn_on_delay.get_or_insert_with(|| fidl::new_empty!(i64, D));
9436 fidl::decode!(i64, D, val_ref, decoder, inner_offset, inner_depth)?;
9437 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
9438 {
9439 return Err(fidl::Error::InvalidNumBytesInEnvelope);
9440 }
9441 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
9442 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
9443 }
9444 }
9445
9446 next_offset += envelope_size;
9447
9448 while next_offset < end_offset {
9450 _next_ordinal_to_read += 1;
9451 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9452 next_offset += envelope_size;
9453 }
9454
9455 Ok(())
9456 }
9457 }
9458
9459 impl RingBufferSetActiveChannelsRequest {
9460 #[inline(always)]
9461 fn max_ordinal_present(&self) -> u64 {
9462 if let Some(_) = self.channel_bitmask {
9463 return 1;
9464 }
9465 0
9466 }
9467 }
9468
9469 impl fidl::encoding::ValueTypeMarker for RingBufferSetActiveChannelsRequest {
9470 type Borrowed<'a> = &'a Self;
9471 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9472 value
9473 }
9474 }
9475
9476 unsafe impl fidl::encoding::TypeMarker for RingBufferSetActiveChannelsRequest {
9477 type Owned = Self;
9478
9479 #[inline(always)]
9480 fn inline_align(_context: fidl::encoding::Context) -> usize {
9481 8
9482 }
9483
9484 #[inline(always)]
9485 fn inline_size(_context: fidl::encoding::Context) -> usize {
9486 16
9487 }
9488 }
9489
9490 unsafe impl<D: fidl::encoding::ResourceDialect>
9491 fidl::encoding::Encode<RingBufferSetActiveChannelsRequest, D>
9492 for &RingBufferSetActiveChannelsRequest
9493 {
9494 unsafe fn encode(
9495 self,
9496 encoder: &mut fidl::encoding::Encoder<'_, D>,
9497 offset: usize,
9498 mut depth: fidl::encoding::Depth,
9499 ) -> fidl::Result<()> {
9500 encoder.debug_check_bounds::<RingBufferSetActiveChannelsRequest>(offset);
9501 let max_ordinal: u64 = self.max_ordinal_present();
9503 encoder.write_num(max_ordinal, offset);
9504 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
9505 if max_ordinal == 0 {
9507 return Ok(());
9508 }
9509 depth.increment()?;
9510 let envelope_size = 8;
9511 let bytes_len = max_ordinal as usize * envelope_size;
9512 #[allow(unused_variables)]
9513 let offset = encoder.out_of_line_offset(bytes_len);
9514 let mut _prev_end_offset: usize = 0;
9515 if 1 > max_ordinal {
9516 return Ok(());
9517 }
9518
9519 let cur_offset: usize = (1 - 1) * envelope_size;
9522
9523 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
9525
9526 fidl::encoding::encode_in_envelope_optional::<u64, D>(
9531 self.channel_bitmask.as_ref().map(<u64 as fidl::encoding::ValueTypeMarker>::borrow),
9532 encoder,
9533 offset + cur_offset,
9534 depth,
9535 )?;
9536
9537 _prev_end_offset = cur_offset + envelope_size;
9538
9539 Ok(())
9540 }
9541 }
9542
9543 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9544 for RingBufferSetActiveChannelsRequest
9545 {
9546 #[inline(always)]
9547 fn new_empty() -> Self {
9548 Self::default()
9549 }
9550
9551 unsafe fn decode(
9552 &mut self,
9553 decoder: &mut fidl::encoding::Decoder<'_, D>,
9554 offset: usize,
9555 mut depth: fidl::encoding::Depth,
9556 ) -> fidl::Result<()> {
9557 decoder.debug_check_bounds::<Self>(offset);
9558 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
9559 None => return Err(fidl::Error::NotNullable),
9560 Some(len) => len,
9561 };
9562 if len == 0 {
9564 return Ok(());
9565 };
9566 depth.increment()?;
9567 let envelope_size = 8;
9568 let bytes_len = len * envelope_size;
9569 let offset = decoder.out_of_line_offset(bytes_len)?;
9570 let mut _next_ordinal_to_read = 0;
9572 let mut next_offset = offset;
9573 let end_offset = offset + bytes_len;
9574 _next_ordinal_to_read += 1;
9575 if next_offset >= end_offset {
9576 return Ok(());
9577 }
9578
9579 while _next_ordinal_to_read < 1 {
9581 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9582 _next_ordinal_to_read += 1;
9583 next_offset += envelope_size;
9584 }
9585
9586 let next_out_of_line = decoder.next_out_of_line();
9587 let handles_before = decoder.remaining_handles();
9588 if let Some((inlined, num_bytes, num_handles)) =
9589 fidl::encoding::decode_envelope_header(decoder, next_offset)?
9590 {
9591 let member_inline_size =
9592 <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
9593 if inlined != (member_inline_size <= 4) {
9594 return Err(fidl::Error::InvalidInlineBitInEnvelope);
9595 }
9596 let inner_offset;
9597 let mut inner_depth = depth.clone();
9598 if inlined {
9599 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
9600 inner_offset = next_offset;
9601 } else {
9602 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
9603 inner_depth.increment()?;
9604 }
9605 let val_ref = self.channel_bitmask.get_or_insert_with(|| fidl::new_empty!(u64, D));
9606 fidl::decode!(u64, D, val_ref, decoder, inner_offset, inner_depth)?;
9607 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
9608 {
9609 return Err(fidl::Error::InvalidNumBytesInEnvelope);
9610 }
9611 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
9612 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
9613 }
9614 }
9615
9616 next_offset += envelope_size;
9617
9618 while next_offset < end_offset {
9620 _next_ordinal_to_read += 1;
9621 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9622 next_offset += envelope_size;
9623 }
9624
9625 Ok(())
9626 }
9627 }
9628
9629 impl RingBufferStartRequest {
9630 #[inline(always)]
9631 fn max_ordinal_present(&self) -> u64 {
9632 0
9633 }
9634 }
9635
9636 impl fidl::encoding::ValueTypeMarker for RingBufferStartRequest {
9637 type Borrowed<'a> = &'a Self;
9638 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9639 value
9640 }
9641 }
9642
9643 unsafe impl fidl::encoding::TypeMarker for RingBufferStartRequest {
9644 type Owned = Self;
9645
9646 #[inline(always)]
9647 fn inline_align(_context: fidl::encoding::Context) -> usize {
9648 8
9649 }
9650
9651 #[inline(always)]
9652 fn inline_size(_context: fidl::encoding::Context) -> usize {
9653 16
9654 }
9655 }
9656
9657 unsafe impl<D: fidl::encoding::ResourceDialect>
9658 fidl::encoding::Encode<RingBufferStartRequest, D> for &RingBufferStartRequest
9659 {
9660 unsafe fn encode(
9661 self,
9662 encoder: &mut fidl::encoding::Encoder<'_, D>,
9663 offset: usize,
9664 mut depth: fidl::encoding::Depth,
9665 ) -> fidl::Result<()> {
9666 encoder.debug_check_bounds::<RingBufferStartRequest>(offset);
9667 let max_ordinal: u64 = self.max_ordinal_present();
9669 encoder.write_num(max_ordinal, offset);
9670 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
9671 if max_ordinal == 0 {
9673 return Ok(());
9674 }
9675 depth.increment()?;
9676 let envelope_size = 8;
9677 let bytes_len = max_ordinal as usize * envelope_size;
9678 #[allow(unused_variables)]
9679 let offset = encoder.out_of_line_offset(bytes_len);
9680 let mut _prev_end_offset: usize = 0;
9681
9682 Ok(())
9683 }
9684 }
9685
9686 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9687 for RingBufferStartRequest
9688 {
9689 #[inline(always)]
9690 fn new_empty() -> Self {
9691 Self::default()
9692 }
9693
9694 unsafe fn decode(
9695 &mut self,
9696 decoder: &mut fidl::encoding::Decoder<'_, D>,
9697 offset: usize,
9698 mut depth: fidl::encoding::Depth,
9699 ) -> fidl::Result<()> {
9700 decoder.debug_check_bounds::<Self>(offset);
9701 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
9702 None => return Err(fidl::Error::NotNullable),
9703 Some(len) => len,
9704 };
9705 if len == 0 {
9707 return Ok(());
9708 };
9709 depth.increment()?;
9710 let envelope_size = 8;
9711 let bytes_len = len * envelope_size;
9712 let offset = decoder.out_of_line_offset(bytes_len)?;
9713 let mut _next_ordinal_to_read = 0;
9715 let mut next_offset = offset;
9716 let end_offset = offset + bytes_len;
9717
9718 while next_offset < end_offset {
9720 _next_ordinal_to_read += 1;
9721 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9722 next_offset += envelope_size;
9723 }
9724
9725 Ok(())
9726 }
9727 }
9728
9729 impl RingBufferStopRequest {
9730 #[inline(always)]
9731 fn max_ordinal_present(&self) -> u64 {
9732 0
9733 }
9734 }
9735
9736 impl fidl::encoding::ValueTypeMarker for RingBufferStopRequest {
9737 type Borrowed<'a> = &'a Self;
9738 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9739 value
9740 }
9741 }
9742
9743 unsafe impl fidl::encoding::TypeMarker for RingBufferStopRequest {
9744 type Owned = Self;
9745
9746 #[inline(always)]
9747 fn inline_align(_context: fidl::encoding::Context) -> usize {
9748 8
9749 }
9750
9751 #[inline(always)]
9752 fn inline_size(_context: fidl::encoding::Context) -> usize {
9753 16
9754 }
9755 }
9756
9757 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RingBufferStopRequest, D>
9758 for &RingBufferStopRequest
9759 {
9760 unsafe fn encode(
9761 self,
9762 encoder: &mut fidl::encoding::Encoder<'_, D>,
9763 offset: usize,
9764 mut depth: fidl::encoding::Depth,
9765 ) -> fidl::Result<()> {
9766 encoder.debug_check_bounds::<RingBufferStopRequest>(offset);
9767 let max_ordinal: u64 = self.max_ordinal_present();
9769 encoder.write_num(max_ordinal, offset);
9770 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
9771 if max_ordinal == 0 {
9773 return Ok(());
9774 }
9775 depth.increment()?;
9776 let envelope_size = 8;
9777 let bytes_len = max_ordinal as usize * envelope_size;
9778 #[allow(unused_variables)]
9779 let offset = encoder.out_of_line_offset(bytes_len);
9780 let mut _prev_end_offset: usize = 0;
9781
9782 Ok(())
9783 }
9784 }
9785
9786 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RingBufferStopRequest {
9787 #[inline(always)]
9788 fn new_empty() -> Self {
9789 Self::default()
9790 }
9791
9792 unsafe fn decode(
9793 &mut self,
9794 decoder: &mut fidl::encoding::Decoder<'_, D>,
9795 offset: usize,
9796 mut depth: fidl::encoding::Depth,
9797 ) -> fidl::Result<()> {
9798 decoder.debug_check_bounds::<Self>(offset);
9799 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
9800 None => return Err(fidl::Error::NotNullable),
9801 Some(len) => len,
9802 };
9803 if len == 0 {
9805 return Ok(());
9806 };
9807 depth.increment()?;
9808 let envelope_size = 8;
9809 let bytes_len = len * envelope_size;
9810 let offset = decoder.out_of_line_offset(bytes_len)?;
9811 let mut _next_ordinal_to_read = 0;
9813 let mut next_offset = offset;
9814 let end_offset = offset + bytes_len;
9815
9816 while next_offset < end_offset {
9818 _next_ordinal_to_read += 1;
9819 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9820 next_offset += envelope_size;
9821 }
9822
9823 Ok(())
9824 }
9825 }
9826
9827 impl RingBufferSetActiveChannelsResponse {
9828 #[inline(always)]
9829 fn max_ordinal_present(&self) -> u64 {
9830 if let Some(_) = self.set_time {
9831 return 1;
9832 }
9833 0
9834 }
9835 }
9836
9837 impl fidl::encoding::ValueTypeMarker for RingBufferSetActiveChannelsResponse {
9838 type Borrowed<'a> = &'a Self;
9839 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9840 value
9841 }
9842 }
9843
9844 unsafe impl fidl::encoding::TypeMarker for RingBufferSetActiveChannelsResponse {
9845 type Owned = Self;
9846
9847 #[inline(always)]
9848 fn inline_align(_context: fidl::encoding::Context) -> usize {
9849 8
9850 }
9851
9852 #[inline(always)]
9853 fn inline_size(_context: fidl::encoding::Context) -> usize {
9854 16
9855 }
9856 }
9857
9858 unsafe impl<D: fidl::encoding::ResourceDialect>
9859 fidl::encoding::Encode<RingBufferSetActiveChannelsResponse, D>
9860 for &RingBufferSetActiveChannelsResponse
9861 {
9862 unsafe fn encode(
9863 self,
9864 encoder: &mut fidl::encoding::Encoder<'_, D>,
9865 offset: usize,
9866 mut depth: fidl::encoding::Depth,
9867 ) -> fidl::Result<()> {
9868 encoder.debug_check_bounds::<RingBufferSetActiveChannelsResponse>(offset);
9869 let max_ordinal: u64 = self.max_ordinal_present();
9871 encoder.write_num(max_ordinal, offset);
9872 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
9873 if max_ordinal == 0 {
9875 return Ok(());
9876 }
9877 depth.increment()?;
9878 let envelope_size = 8;
9879 let bytes_len = max_ordinal as usize * envelope_size;
9880 #[allow(unused_variables)]
9881 let offset = encoder.out_of_line_offset(bytes_len);
9882 let mut _prev_end_offset: usize = 0;
9883 if 1 > max_ordinal {
9884 return Ok(());
9885 }
9886
9887 let cur_offset: usize = (1 - 1) * envelope_size;
9890
9891 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
9893
9894 fidl::encoding::encode_in_envelope_optional::<i64, D>(
9899 self.set_time.as_ref().map(<i64 as fidl::encoding::ValueTypeMarker>::borrow),
9900 encoder,
9901 offset + cur_offset,
9902 depth,
9903 )?;
9904
9905 _prev_end_offset = cur_offset + envelope_size;
9906
9907 Ok(())
9908 }
9909 }
9910
9911 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9912 for RingBufferSetActiveChannelsResponse
9913 {
9914 #[inline(always)]
9915 fn new_empty() -> Self {
9916 Self::default()
9917 }
9918
9919 unsafe fn decode(
9920 &mut self,
9921 decoder: &mut fidl::encoding::Decoder<'_, D>,
9922 offset: usize,
9923 mut depth: fidl::encoding::Depth,
9924 ) -> fidl::Result<()> {
9925 decoder.debug_check_bounds::<Self>(offset);
9926 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
9927 None => return Err(fidl::Error::NotNullable),
9928 Some(len) => len,
9929 };
9930 if len == 0 {
9932 return Ok(());
9933 };
9934 depth.increment()?;
9935 let envelope_size = 8;
9936 let bytes_len = len * envelope_size;
9937 let offset = decoder.out_of_line_offset(bytes_len)?;
9938 let mut _next_ordinal_to_read = 0;
9940 let mut next_offset = offset;
9941 let end_offset = offset + bytes_len;
9942 _next_ordinal_to_read += 1;
9943 if next_offset >= end_offset {
9944 return Ok(());
9945 }
9946
9947 while _next_ordinal_to_read < 1 {
9949 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9950 _next_ordinal_to_read += 1;
9951 next_offset += envelope_size;
9952 }
9953
9954 let next_out_of_line = decoder.next_out_of_line();
9955 let handles_before = decoder.remaining_handles();
9956 if let Some((inlined, num_bytes, num_handles)) =
9957 fidl::encoding::decode_envelope_header(decoder, next_offset)?
9958 {
9959 let member_inline_size =
9960 <i64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
9961 if inlined != (member_inline_size <= 4) {
9962 return Err(fidl::Error::InvalidInlineBitInEnvelope);
9963 }
9964 let inner_offset;
9965 let mut inner_depth = depth.clone();
9966 if inlined {
9967 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
9968 inner_offset = next_offset;
9969 } else {
9970 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
9971 inner_depth.increment()?;
9972 }
9973 let val_ref = self.set_time.get_or_insert_with(|| fidl::new_empty!(i64, D));
9974 fidl::decode!(i64, D, val_ref, decoder, inner_offset, inner_depth)?;
9975 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
9976 {
9977 return Err(fidl::Error::InvalidNumBytesInEnvelope);
9978 }
9979 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
9980 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
9981 }
9982 }
9983
9984 next_offset += envelope_size;
9985
9986 while next_offset < end_offset {
9988 _next_ordinal_to_read += 1;
9989 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9990 next_offset += envelope_size;
9991 }
9992
9993 Ok(())
9994 }
9995 }
9996
9997 impl RingBufferStartResponse {
9998 #[inline(always)]
9999 fn max_ordinal_present(&self) -> u64 {
10000 if let Some(_) = self.start_time {
10001 return 1;
10002 }
10003 0
10004 }
10005 }
10006
10007 impl fidl::encoding::ValueTypeMarker for RingBufferStartResponse {
10008 type Borrowed<'a> = &'a Self;
10009 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10010 value
10011 }
10012 }
10013
10014 unsafe impl fidl::encoding::TypeMarker for RingBufferStartResponse {
10015 type Owned = Self;
10016
10017 #[inline(always)]
10018 fn inline_align(_context: fidl::encoding::Context) -> usize {
10019 8
10020 }
10021
10022 #[inline(always)]
10023 fn inline_size(_context: fidl::encoding::Context) -> usize {
10024 16
10025 }
10026 }
10027
10028 unsafe impl<D: fidl::encoding::ResourceDialect>
10029 fidl::encoding::Encode<RingBufferStartResponse, D> for &RingBufferStartResponse
10030 {
10031 unsafe fn encode(
10032 self,
10033 encoder: &mut fidl::encoding::Encoder<'_, D>,
10034 offset: usize,
10035 mut depth: fidl::encoding::Depth,
10036 ) -> fidl::Result<()> {
10037 encoder.debug_check_bounds::<RingBufferStartResponse>(offset);
10038 let max_ordinal: u64 = self.max_ordinal_present();
10040 encoder.write_num(max_ordinal, offset);
10041 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
10042 if max_ordinal == 0 {
10044 return Ok(());
10045 }
10046 depth.increment()?;
10047 let envelope_size = 8;
10048 let bytes_len = max_ordinal as usize * envelope_size;
10049 #[allow(unused_variables)]
10050 let offset = encoder.out_of_line_offset(bytes_len);
10051 let mut _prev_end_offset: usize = 0;
10052 if 1 > max_ordinal {
10053 return Ok(());
10054 }
10055
10056 let cur_offset: usize = (1 - 1) * envelope_size;
10059
10060 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
10062
10063 fidl::encoding::encode_in_envelope_optional::<i64, D>(
10068 self.start_time.as_ref().map(<i64 as fidl::encoding::ValueTypeMarker>::borrow),
10069 encoder,
10070 offset + cur_offset,
10071 depth,
10072 )?;
10073
10074 _prev_end_offset = cur_offset + envelope_size;
10075
10076 Ok(())
10077 }
10078 }
10079
10080 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
10081 for RingBufferStartResponse
10082 {
10083 #[inline(always)]
10084 fn new_empty() -> Self {
10085 Self::default()
10086 }
10087
10088 unsafe fn decode(
10089 &mut self,
10090 decoder: &mut fidl::encoding::Decoder<'_, D>,
10091 offset: usize,
10092 mut depth: fidl::encoding::Depth,
10093 ) -> fidl::Result<()> {
10094 decoder.debug_check_bounds::<Self>(offset);
10095 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
10096 None => return Err(fidl::Error::NotNullable),
10097 Some(len) => len,
10098 };
10099 if len == 0 {
10101 return Ok(());
10102 };
10103 depth.increment()?;
10104 let envelope_size = 8;
10105 let bytes_len = len * envelope_size;
10106 let offset = decoder.out_of_line_offset(bytes_len)?;
10107 let mut _next_ordinal_to_read = 0;
10109 let mut next_offset = offset;
10110 let end_offset = offset + bytes_len;
10111 _next_ordinal_to_read += 1;
10112 if next_offset >= end_offset {
10113 return Ok(());
10114 }
10115
10116 while _next_ordinal_to_read < 1 {
10118 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
10119 _next_ordinal_to_read += 1;
10120 next_offset += envelope_size;
10121 }
10122
10123 let next_out_of_line = decoder.next_out_of_line();
10124 let handles_before = decoder.remaining_handles();
10125 if let Some((inlined, num_bytes, num_handles)) =
10126 fidl::encoding::decode_envelope_header(decoder, next_offset)?
10127 {
10128 let member_inline_size =
10129 <i64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
10130 if inlined != (member_inline_size <= 4) {
10131 return Err(fidl::Error::InvalidInlineBitInEnvelope);
10132 }
10133 let inner_offset;
10134 let mut inner_depth = depth.clone();
10135 if inlined {
10136 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
10137 inner_offset = next_offset;
10138 } else {
10139 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
10140 inner_depth.increment()?;
10141 }
10142 let val_ref = self.start_time.get_or_insert_with(|| fidl::new_empty!(i64, D));
10143 fidl::decode!(i64, D, val_ref, decoder, inner_offset, inner_depth)?;
10144 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
10145 {
10146 return Err(fidl::Error::InvalidNumBytesInEnvelope);
10147 }
10148 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
10149 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
10150 }
10151 }
10152
10153 next_offset += envelope_size;
10154
10155 while next_offset < end_offset {
10157 _next_ordinal_to_read += 1;
10158 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
10159 next_offset += envelope_size;
10160 }
10161
10162 Ok(())
10163 }
10164 }
10165
10166 impl RingBufferStopResponse {
10167 #[inline(always)]
10168 fn max_ordinal_present(&self) -> u64 {
10169 0
10170 }
10171 }
10172
10173 impl fidl::encoding::ValueTypeMarker for RingBufferStopResponse {
10174 type Borrowed<'a> = &'a Self;
10175 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10176 value
10177 }
10178 }
10179
10180 unsafe impl fidl::encoding::TypeMarker for RingBufferStopResponse {
10181 type Owned = Self;
10182
10183 #[inline(always)]
10184 fn inline_align(_context: fidl::encoding::Context) -> usize {
10185 8
10186 }
10187
10188 #[inline(always)]
10189 fn inline_size(_context: fidl::encoding::Context) -> usize {
10190 16
10191 }
10192 }
10193
10194 unsafe impl<D: fidl::encoding::ResourceDialect>
10195 fidl::encoding::Encode<RingBufferStopResponse, D> for &RingBufferStopResponse
10196 {
10197 unsafe fn encode(
10198 self,
10199 encoder: &mut fidl::encoding::Encoder<'_, D>,
10200 offset: usize,
10201 mut depth: fidl::encoding::Depth,
10202 ) -> fidl::Result<()> {
10203 encoder.debug_check_bounds::<RingBufferStopResponse>(offset);
10204 let max_ordinal: u64 = self.max_ordinal_present();
10206 encoder.write_num(max_ordinal, offset);
10207 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
10208 if max_ordinal == 0 {
10210 return Ok(());
10211 }
10212 depth.increment()?;
10213 let envelope_size = 8;
10214 let bytes_len = max_ordinal as usize * envelope_size;
10215 #[allow(unused_variables)]
10216 let offset = encoder.out_of_line_offset(bytes_len);
10217 let mut _prev_end_offset: usize = 0;
10218
10219 Ok(())
10220 }
10221 }
10222
10223 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
10224 for RingBufferStopResponse
10225 {
10226 #[inline(always)]
10227 fn new_empty() -> Self {
10228 Self::default()
10229 }
10230
10231 unsafe fn decode(
10232 &mut self,
10233 decoder: &mut fidl::encoding::Decoder<'_, D>,
10234 offset: usize,
10235 mut depth: fidl::encoding::Depth,
10236 ) -> fidl::Result<()> {
10237 decoder.debug_check_bounds::<Self>(offset);
10238 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
10239 None => return Err(fidl::Error::NotNullable),
10240 Some(len) => len,
10241 };
10242 if len == 0 {
10244 return Ok(());
10245 };
10246 depth.increment()?;
10247 let envelope_size = 8;
10248 let bytes_len = len * envelope_size;
10249 let offset = decoder.out_of_line_offset(bytes_len)?;
10250 let mut _next_ordinal_to_read = 0;
10252 let mut next_offset = offset;
10253 let end_offset = offset + bytes_len;
10254
10255 while next_offset < end_offset {
10257 _next_ordinal_to_read += 1;
10258 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
10259 next_offset += envelope_size;
10260 }
10261
10262 Ok(())
10263 }
10264 }
10265
10266 impl RingBufferWatchDelayInfoResponse {
10267 #[inline(always)]
10268 fn max_ordinal_present(&self) -> u64 {
10269 if let Some(_) = self.delay_info {
10270 return 1;
10271 }
10272 0
10273 }
10274 }
10275
10276 impl fidl::encoding::ValueTypeMarker for RingBufferWatchDelayInfoResponse {
10277 type Borrowed<'a> = &'a Self;
10278 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10279 value
10280 }
10281 }
10282
10283 unsafe impl fidl::encoding::TypeMarker for RingBufferWatchDelayInfoResponse {
10284 type Owned = Self;
10285
10286 #[inline(always)]
10287 fn inline_align(_context: fidl::encoding::Context) -> usize {
10288 8
10289 }
10290
10291 #[inline(always)]
10292 fn inline_size(_context: fidl::encoding::Context) -> usize {
10293 16
10294 }
10295 }
10296
10297 unsafe impl<D: fidl::encoding::ResourceDialect>
10298 fidl::encoding::Encode<RingBufferWatchDelayInfoResponse, D>
10299 for &RingBufferWatchDelayInfoResponse
10300 {
10301 unsafe fn encode(
10302 self,
10303 encoder: &mut fidl::encoding::Encoder<'_, D>,
10304 offset: usize,
10305 mut depth: fidl::encoding::Depth,
10306 ) -> fidl::Result<()> {
10307 encoder.debug_check_bounds::<RingBufferWatchDelayInfoResponse>(offset);
10308 let max_ordinal: u64 = self.max_ordinal_present();
10310 encoder.write_num(max_ordinal, offset);
10311 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
10312 if max_ordinal == 0 {
10314 return Ok(());
10315 }
10316 depth.increment()?;
10317 let envelope_size = 8;
10318 let bytes_len = max_ordinal as usize * envelope_size;
10319 #[allow(unused_variables)]
10320 let offset = encoder.out_of_line_offset(bytes_len);
10321 let mut _prev_end_offset: usize = 0;
10322 if 1 > max_ordinal {
10323 return Ok(());
10324 }
10325
10326 let cur_offset: usize = (1 - 1) * envelope_size;
10329
10330 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
10332
10333 fidl::encoding::encode_in_envelope_optional::<DelayInfo, D>(
10338 self.delay_info
10339 .as_ref()
10340 .map(<DelayInfo as fidl::encoding::ValueTypeMarker>::borrow),
10341 encoder,
10342 offset + cur_offset,
10343 depth,
10344 )?;
10345
10346 _prev_end_offset = cur_offset + envelope_size;
10347
10348 Ok(())
10349 }
10350 }
10351
10352 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
10353 for RingBufferWatchDelayInfoResponse
10354 {
10355 #[inline(always)]
10356 fn new_empty() -> Self {
10357 Self::default()
10358 }
10359
10360 unsafe fn decode(
10361 &mut self,
10362 decoder: &mut fidl::encoding::Decoder<'_, D>,
10363 offset: usize,
10364 mut depth: fidl::encoding::Depth,
10365 ) -> fidl::Result<()> {
10366 decoder.debug_check_bounds::<Self>(offset);
10367 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
10368 None => return Err(fidl::Error::NotNullable),
10369 Some(len) => len,
10370 };
10371 if len == 0 {
10373 return Ok(());
10374 };
10375 depth.increment()?;
10376 let envelope_size = 8;
10377 let bytes_len = len * envelope_size;
10378 let offset = decoder.out_of_line_offset(bytes_len)?;
10379 let mut _next_ordinal_to_read = 0;
10381 let mut next_offset = offset;
10382 let end_offset = offset + bytes_len;
10383 _next_ordinal_to_read += 1;
10384 if next_offset >= end_offset {
10385 return Ok(());
10386 }
10387
10388 while _next_ordinal_to_read < 1 {
10390 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
10391 _next_ordinal_to_read += 1;
10392 next_offset += envelope_size;
10393 }
10394
10395 let next_out_of_line = decoder.next_out_of_line();
10396 let handles_before = decoder.remaining_handles();
10397 if let Some((inlined, num_bytes, num_handles)) =
10398 fidl::encoding::decode_envelope_header(decoder, next_offset)?
10399 {
10400 let member_inline_size =
10401 <DelayInfo as fidl::encoding::TypeMarker>::inline_size(decoder.context);
10402 if inlined != (member_inline_size <= 4) {
10403 return Err(fidl::Error::InvalidInlineBitInEnvelope);
10404 }
10405 let inner_offset;
10406 let mut inner_depth = depth.clone();
10407 if inlined {
10408 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
10409 inner_offset = next_offset;
10410 } else {
10411 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
10412 inner_depth.increment()?;
10413 }
10414 let val_ref = self.delay_info.get_or_insert_with(|| fidl::new_empty!(DelayInfo, D));
10415 fidl::decode!(DelayInfo, D, val_ref, decoder, inner_offset, inner_depth)?;
10416 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
10417 {
10418 return Err(fidl::Error::InvalidNumBytesInEnvelope);
10419 }
10420 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
10421 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
10422 }
10423 }
10424
10425 next_offset += envelope_size;
10426
10427 while next_offset < end_offset {
10429 _next_ordinal_to_read += 1;
10430 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
10431 next_offset += envelope_size;
10432 }
10433
10434 Ok(())
10435 }
10436 }
10437
10438 impl fidl::encoding::ValueTypeMarker for PacketStreamFormat {
10439 type Borrowed<'a> = &'a Self;
10440 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10441 value
10442 }
10443 }
10444
10445 unsafe impl fidl::encoding::TypeMarker for PacketStreamFormat {
10446 type Owned = Self;
10447
10448 #[inline(always)]
10449 fn inline_align(_context: fidl::encoding::Context) -> usize {
10450 8
10451 }
10452
10453 #[inline(always)]
10454 fn inline_size(_context: fidl::encoding::Context) -> usize {
10455 16
10456 }
10457 }
10458
10459 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<PacketStreamFormat, D>
10460 for &PacketStreamFormat
10461 {
10462 #[inline]
10463 unsafe fn encode(
10464 self,
10465 encoder: &mut fidl::encoding::Encoder<'_, D>,
10466 offset: usize,
10467 _depth: fidl::encoding::Depth,
10468 ) -> fidl::Result<()> {
10469 encoder.debug_check_bounds::<PacketStreamFormat>(offset);
10470 encoder.write_num::<u64>(self.ordinal(), offset);
10471 match self {
10472 PacketStreamFormat::PcmFormat(ref val) => {
10473 fidl::encoding::encode_in_envelope::<fidl_fuchsia_audio__common::Format, D>(
10474 <fidl_fuchsia_audio__common::Format as fidl::encoding::ValueTypeMarker>::borrow(val),
10475 encoder, offset + 8, _depth
10476 )
10477 }
10478 PacketStreamFormat::Encoding(ref val) => {
10479 fidl::encoding::encode_in_envelope::<fidl_fuchsia_hardware_audio__common::Encoding, D>(
10480 <fidl_fuchsia_hardware_audio__common::Encoding as fidl::encoding::ValueTypeMarker>::borrow(val),
10481 encoder, offset + 8, _depth
10482 )
10483 }
10484 PacketStreamFormat::__SourceBreaking { .. } => Err(fidl::Error::UnknownUnionTag),
10485 }
10486 }
10487 }
10488
10489 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for PacketStreamFormat {
10490 #[inline(always)]
10491 fn new_empty() -> Self {
10492 Self::__SourceBreaking { unknown_ordinal: 0 }
10493 }
10494
10495 #[inline]
10496 unsafe fn decode(
10497 &mut self,
10498 decoder: &mut fidl::encoding::Decoder<'_, D>,
10499 offset: usize,
10500 mut depth: fidl::encoding::Depth,
10501 ) -> fidl::Result<()> {
10502 decoder.debug_check_bounds::<Self>(offset);
10503 #[allow(unused_variables)]
10504 let next_out_of_line = decoder.next_out_of_line();
10505 let handles_before = decoder.remaining_handles();
10506 let (ordinal, inlined, num_bytes, num_handles) =
10507 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
10508
10509 let member_inline_size = match ordinal {
10510 1 => <fidl_fuchsia_audio__common::Format as fidl::encoding::TypeMarker>::inline_size(decoder.context),
10511 2 => <fidl_fuchsia_hardware_audio__common::Encoding as fidl::encoding::TypeMarker>::inline_size(decoder.context),
10512 0 => return Err(fidl::Error::UnknownUnionTag),
10513 _ => num_bytes as usize,
10514 };
10515
10516 if inlined != (member_inline_size <= 4) {
10517 return Err(fidl::Error::InvalidInlineBitInEnvelope);
10518 }
10519 let _inner_offset;
10520 if inlined {
10521 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
10522 _inner_offset = offset + 8;
10523 } else {
10524 depth.increment()?;
10525 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
10526 }
10527 match ordinal {
10528 1 => {
10529 #[allow(irrefutable_let_patterns)]
10530 if let PacketStreamFormat::PcmFormat(_) = self {
10531 } else {
10533 *self = PacketStreamFormat::PcmFormat(fidl::new_empty!(
10535 fidl_fuchsia_audio__common::Format,
10536 D
10537 ));
10538 }
10539 #[allow(irrefutable_let_patterns)]
10540 if let PacketStreamFormat::PcmFormat(ref mut val) = self {
10541 fidl::decode!(
10542 fidl_fuchsia_audio__common::Format,
10543 D,
10544 val,
10545 decoder,
10546 _inner_offset,
10547 depth
10548 )?;
10549 } else {
10550 unreachable!()
10551 }
10552 }
10553 2 => {
10554 #[allow(irrefutable_let_patterns)]
10555 if let PacketStreamFormat::Encoding(_) = self {
10556 } else {
10558 *self = PacketStreamFormat::Encoding(fidl::new_empty!(
10560 fidl_fuchsia_hardware_audio__common::Encoding,
10561 D
10562 ));
10563 }
10564 #[allow(irrefutable_let_patterns)]
10565 if let PacketStreamFormat::Encoding(ref mut val) = self {
10566 fidl::decode!(
10567 fidl_fuchsia_hardware_audio__common::Encoding,
10568 D,
10569 val,
10570 decoder,
10571 _inner_offset,
10572 depth
10573 )?;
10574 } else {
10575 unreachable!()
10576 }
10577 }
10578 #[allow(deprecated)]
10579 ordinal => {
10580 for _ in 0..num_handles {
10581 decoder.drop_next_handle()?;
10582 }
10583 *self = PacketStreamFormat::__SourceBreaking { unknown_ordinal: ordinal };
10584 }
10585 }
10586 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
10587 return Err(fidl::Error::InvalidNumBytesInEnvelope);
10588 }
10589 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
10590 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
10591 }
10592 Ok(())
10593 }
10594 }
10595
10596 impl fidl::encoding::ValueTypeMarker for PacketStreamSupportedFormats {
10597 type Borrowed<'a> = &'a Self;
10598 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10599 value
10600 }
10601 }
10602
10603 unsafe impl fidl::encoding::TypeMarker for PacketStreamSupportedFormats {
10604 type Owned = Self;
10605
10606 #[inline(always)]
10607 fn inline_align(_context: fidl::encoding::Context) -> usize {
10608 8
10609 }
10610
10611 #[inline(always)]
10612 fn inline_size(_context: fidl::encoding::Context) -> usize {
10613 16
10614 }
10615 }
10616
10617 unsafe impl<D: fidl::encoding::ResourceDialect>
10618 fidl::encoding::Encode<PacketStreamSupportedFormats, D> for &PacketStreamSupportedFormats
10619 {
10620 #[inline]
10621 unsafe fn encode(
10622 self,
10623 encoder: &mut fidl::encoding::Encoder<'_, D>,
10624 offset: usize,
10625 _depth: fidl::encoding::Depth,
10626 ) -> fidl::Result<()> {
10627 encoder.debug_check_bounds::<PacketStreamSupportedFormats>(offset);
10628 encoder.write_num::<u64>(self.ordinal(), offset);
10629 match self {
10630 PacketStreamSupportedFormats::PcmFormat(ref val) => {
10631 fidl::encoding::encode_in_envelope::<PcmFormatSet, D>(
10632 <PcmFormatSet as fidl::encoding::ValueTypeMarker>::borrow(val),
10633 encoder, offset + 8, _depth
10634 )
10635 }
10636 PacketStreamSupportedFormats::SupportedEncodings(ref val) => {
10637 fidl::encoding::encode_in_envelope::<fidl_fuchsia_hardware_audio__common::SupportedEncodings, D>(
10638 <fidl_fuchsia_hardware_audio__common::SupportedEncodings as fidl::encoding::ValueTypeMarker>::borrow(val),
10639 encoder, offset + 8, _depth
10640 )
10641 }
10642 PacketStreamSupportedFormats::__SourceBreaking { .. } => Err(fidl::Error::UnknownUnionTag),
10643 }
10644 }
10645 }
10646
10647 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
10648 for PacketStreamSupportedFormats
10649 {
10650 #[inline(always)]
10651 fn new_empty() -> Self {
10652 Self::__SourceBreaking { unknown_ordinal: 0 }
10653 }
10654
10655 #[inline]
10656 unsafe fn decode(
10657 &mut self,
10658 decoder: &mut fidl::encoding::Decoder<'_, D>,
10659 offset: usize,
10660 mut depth: fidl::encoding::Depth,
10661 ) -> fidl::Result<()> {
10662 decoder.debug_check_bounds::<Self>(offset);
10663 #[allow(unused_variables)]
10664 let next_out_of_line = decoder.next_out_of_line();
10665 let handles_before = decoder.remaining_handles();
10666 let (ordinal, inlined, num_bytes, num_handles) =
10667 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
10668
10669 let member_inline_size = match ordinal {
10670 1 => <PcmFormatSet as fidl::encoding::TypeMarker>::inline_size(decoder.context),
10671 2 => <fidl_fuchsia_hardware_audio__common::SupportedEncodings as fidl::encoding::TypeMarker>::inline_size(decoder.context),
10672 0 => return Err(fidl::Error::UnknownUnionTag),
10673 _ => num_bytes as usize,
10674 };
10675
10676 if inlined != (member_inline_size <= 4) {
10677 return Err(fidl::Error::InvalidInlineBitInEnvelope);
10678 }
10679 let _inner_offset;
10680 if inlined {
10681 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
10682 _inner_offset = offset + 8;
10683 } else {
10684 depth.increment()?;
10685 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
10686 }
10687 match ordinal {
10688 1 => {
10689 #[allow(irrefutable_let_patterns)]
10690 if let PacketStreamSupportedFormats::PcmFormat(_) = self {
10691 } else {
10693 *self = PacketStreamSupportedFormats::PcmFormat(fidl::new_empty!(
10695 PcmFormatSet,
10696 D
10697 ));
10698 }
10699 #[allow(irrefutable_let_patterns)]
10700 if let PacketStreamSupportedFormats::PcmFormat(ref mut val) = self {
10701 fidl::decode!(PcmFormatSet, D, val, decoder, _inner_offset, depth)?;
10702 } else {
10703 unreachable!()
10704 }
10705 }
10706 2 => {
10707 #[allow(irrefutable_let_patterns)]
10708 if let PacketStreamSupportedFormats::SupportedEncodings(_) = self {
10709 } else {
10711 *self = PacketStreamSupportedFormats::SupportedEncodings(fidl::new_empty!(
10713 fidl_fuchsia_hardware_audio__common::SupportedEncodings,
10714 D
10715 ));
10716 }
10717 #[allow(irrefutable_let_patterns)]
10718 if let PacketStreamSupportedFormats::SupportedEncodings(ref mut val) = self {
10719 fidl::decode!(
10720 fidl_fuchsia_hardware_audio__common::SupportedEncodings,
10721 D,
10722 val,
10723 decoder,
10724 _inner_offset,
10725 depth
10726 )?;
10727 } else {
10728 unreachable!()
10729 }
10730 }
10731 #[allow(deprecated)]
10732 ordinal => {
10733 for _ in 0..num_handles {
10734 decoder.drop_next_handle()?;
10735 }
10736 *self =
10737 PacketStreamSupportedFormats::__SourceBreaking { unknown_ordinal: ordinal };
10738 }
10739 }
10740 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
10741 return Err(fidl::Error::InvalidNumBytesInEnvelope);
10742 }
10743 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
10744 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
10745 }
10746 Ok(())
10747 }
10748 }
10749}