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<fidl_fuchsia_hardware_audio_common::DaiSupportedFormats, 64>,
5691 D,
5692 >(
5693 self.format_sets.as_ref().map(
5694 <fidl::encoding::Vector<
5695 fidl_fuchsia_hardware_audio_common::DaiSupportedFormats,
5696 64,
5697 > as fidl::encoding::ValueTypeMarker>::borrow,
5698 ),
5699 encoder,
5700 offset + cur_offset,
5701 depth,
5702 )?;
5703
5704 _prev_end_offset = cur_offset + envelope_size;
5705
5706 Ok(())
5707 }
5708 }
5709
5710 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ElementDaiFormatSet {
5711 #[inline(always)]
5712 fn new_empty() -> Self {
5713 Self::default()
5714 }
5715
5716 unsafe fn decode(
5717 &mut self,
5718 decoder: &mut fidl::encoding::Decoder<'_, D>,
5719 offset: usize,
5720 mut depth: fidl::encoding::Depth,
5721 ) -> fidl::Result<()> {
5722 decoder.debug_check_bounds::<Self>(offset);
5723 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
5724 None => return Err(fidl::Error::NotNullable),
5725 Some(len) => len,
5726 };
5727 if len == 0 {
5729 return Ok(());
5730 };
5731 depth.increment()?;
5732 let envelope_size = 8;
5733 let bytes_len = len * envelope_size;
5734 let offset = decoder.out_of_line_offset(bytes_len)?;
5735 let mut _next_ordinal_to_read = 0;
5737 let mut next_offset = offset;
5738 let end_offset = offset + bytes_len;
5739 _next_ordinal_to_read += 1;
5740 if next_offset >= end_offset {
5741 return Ok(());
5742 }
5743
5744 while _next_ordinal_to_read < 1 {
5746 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5747 _next_ordinal_to_read += 1;
5748 next_offset += envelope_size;
5749 }
5750
5751 let next_out_of_line = decoder.next_out_of_line();
5752 let handles_before = decoder.remaining_handles();
5753 if let Some((inlined, num_bytes, num_handles)) =
5754 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5755 {
5756 let member_inline_size =
5757 <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5758 if inlined != (member_inline_size <= 4) {
5759 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5760 }
5761 let inner_offset;
5762 let mut inner_depth = depth.clone();
5763 if inlined {
5764 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5765 inner_offset = next_offset;
5766 } else {
5767 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5768 inner_depth.increment()?;
5769 }
5770 let val_ref = self.element_id.get_or_insert_with(|| fidl::new_empty!(u64, D));
5771 fidl::decode!(u64, D, val_ref, decoder, inner_offset, inner_depth)?;
5772 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5773 {
5774 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5775 }
5776 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5777 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5778 }
5779 }
5780
5781 next_offset += envelope_size;
5782 _next_ordinal_to_read += 1;
5783 if next_offset >= end_offset {
5784 return Ok(());
5785 }
5786
5787 while _next_ordinal_to_read < 2 {
5789 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5790 _next_ordinal_to_read += 1;
5791 next_offset += envelope_size;
5792 }
5793
5794 let next_out_of_line = decoder.next_out_of_line();
5795 let handles_before = decoder.remaining_handles();
5796 if let Some((inlined, num_bytes, num_handles)) =
5797 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5798 {
5799 let member_inline_size = <fidl::encoding::Vector<
5800 fidl_fuchsia_hardware_audio_common::DaiSupportedFormats,
5801 64,
5802 > as fidl::encoding::TypeMarker>::inline_size(
5803 decoder.context
5804 );
5805 if inlined != (member_inline_size <= 4) {
5806 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5807 }
5808 let inner_offset;
5809 let mut inner_depth = depth.clone();
5810 if inlined {
5811 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5812 inner_offset = next_offset;
5813 } else {
5814 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5815 inner_depth.increment()?;
5816 }
5817 let val_ref =
5818 self.format_sets.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Vector<fidl_fuchsia_hardware_audio_common::DaiSupportedFormats, 64>, D));
5819 fidl::decode!(fidl::encoding::Vector<fidl_fuchsia_hardware_audio_common::DaiSupportedFormats, 64>, D, val_ref, decoder, inner_offset, inner_depth)?;
5820 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5821 {
5822 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5823 }
5824 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5825 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5826 }
5827 }
5828
5829 next_offset += envelope_size;
5830
5831 while next_offset < end_offset {
5833 _next_ordinal_to_read += 1;
5834 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5835 next_offset += envelope_size;
5836 }
5837
5838 Ok(())
5839 }
5840 }
5841
5842 impl ElementPacketStreamFormatSet {
5843 #[inline(always)]
5844 fn max_ordinal_present(&self) -> u64 {
5845 if let Some(_) = self.format_sets {
5846 return 2;
5847 }
5848 if let Some(_) = self.element_id {
5849 return 1;
5850 }
5851 0
5852 }
5853 }
5854
5855 impl fidl::encoding::ValueTypeMarker for ElementPacketStreamFormatSet {
5856 type Borrowed<'a> = &'a Self;
5857 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5858 value
5859 }
5860 }
5861
5862 unsafe impl fidl::encoding::TypeMarker for ElementPacketStreamFormatSet {
5863 type Owned = Self;
5864
5865 #[inline(always)]
5866 fn inline_align(_context: fidl::encoding::Context) -> usize {
5867 8
5868 }
5869
5870 #[inline(always)]
5871 fn inline_size(_context: fidl::encoding::Context) -> usize {
5872 16
5873 }
5874 }
5875
5876 unsafe impl<D: fidl::encoding::ResourceDialect>
5877 fidl::encoding::Encode<ElementPacketStreamFormatSet, D> for &ElementPacketStreamFormatSet
5878 {
5879 unsafe fn encode(
5880 self,
5881 encoder: &mut fidl::encoding::Encoder<'_, D>,
5882 offset: usize,
5883 mut depth: fidl::encoding::Depth,
5884 ) -> fidl::Result<()> {
5885 encoder.debug_check_bounds::<ElementPacketStreamFormatSet>(offset);
5886 let max_ordinal: u64 = self.max_ordinal_present();
5888 encoder.write_num(max_ordinal, offset);
5889 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
5890 if max_ordinal == 0 {
5892 return Ok(());
5893 }
5894 depth.increment()?;
5895 let envelope_size = 8;
5896 let bytes_len = max_ordinal as usize * envelope_size;
5897 #[allow(unused_variables)]
5898 let offset = encoder.out_of_line_offset(bytes_len);
5899 let mut _prev_end_offset: usize = 0;
5900 if 1 > max_ordinal {
5901 return Ok(());
5902 }
5903
5904 let cur_offset: usize = (1 - 1) * envelope_size;
5907
5908 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5910
5911 fidl::encoding::encode_in_envelope_optional::<u64, D>(
5916 self.element_id.as_ref().map(<u64 as fidl::encoding::ValueTypeMarker>::borrow),
5917 encoder,
5918 offset + cur_offset,
5919 depth,
5920 )?;
5921
5922 _prev_end_offset = cur_offset + envelope_size;
5923 if 2 > max_ordinal {
5924 return Ok(());
5925 }
5926
5927 let cur_offset: usize = (2 - 1) * envelope_size;
5930
5931 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5933
5934 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<PacketStreamSupportedFormats, 64>, D>(
5939 self.format_sets.as_ref().map(<fidl::encoding::Vector<PacketStreamSupportedFormats, 64> as fidl::encoding::ValueTypeMarker>::borrow),
5940 encoder, offset + cur_offset, depth
5941 )?;
5942
5943 _prev_end_offset = cur_offset + envelope_size;
5944
5945 Ok(())
5946 }
5947 }
5948
5949 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5950 for ElementPacketStreamFormatSet
5951 {
5952 #[inline(always)]
5953 fn new_empty() -> Self {
5954 Self::default()
5955 }
5956
5957 unsafe fn decode(
5958 &mut self,
5959 decoder: &mut fidl::encoding::Decoder<'_, D>,
5960 offset: usize,
5961 mut depth: fidl::encoding::Depth,
5962 ) -> fidl::Result<()> {
5963 decoder.debug_check_bounds::<Self>(offset);
5964 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
5965 None => return Err(fidl::Error::NotNullable),
5966 Some(len) => len,
5967 };
5968 if len == 0 {
5970 return Ok(());
5971 };
5972 depth.increment()?;
5973 let envelope_size = 8;
5974 let bytes_len = len * envelope_size;
5975 let offset = decoder.out_of_line_offset(bytes_len)?;
5976 let mut _next_ordinal_to_read = 0;
5978 let mut next_offset = offset;
5979 let end_offset = offset + bytes_len;
5980 _next_ordinal_to_read += 1;
5981 if next_offset >= end_offset {
5982 return Ok(());
5983 }
5984
5985 while _next_ordinal_to_read < 1 {
5987 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5988 _next_ordinal_to_read += 1;
5989 next_offset += envelope_size;
5990 }
5991
5992 let next_out_of_line = decoder.next_out_of_line();
5993 let handles_before = decoder.remaining_handles();
5994 if let Some((inlined, num_bytes, num_handles)) =
5995 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5996 {
5997 let member_inline_size =
5998 <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5999 if inlined != (member_inline_size <= 4) {
6000 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6001 }
6002 let inner_offset;
6003 let mut inner_depth = depth.clone();
6004 if inlined {
6005 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6006 inner_offset = next_offset;
6007 } else {
6008 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6009 inner_depth.increment()?;
6010 }
6011 let val_ref = self.element_id.get_or_insert_with(|| fidl::new_empty!(u64, D));
6012 fidl::decode!(u64, D, val_ref, decoder, inner_offset, inner_depth)?;
6013 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6014 {
6015 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6016 }
6017 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6018 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6019 }
6020 }
6021
6022 next_offset += envelope_size;
6023 _next_ordinal_to_read += 1;
6024 if next_offset >= end_offset {
6025 return Ok(());
6026 }
6027
6028 while _next_ordinal_to_read < 2 {
6030 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6031 _next_ordinal_to_read += 1;
6032 next_offset += envelope_size;
6033 }
6034
6035 let next_out_of_line = decoder.next_out_of_line();
6036 let handles_before = decoder.remaining_handles();
6037 if let Some((inlined, num_bytes, num_handles)) =
6038 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6039 {
6040 let member_inline_size = <fidl::encoding::Vector<PacketStreamSupportedFormats, 64> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
6041 if inlined != (member_inline_size <= 4) {
6042 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6043 }
6044 let inner_offset;
6045 let mut inner_depth = depth.clone();
6046 if inlined {
6047 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6048 inner_offset = next_offset;
6049 } else {
6050 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6051 inner_depth.increment()?;
6052 }
6053 let val_ref =
6054 self.format_sets.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Vector<PacketStreamSupportedFormats, 64>, D));
6055 fidl::decode!(fidl::encoding::Vector<PacketStreamSupportedFormats, 64>, D, val_ref, decoder, inner_offset, inner_depth)?;
6056 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6057 {
6058 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6059 }
6060 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6061 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6062 }
6063 }
6064
6065 next_offset += envelope_size;
6066
6067 while next_offset < end_offset {
6069 _next_ordinal_to_read += 1;
6070 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6071 next_offset += envelope_size;
6072 }
6073
6074 Ok(())
6075 }
6076 }
6077
6078 impl ElementRingBufferFormatSet {
6079 #[inline(always)]
6080 fn max_ordinal_present(&self) -> u64 {
6081 if let Some(_) = self.format_sets {
6082 return 2;
6083 }
6084 if let Some(_) = self.element_id {
6085 return 1;
6086 }
6087 0
6088 }
6089 }
6090
6091 impl fidl::encoding::ValueTypeMarker for ElementRingBufferFormatSet {
6092 type Borrowed<'a> = &'a Self;
6093 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6094 value
6095 }
6096 }
6097
6098 unsafe impl fidl::encoding::TypeMarker for ElementRingBufferFormatSet {
6099 type Owned = Self;
6100
6101 #[inline(always)]
6102 fn inline_align(_context: fidl::encoding::Context) -> usize {
6103 8
6104 }
6105
6106 #[inline(always)]
6107 fn inline_size(_context: fidl::encoding::Context) -> usize {
6108 16
6109 }
6110 }
6111
6112 unsafe impl<D: fidl::encoding::ResourceDialect>
6113 fidl::encoding::Encode<ElementRingBufferFormatSet, D> for &ElementRingBufferFormatSet
6114 {
6115 unsafe fn encode(
6116 self,
6117 encoder: &mut fidl::encoding::Encoder<'_, D>,
6118 offset: usize,
6119 mut depth: fidl::encoding::Depth,
6120 ) -> fidl::Result<()> {
6121 encoder.debug_check_bounds::<ElementRingBufferFormatSet>(offset);
6122 let max_ordinal: u64 = self.max_ordinal_present();
6124 encoder.write_num(max_ordinal, offset);
6125 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
6126 if max_ordinal == 0 {
6128 return Ok(());
6129 }
6130 depth.increment()?;
6131 let envelope_size = 8;
6132 let bytes_len = max_ordinal as usize * envelope_size;
6133 #[allow(unused_variables)]
6134 let offset = encoder.out_of_line_offset(bytes_len);
6135 let mut _prev_end_offset: usize = 0;
6136 if 1 > max_ordinal {
6137 return Ok(());
6138 }
6139
6140 let cur_offset: usize = (1 - 1) * envelope_size;
6143
6144 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6146
6147 fidl::encoding::encode_in_envelope_optional::<u64, D>(
6152 self.element_id.as_ref().map(<u64 as fidl::encoding::ValueTypeMarker>::borrow),
6153 encoder,
6154 offset + cur_offset,
6155 depth,
6156 )?;
6157
6158 _prev_end_offset = cur_offset + envelope_size;
6159 if 2 > max_ordinal {
6160 return Ok(());
6161 }
6162
6163 let cur_offset: usize = (2 - 1) * envelope_size;
6166
6167 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6169
6170 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<PcmFormatSet, 64>, D>(
6175 self.format_sets.as_ref().map(<fidl::encoding::Vector<PcmFormatSet, 64> as fidl::encoding::ValueTypeMarker>::borrow),
6176 encoder, offset + cur_offset, depth
6177 )?;
6178
6179 _prev_end_offset = cur_offset + envelope_size;
6180
6181 Ok(())
6182 }
6183 }
6184
6185 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6186 for ElementRingBufferFormatSet
6187 {
6188 #[inline(always)]
6189 fn new_empty() -> Self {
6190 Self::default()
6191 }
6192
6193 unsafe fn decode(
6194 &mut self,
6195 decoder: &mut fidl::encoding::Decoder<'_, D>,
6196 offset: usize,
6197 mut depth: fidl::encoding::Depth,
6198 ) -> fidl::Result<()> {
6199 decoder.debug_check_bounds::<Self>(offset);
6200 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
6201 None => return Err(fidl::Error::NotNullable),
6202 Some(len) => len,
6203 };
6204 if len == 0 {
6206 return Ok(());
6207 };
6208 depth.increment()?;
6209 let envelope_size = 8;
6210 let bytes_len = len * envelope_size;
6211 let offset = decoder.out_of_line_offset(bytes_len)?;
6212 let mut _next_ordinal_to_read = 0;
6214 let mut next_offset = offset;
6215 let end_offset = offset + bytes_len;
6216 _next_ordinal_to_read += 1;
6217 if next_offset >= end_offset {
6218 return Ok(());
6219 }
6220
6221 while _next_ordinal_to_read < 1 {
6223 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6224 _next_ordinal_to_read += 1;
6225 next_offset += envelope_size;
6226 }
6227
6228 let next_out_of_line = decoder.next_out_of_line();
6229 let handles_before = decoder.remaining_handles();
6230 if let Some((inlined, num_bytes, num_handles)) =
6231 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6232 {
6233 let member_inline_size =
6234 <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
6235 if inlined != (member_inline_size <= 4) {
6236 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6237 }
6238 let inner_offset;
6239 let mut inner_depth = depth.clone();
6240 if inlined {
6241 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6242 inner_offset = next_offset;
6243 } else {
6244 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6245 inner_depth.increment()?;
6246 }
6247 let val_ref = self.element_id.get_or_insert_with(|| fidl::new_empty!(u64, D));
6248 fidl::decode!(u64, D, val_ref, decoder, inner_offset, inner_depth)?;
6249 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6250 {
6251 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6252 }
6253 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6254 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6255 }
6256 }
6257
6258 next_offset += envelope_size;
6259 _next_ordinal_to_read += 1;
6260 if next_offset >= end_offset {
6261 return Ok(());
6262 }
6263
6264 while _next_ordinal_to_read < 2 {
6266 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6267 _next_ordinal_to_read += 1;
6268 next_offset += envelope_size;
6269 }
6270
6271 let next_out_of_line = decoder.next_out_of_line();
6272 let handles_before = decoder.remaining_handles();
6273 if let Some((inlined, num_bytes, num_handles)) =
6274 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6275 {
6276 let member_inline_size = <fidl::encoding::Vector<PcmFormatSet, 64> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
6277 if inlined != (member_inline_size <= 4) {
6278 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6279 }
6280 let inner_offset;
6281 let mut inner_depth = depth.clone();
6282 if inlined {
6283 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6284 inner_offset = next_offset;
6285 } else {
6286 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6287 inner_depth.increment()?;
6288 }
6289 let val_ref = self.format_sets.get_or_insert_with(
6290 || fidl::new_empty!(fidl::encoding::Vector<PcmFormatSet, 64>, D),
6291 );
6292 fidl::decode!(fidl::encoding::Vector<PcmFormatSet, 64>, D, val_ref, decoder, inner_offset, inner_depth)?;
6293 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6294 {
6295 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6296 }
6297 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6298 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6299 }
6300 }
6301
6302 next_offset += envelope_size;
6303
6304 while next_offset < end_offset {
6306 _next_ordinal_to_read += 1;
6307 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6308 next_offset += envelope_size;
6309 }
6310
6311 Ok(())
6312 }
6313 }
6314
6315 impl Info {
6316 #[inline(always)]
6317 fn max_ordinal_present(&self) -> u64 {
6318 if let Some(_) = self.packet_stream_format_sets {
6319 return 14;
6320 }
6321 if let Some(_) = self.signal_processing_topologies {
6322 return 13;
6323 }
6324 if let Some(_) = self.signal_processing_elements {
6325 return 12;
6326 }
6327 if let Some(_) = self.clock_domain {
6328 return 11;
6329 }
6330 if let Some(_) = self.plug_detect_caps {
6331 return 10;
6332 }
6333 if let Some(_) = self.dai_format_sets {
6334 return 9;
6335 }
6336 if let Some(_) = self.ring_buffer_format_sets {
6337 return 8;
6338 }
6339 if let Some(_) = self.is_input {
6340 return 7;
6341 }
6342 if let Some(_) = self.unique_instance_id {
6343 return 6;
6344 }
6345 if let Some(_) = self.product {
6346 return 5;
6347 }
6348 if let Some(_) = self.manufacturer {
6349 return 4;
6350 }
6351 if let Some(_) = self.device_name {
6352 return 3;
6353 }
6354 if let Some(_) = self.device_type {
6355 return 2;
6356 }
6357 if let Some(_) = self.token_id {
6358 return 1;
6359 }
6360 0
6361 }
6362 }
6363
6364 impl fidl::encoding::ValueTypeMarker for Info {
6365 type Borrowed<'a> = &'a Self;
6366 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6367 value
6368 }
6369 }
6370
6371 unsafe impl fidl::encoding::TypeMarker for Info {
6372 type Owned = Self;
6373
6374 #[inline(always)]
6375 fn inline_align(_context: fidl::encoding::Context) -> usize {
6376 8
6377 }
6378
6379 #[inline(always)]
6380 fn inline_size(_context: fidl::encoding::Context) -> usize {
6381 16
6382 }
6383 }
6384
6385 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Info, D> for &Info {
6386 unsafe fn encode(
6387 self,
6388 encoder: &mut fidl::encoding::Encoder<'_, D>,
6389 offset: usize,
6390 mut depth: fidl::encoding::Depth,
6391 ) -> fidl::Result<()> {
6392 encoder.debug_check_bounds::<Info>(offset);
6393 let max_ordinal: u64 = self.max_ordinal_present();
6395 encoder.write_num(max_ordinal, offset);
6396 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
6397 if max_ordinal == 0 {
6399 return Ok(());
6400 }
6401 depth.increment()?;
6402 let envelope_size = 8;
6403 let bytes_len = max_ordinal as usize * envelope_size;
6404 #[allow(unused_variables)]
6405 let offset = encoder.out_of_line_offset(bytes_len);
6406 let mut _prev_end_offset: usize = 0;
6407 if 1 > max_ordinal {
6408 return Ok(());
6409 }
6410
6411 let cur_offset: usize = (1 - 1) * envelope_size;
6414
6415 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6417
6418 fidl::encoding::encode_in_envelope_optional::<u64, D>(
6423 self.token_id.as_ref().map(<u64 as fidl::encoding::ValueTypeMarker>::borrow),
6424 encoder,
6425 offset + cur_offset,
6426 depth,
6427 )?;
6428
6429 _prev_end_offset = cur_offset + envelope_size;
6430 if 2 > max_ordinal {
6431 return Ok(());
6432 }
6433
6434 let cur_offset: usize = (2 - 1) * envelope_size;
6437
6438 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6440
6441 fidl::encoding::encode_in_envelope_optional::<DeviceType, D>(
6446 self.device_type
6447 .as_ref()
6448 .map(<DeviceType as fidl::encoding::ValueTypeMarker>::borrow),
6449 encoder,
6450 offset + cur_offset,
6451 depth,
6452 )?;
6453
6454 _prev_end_offset = cur_offset + envelope_size;
6455 if 3 > max_ordinal {
6456 return Ok(());
6457 }
6458
6459 let cur_offset: usize = (3 - 1) * envelope_size;
6462
6463 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6465
6466 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::BoundedString<256>, D>(
6471 self.device_name.as_ref().map(
6472 <fidl::encoding::BoundedString<256> as fidl::encoding::ValueTypeMarker>::borrow,
6473 ),
6474 encoder,
6475 offset + cur_offset,
6476 depth,
6477 )?;
6478
6479 _prev_end_offset = cur_offset + envelope_size;
6480 if 4 > max_ordinal {
6481 return Ok(());
6482 }
6483
6484 let cur_offset: usize = (4 - 1) * envelope_size;
6487
6488 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6490
6491 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::BoundedString<256>, D>(
6496 self.manufacturer.as_ref().map(
6497 <fidl::encoding::BoundedString<256> as fidl::encoding::ValueTypeMarker>::borrow,
6498 ),
6499 encoder,
6500 offset + cur_offset,
6501 depth,
6502 )?;
6503
6504 _prev_end_offset = cur_offset + envelope_size;
6505 if 5 > max_ordinal {
6506 return Ok(());
6507 }
6508
6509 let cur_offset: usize = (5 - 1) * envelope_size;
6512
6513 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6515
6516 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::BoundedString<256>, D>(
6521 self.product.as_ref().map(
6522 <fidl::encoding::BoundedString<256> as fidl::encoding::ValueTypeMarker>::borrow,
6523 ),
6524 encoder,
6525 offset + cur_offset,
6526 depth,
6527 )?;
6528
6529 _prev_end_offset = cur_offset + envelope_size;
6530 if 6 > max_ordinal {
6531 return Ok(());
6532 }
6533
6534 let cur_offset: usize = (6 - 1) * envelope_size;
6537
6538 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6540
6541 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Array<u8, 16>, D>(
6546 self.unique_instance_id.as_ref().map(
6547 <fidl::encoding::Array<u8, 16> as fidl::encoding::ValueTypeMarker>::borrow,
6548 ),
6549 encoder,
6550 offset + cur_offset,
6551 depth,
6552 )?;
6553
6554 _prev_end_offset = cur_offset + envelope_size;
6555 if 7 > max_ordinal {
6556 return Ok(());
6557 }
6558
6559 let cur_offset: usize = (7 - 1) * envelope_size;
6562
6563 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6565
6566 fidl::encoding::encode_in_envelope_optional::<bool, D>(
6571 self.is_input.as_ref().map(<bool as fidl::encoding::ValueTypeMarker>::borrow),
6572 encoder,
6573 offset + cur_offset,
6574 depth,
6575 )?;
6576
6577 _prev_end_offset = cur_offset + envelope_size;
6578 if 8 > max_ordinal {
6579 return Ok(());
6580 }
6581
6582 let cur_offset: usize = (8 - 1) * envelope_size;
6585
6586 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6588
6589 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<ElementRingBufferFormatSet, 64>, D>(
6594 self.ring_buffer_format_sets.as_ref().map(<fidl::encoding::Vector<ElementRingBufferFormatSet, 64> as fidl::encoding::ValueTypeMarker>::borrow),
6595 encoder, offset + cur_offset, depth
6596 )?;
6597
6598 _prev_end_offset = cur_offset + envelope_size;
6599 if 9 > max_ordinal {
6600 return Ok(());
6601 }
6602
6603 let cur_offset: usize = (9 - 1) * envelope_size;
6606
6607 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6609
6610 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<ElementDaiFormatSet, 64>, D>(
6615 self.dai_format_sets.as_ref().map(<fidl::encoding::Vector<ElementDaiFormatSet, 64> as fidl::encoding::ValueTypeMarker>::borrow),
6616 encoder, offset + cur_offset, depth
6617 )?;
6618
6619 _prev_end_offset = cur_offset + envelope_size;
6620 if 10 > max_ordinal {
6621 return Ok(());
6622 }
6623
6624 let cur_offset: usize = (10 - 1) * envelope_size;
6627
6628 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6630
6631 fidl::encoding::encode_in_envelope_optional::<PlugDetectCapabilities, D>(
6636 self.plug_detect_caps
6637 .as_ref()
6638 .map(<PlugDetectCapabilities as fidl::encoding::ValueTypeMarker>::borrow),
6639 encoder,
6640 offset + cur_offset,
6641 depth,
6642 )?;
6643
6644 _prev_end_offset = cur_offset + envelope_size;
6645 if 11 > max_ordinal {
6646 return Ok(());
6647 }
6648
6649 let cur_offset: usize = (11 - 1) * envelope_size;
6652
6653 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6655
6656 fidl::encoding::encode_in_envelope_optional::<u32, D>(
6661 self.clock_domain.as_ref().map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
6662 encoder,
6663 offset + cur_offset,
6664 depth,
6665 )?;
6666
6667 _prev_end_offset = cur_offset + envelope_size;
6668 if 12 > max_ordinal {
6669 return Ok(());
6670 }
6671
6672 let cur_offset: usize = (12 - 1) * envelope_size;
6675
6676 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6678
6679 fidl::encoding::encode_in_envelope_optional::<
6684 fidl::encoding::Vector<
6685 fidl_fuchsia_hardware_audio_signalprocessing_common::Element,
6686 64,
6687 >,
6688 D,
6689 >(
6690 self.signal_processing_elements.as_ref().map(
6691 <fidl::encoding::Vector<
6692 fidl_fuchsia_hardware_audio_signalprocessing_common::Element,
6693 64,
6694 > as fidl::encoding::ValueTypeMarker>::borrow,
6695 ),
6696 encoder,
6697 offset + cur_offset,
6698 depth,
6699 )?;
6700
6701 _prev_end_offset = cur_offset + envelope_size;
6702 if 13 > max_ordinal {
6703 return Ok(());
6704 }
6705
6706 let cur_offset: usize = (13 - 1) * envelope_size;
6709
6710 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6712
6713 fidl::encoding::encode_in_envelope_optional::<
6718 fidl::encoding::Vector<
6719 fidl_fuchsia_hardware_audio_signalprocessing_common::Topology,
6720 64,
6721 >,
6722 D,
6723 >(
6724 self.signal_processing_topologies.as_ref().map(
6725 <fidl::encoding::Vector<
6726 fidl_fuchsia_hardware_audio_signalprocessing_common::Topology,
6727 64,
6728 > as fidl::encoding::ValueTypeMarker>::borrow,
6729 ),
6730 encoder,
6731 offset + cur_offset,
6732 depth,
6733 )?;
6734
6735 _prev_end_offset = cur_offset + envelope_size;
6736 if 14 > max_ordinal {
6737 return Ok(());
6738 }
6739
6740 let cur_offset: usize = (14 - 1) * envelope_size;
6743
6744 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6746
6747 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<ElementPacketStreamFormatSet, 64>, D>(
6752 self.packet_stream_format_sets.as_ref().map(<fidl::encoding::Vector<ElementPacketStreamFormatSet, 64> as fidl::encoding::ValueTypeMarker>::borrow),
6753 encoder, offset + cur_offset, depth
6754 )?;
6755
6756 _prev_end_offset = cur_offset + envelope_size;
6757
6758 Ok(())
6759 }
6760 }
6761
6762 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Info {
6763 #[inline(always)]
6764 fn new_empty() -> Self {
6765 Self::default()
6766 }
6767
6768 unsafe fn decode(
6769 &mut self,
6770 decoder: &mut fidl::encoding::Decoder<'_, D>,
6771 offset: usize,
6772 mut depth: fidl::encoding::Depth,
6773 ) -> fidl::Result<()> {
6774 decoder.debug_check_bounds::<Self>(offset);
6775 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
6776 None => return Err(fidl::Error::NotNullable),
6777 Some(len) => len,
6778 };
6779 if len == 0 {
6781 return Ok(());
6782 };
6783 depth.increment()?;
6784 let envelope_size = 8;
6785 let bytes_len = len * envelope_size;
6786 let offset = decoder.out_of_line_offset(bytes_len)?;
6787 let mut _next_ordinal_to_read = 0;
6789 let mut next_offset = offset;
6790 let end_offset = offset + bytes_len;
6791 _next_ordinal_to_read += 1;
6792 if next_offset >= end_offset {
6793 return Ok(());
6794 }
6795
6796 while _next_ordinal_to_read < 1 {
6798 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6799 _next_ordinal_to_read += 1;
6800 next_offset += envelope_size;
6801 }
6802
6803 let next_out_of_line = decoder.next_out_of_line();
6804 let handles_before = decoder.remaining_handles();
6805 if let Some((inlined, num_bytes, num_handles)) =
6806 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6807 {
6808 let member_inline_size =
6809 <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
6810 if inlined != (member_inline_size <= 4) {
6811 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6812 }
6813 let inner_offset;
6814 let mut inner_depth = depth.clone();
6815 if inlined {
6816 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6817 inner_offset = next_offset;
6818 } else {
6819 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6820 inner_depth.increment()?;
6821 }
6822 let val_ref = self.token_id.get_or_insert_with(|| fidl::new_empty!(u64, D));
6823 fidl::decode!(u64, D, val_ref, decoder, inner_offset, inner_depth)?;
6824 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6825 {
6826 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6827 }
6828 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6829 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6830 }
6831 }
6832
6833 next_offset += envelope_size;
6834 _next_ordinal_to_read += 1;
6835 if next_offset >= end_offset {
6836 return Ok(());
6837 }
6838
6839 while _next_ordinal_to_read < 2 {
6841 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6842 _next_ordinal_to_read += 1;
6843 next_offset += envelope_size;
6844 }
6845
6846 let next_out_of_line = decoder.next_out_of_line();
6847 let handles_before = decoder.remaining_handles();
6848 if let Some((inlined, num_bytes, num_handles)) =
6849 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6850 {
6851 let member_inline_size =
6852 <DeviceType as fidl::encoding::TypeMarker>::inline_size(decoder.context);
6853 if inlined != (member_inline_size <= 4) {
6854 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6855 }
6856 let inner_offset;
6857 let mut inner_depth = depth.clone();
6858 if inlined {
6859 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6860 inner_offset = next_offset;
6861 } else {
6862 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6863 inner_depth.increment()?;
6864 }
6865 let val_ref =
6866 self.device_type.get_or_insert_with(|| fidl::new_empty!(DeviceType, D));
6867 fidl::decode!(DeviceType, D, val_ref, decoder, inner_offset, inner_depth)?;
6868 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6869 {
6870 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6871 }
6872 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6873 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6874 }
6875 }
6876
6877 next_offset += envelope_size;
6878 _next_ordinal_to_read += 1;
6879 if next_offset >= end_offset {
6880 return Ok(());
6881 }
6882
6883 while _next_ordinal_to_read < 3 {
6885 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6886 _next_ordinal_to_read += 1;
6887 next_offset += envelope_size;
6888 }
6889
6890 let next_out_of_line = decoder.next_out_of_line();
6891 let handles_before = decoder.remaining_handles();
6892 if let Some((inlined, num_bytes, num_handles)) =
6893 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6894 {
6895 let member_inline_size =
6896 <fidl::encoding::BoundedString<256> as fidl::encoding::TypeMarker>::inline_size(
6897 decoder.context,
6898 );
6899 if inlined != (member_inline_size <= 4) {
6900 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6901 }
6902 let inner_offset;
6903 let mut inner_depth = depth.clone();
6904 if inlined {
6905 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6906 inner_offset = next_offset;
6907 } else {
6908 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6909 inner_depth.increment()?;
6910 }
6911 let val_ref = self
6912 .device_name
6913 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::BoundedString<256>, D));
6914 fidl::decode!(
6915 fidl::encoding::BoundedString<256>,
6916 D,
6917 val_ref,
6918 decoder,
6919 inner_offset,
6920 inner_depth
6921 )?;
6922 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6923 {
6924 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6925 }
6926 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6927 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6928 }
6929 }
6930
6931 next_offset += envelope_size;
6932 _next_ordinal_to_read += 1;
6933 if next_offset >= end_offset {
6934 return Ok(());
6935 }
6936
6937 while _next_ordinal_to_read < 4 {
6939 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6940 _next_ordinal_to_read += 1;
6941 next_offset += envelope_size;
6942 }
6943
6944 let next_out_of_line = decoder.next_out_of_line();
6945 let handles_before = decoder.remaining_handles();
6946 if let Some((inlined, num_bytes, num_handles)) =
6947 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6948 {
6949 let member_inline_size =
6950 <fidl::encoding::BoundedString<256> as fidl::encoding::TypeMarker>::inline_size(
6951 decoder.context,
6952 );
6953 if inlined != (member_inline_size <= 4) {
6954 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6955 }
6956 let inner_offset;
6957 let mut inner_depth = depth.clone();
6958 if inlined {
6959 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6960 inner_offset = next_offset;
6961 } else {
6962 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6963 inner_depth.increment()?;
6964 }
6965 let val_ref = self
6966 .manufacturer
6967 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::BoundedString<256>, D));
6968 fidl::decode!(
6969 fidl::encoding::BoundedString<256>,
6970 D,
6971 val_ref,
6972 decoder,
6973 inner_offset,
6974 inner_depth
6975 )?;
6976 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6977 {
6978 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6979 }
6980 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6981 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6982 }
6983 }
6984
6985 next_offset += envelope_size;
6986 _next_ordinal_to_read += 1;
6987 if next_offset >= end_offset {
6988 return Ok(());
6989 }
6990
6991 while _next_ordinal_to_read < 5 {
6993 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6994 _next_ordinal_to_read += 1;
6995 next_offset += envelope_size;
6996 }
6997
6998 let next_out_of_line = decoder.next_out_of_line();
6999 let handles_before = decoder.remaining_handles();
7000 if let Some((inlined, num_bytes, num_handles)) =
7001 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7002 {
7003 let member_inline_size =
7004 <fidl::encoding::BoundedString<256> as fidl::encoding::TypeMarker>::inline_size(
7005 decoder.context,
7006 );
7007 if inlined != (member_inline_size <= 4) {
7008 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7009 }
7010 let inner_offset;
7011 let mut inner_depth = depth.clone();
7012 if inlined {
7013 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7014 inner_offset = next_offset;
7015 } else {
7016 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7017 inner_depth.increment()?;
7018 }
7019 let val_ref = self
7020 .product
7021 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::BoundedString<256>, D));
7022 fidl::decode!(
7023 fidl::encoding::BoundedString<256>,
7024 D,
7025 val_ref,
7026 decoder,
7027 inner_offset,
7028 inner_depth
7029 )?;
7030 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7031 {
7032 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7033 }
7034 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7035 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7036 }
7037 }
7038
7039 next_offset += envelope_size;
7040 _next_ordinal_to_read += 1;
7041 if next_offset >= end_offset {
7042 return Ok(());
7043 }
7044
7045 while _next_ordinal_to_read < 6 {
7047 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7048 _next_ordinal_to_read += 1;
7049 next_offset += envelope_size;
7050 }
7051
7052 let next_out_of_line = decoder.next_out_of_line();
7053 let handles_before = decoder.remaining_handles();
7054 if let Some((inlined, num_bytes, num_handles)) =
7055 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7056 {
7057 let member_inline_size =
7058 <fidl::encoding::Array<u8, 16> as fidl::encoding::TypeMarker>::inline_size(
7059 decoder.context,
7060 );
7061 if inlined != (member_inline_size <= 4) {
7062 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7063 }
7064 let inner_offset;
7065 let mut inner_depth = depth.clone();
7066 if inlined {
7067 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7068 inner_offset = next_offset;
7069 } else {
7070 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7071 inner_depth.increment()?;
7072 }
7073 let val_ref = self
7074 .unique_instance_id
7075 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Array<u8, 16>, D));
7076 fidl::decode!(fidl::encoding::Array<u8, 16>, D, val_ref, decoder, inner_offset, inner_depth)?;
7077 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7078 {
7079 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7080 }
7081 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7082 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7083 }
7084 }
7085
7086 next_offset += envelope_size;
7087 _next_ordinal_to_read += 1;
7088 if next_offset >= end_offset {
7089 return Ok(());
7090 }
7091
7092 while _next_ordinal_to_read < 7 {
7094 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7095 _next_ordinal_to_read += 1;
7096 next_offset += envelope_size;
7097 }
7098
7099 let next_out_of_line = decoder.next_out_of_line();
7100 let handles_before = decoder.remaining_handles();
7101 if let Some((inlined, num_bytes, num_handles)) =
7102 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7103 {
7104 let member_inline_size =
7105 <bool as fidl::encoding::TypeMarker>::inline_size(decoder.context);
7106 if inlined != (member_inline_size <= 4) {
7107 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7108 }
7109 let inner_offset;
7110 let mut inner_depth = depth.clone();
7111 if inlined {
7112 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7113 inner_offset = next_offset;
7114 } else {
7115 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7116 inner_depth.increment()?;
7117 }
7118 let val_ref = self.is_input.get_or_insert_with(|| fidl::new_empty!(bool, D));
7119 fidl::decode!(bool, D, val_ref, decoder, inner_offset, inner_depth)?;
7120 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7121 {
7122 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7123 }
7124 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7125 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7126 }
7127 }
7128
7129 next_offset += envelope_size;
7130 _next_ordinal_to_read += 1;
7131 if next_offset >= end_offset {
7132 return Ok(());
7133 }
7134
7135 while _next_ordinal_to_read < 8 {
7137 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7138 _next_ordinal_to_read += 1;
7139 next_offset += envelope_size;
7140 }
7141
7142 let next_out_of_line = decoder.next_out_of_line();
7143 let handles_before = decoder.remaining_handles();
7144 if let Some((inlined, num_bytes, num_handles)) =
7145 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7146 {
7147 let member_inline_size = <fidl::encoding::Vector<ElementRingBufferFormatSet, 64> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
7148 if inlined != (member_inline_size <= 4) {
7149 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7150 }
7151 let inner_offset;
7152 let mut inner_depth = depth.clone();
7153 if inlined {
7154 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7155 inner_offset = next_offset;
7156 } else {
7157 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7158 inner_depth.increment()?;
7159 }
7160 let val_ref = self.ring_buffer_format_sets.get_or_insert_with(
7161 || fidl::new_empty!(fidl::encoding::Vector<ElementRingBufferFormatSet, 64>, D),
7162 );
7163 fidl::decode!(fidl::encoding::Vector<ElementRingBufferFormatSet, 64>, D, val_ref, decoder, inner_offset, inner_depth)?;
7164 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7165 {
7166 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7167 }
7168 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7169 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7170 }
7171 }
7172
7173 next_offset += envelope_size;
7174 _next_ordinal_to_read += 1;
7175 if next_offset >= end_offset {
7176 return Ok(());
7177 }
7178
7179 while _next_ordinal_to_read < 9 {
7181 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7182 _next_ordinal_to_read += 1;
7183 next_offset += envelope_size;
7184 }
7185
7186 let next_out_of_line = decoder.next_out_of_line();
7187 let handles_before = decoder.remaining_handles();
7188 if let Some((inlined, num_bytes, num_handles)) =
7189 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7190 {
7191 let member_inline_size = <fidl::encoding::Vector<ElementDaiFormatSet, 64> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
7192 if inlined != (member_inline_size <= 4) {
7193 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7194 }
7195 let inner_offset;
7196 let mut inner_depth = depth.clone();
7197 if inlined {
7198 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7199 inner_offset = next_offset;
7200 } else {
7201 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7202 inner_depth.increment()?;
7203 }
7204 let val_ref = self.dai_format_sets.get_or_insert_with(
7205 || fidl::new_empty!(fidl::encoding::Vector<ElementDaiFormatSet, 64>, D),
7206 );
7207 fidl::decode!(fidl::encoding::Vector<ElementDaiFormatSet, 64>, D, val_ref, decoder, inner_offset, inner_depth)?;
7208 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7209 {
7210 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7211 }
7212 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7213 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7214 }
7215 }
7216
7217 next_offset += envelope_size;
7218 _next_ordinal_to_read += 1;
7219 if next_offset >= end_offset {
7220 return Ok(());
7221 }
7222
7223 while _next_ordinal_to_read < 10 {
7225 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7226 _next_ordinal_to_read += 1;
7227 next_offset += envelope_size;
7228 }
7229
7230 let next_out_of_line = decoder.next_out_of_line();
7231 let handles_before = decoder.remaining_handles();
7232 if let Some((inlined, num_bytes, num_handles)) =
7233 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7234 {
7235 let member_inline_size =
7236 <PlugDetectCapabilities as fidl::encoding::TypeMarker>::inline_size(
7237 decoder.context,
7238 );
7239 if inlined != (member_inline_size <= 4) {
7240 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7241 }
7242 let inner_offset;
7243 let mut inner_depth = depth.clone();
7244 if inlined {
7245 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7246 inner_offset = next_offset;
7247 } else {
7248 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7249 inner_depth.increment()?;
7250 }
7251 let val_ref = self
7252 .plug_detect_caps
7253 .get_or_insert_with(|| fidl::new_empty!(PlugDetectCapabilities, D));
7254 fidl::decode!(
7255 PlugDetectCapabilities,
7256 D,
7257 val_ref,
7258 decoder,
7259 inner_offset,
7260 inner_depth
7261 )?;
7262 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7263 {
7264 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7265 }
7266 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7267 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7268 }
7269 }
7270
7271 next_offset += envelope_size;
7272 _next_ordinal_to_read += 1;
7273 if next_offset >= end_offset {
7274 return Ok(());
7275 }
7276
7277 while _next_ordinal_to_read < 11 {
7279 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7280 _next_ordinal_to_read += 1;
7281 next_offset += envelope_size;
7282 }
7283
7284 let next_out_of_line = decoder.next_out_of_line();
7285 let handles_before = decoder.remaining_handles();
7286 if let Some((inlined, num_bytes, num_handles)) =
7287 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7288 {
7289 let member_inline_size =
7290 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
7291 if inlined != (member_inline_size <= 4) {
7292 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7293 }
7294 let inner_offset;
7295 let mut inner_depth = depth.clone();
7296 if inlined {
7297 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7298 inner_offset = next_offset;
7299 } else {
7300 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7301 inner_depth.increment()?;
7302 }
7303 let val_ref = self.clock_domain.get_or_insert_with(|| fidl::new_empty!(u32, D));
7304 fidl::decode!(u32, D, val_ref, decoder, inner_offset, inner_depth)?;
7305 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7306 {
7307 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7308 }
7309 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7310 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7311 }
7312 }
7313
7314 next_offset += envelope_size;
7315 _next_ordinal_to_read += 1;
7316 if next_offset >= end_offset {
7317 return Ok(());
7318 }
7319
7320 while _next_ordinal_to_read < 12 {
7322 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7323 _next_ordinal_to_read += 1;
7324 next_offset += envelope_size;
7325 }
7326
7327 let next_out_of_line = decoder.next_out_of_line();
7328 let handles_before = decoder.remaining_handles();
7329 if let Some((inlined, num_bytes, num_handles)) =
7330 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7331 {
7332 let member_inline_size = <fidl::encoding::Vector<
7333 fidl_fuchsia_hardware_audio_signalprocessing_common::Element,
7334 64,
7335 > as fidl::encoding::TypeMarker>::inline_size(
7336 decoder.context
7337 );
7338 if inlined != (member_inline_size <= 4) {
7339 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7340 }
7341 let inner_offset;
7342 let mut inner_depth = depth.clone();
7343 if inlined {
7344 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7345 inner_offset = next_offset;
7346 } else {
7347 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7348 inner_depth.increment()?;
7349 }
7350 let val_ref =
7351 self.signal_processing_elements.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Vector<fidl_fuchsia_hardware_audio_signalprocessing_common::Element, 64>, D));
7352 fidl::decode!(fidl::encoding::Vector<fidl_fuchsia_hardware_audio_signalprocessing_common::Element, 64>, D, val_ref, decoder, inner_offset, inner_depth)?;
7353 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7354 {
7355 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7356 }
7357 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7358 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7359 }
7360 }
7361
7362 next_offset += envelope_size;
7363 _next_ordinal_to_read += 1;
7364 if next_offset >= end_offset {
7365 return Ok(());
7366 }
7367
7368 while _next_ordinal_to_read < 13 {
7370 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7371 _next_ordinal_to_read += 1;
7372 next_offset += envelope_size;
7373 }
7374
7375 let next_out_of_line = decoder.next_out_of_line();
7376 let handles_before = decoder.remaining_handles();
7377 if let Some((inlined, num_bytes, num_handles)) =
7378 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7379 {
7380 let member_inline_size = <fidl::encoding::Vector<
7381 fidl_fuchsia_hardware_audio_signalprocessing_common::Topology,
7382 64,
7383 > as fidl::encoding::TypeMarker>::inline_size(
7384 decoder.context
7385 );
7386 if inlined != (member_inline_size <= 4) {
7387 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7388 }
7389 let inner_offset;
7390 let mut inner_depth = depth.clone();
7391 if inlined {
7392 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7393 inner_offset = next_offset;
7394 } else {
7395 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7396 inner_depth.increment()?;
7397 }
7398 let val_ref =
7399 self.signal_processing_topologies.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Vector<fidl_fuchsia_hardware_audio_signalprocessing_common::Topology, 64>, D));
7400 fidl::decode!(fidl::encoding::Vector<fidl_fuchsia_hardware_audio_signalprocessing_common::Topology, 64>, D, val_ref, decoder, inner_offset, inner_depth)?;
7401 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7402 {
7403 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7404 }
7405 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7406 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7407 }
7408 }
7409
7410 next_offset += envelope_size;
7411 _next_ordinal_to_read += 1;
7412 if next_offset >= end_offset {
7413 return Ok(());
7414 }
7415
7416 while _next_ordinal_to_read < 14 {
7418 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7419 _next_ordinal_to_read += 1;
7420 next_offset += envelope_size;
7421 }
7422
7423 let next_out_of_line = decoder.next_out_of_line();
7424 let handles_before = decoder.remaining_handles();
7425 if let Some((inlined, num_bytes, num_handles)) =
7426 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7427 {
7428 let member_inline_size = <fidl::encoding::Vector<ElementPacketStreamFormatSet, 64> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
7429 if inlined != (member_inline_size <= 4) {
7430 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7431 }
7432 let inner_offset;
7433 let mut inner_depth = depth.clone();
7434 if inlined {
7435 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7436 inner_offset = next_offset;
7437 } else {
7438 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7439 inner_depth.increment()?;
7440 }
7441 let val_ref =
7442 self.packet_stream_format_sets.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Vector<ElementPacketStreamFormatSet, 64>, D));
7443 fidl::decode!(fidl::encoding::Vector<ElementPacketStreamFormatSet, 64>, D, val_ref, decoder, inner_offset, inner_depth)?;
7444 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7445 {
7446 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7447 }
7448 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7449 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7450 }
7451 }
7452
7453 next_offset += envelope_size;
7454
7455 while next_offset < end_offset {
7457 _next_ordinal_to_read += 1;
7458 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7459 next_offset += envelope_size;
7460 }
7461
7462 Ok(())
7463 }
7464 }
7465
7466 impl ObserverWatchPlugStateResponse {
7467 #[inline(always)]
7468 fn max_ordinal_present(&self) -> u64 {
7469 if let Some(_) = self.plug_time {
7470 return 2;
7471 }
7472 if let Some(_) = self.state {
7473 return 1;
7474 }
7475 0
7476 }
7477 }
7478
7479 impl fidl::encoding::ValueTypeMarker for ObserverWatchPlugStateResponse {
7480 type Borrowed<'a> = &'a Self;
7481 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7482 value
7483 }
7484 }
7485
7486 unsafe impl fidl::encoding::TypeMarker for ObserverWatchPlugStateResponse {
7487 type Owned = Self;
7488
7489 #[inline(always)]
7490 fn inline_align(_context: fidl::encoding::Context) -> usize {
7491 8
7492 }
7493
7494 #[inline(always)]
7495 fn inline_size(_context: fidl::encoding::Context) -> usize {
7496 16
7497 }
7498 }
7499
7500 unsafe impl<D: fidl::encoding::ResourceDialect>
7501 fidl::encoding::Encode<ObserverWatchPlugStateResponse, D>
7502 for &ObserverWatchPlugStateResponse
7503 {
7504 unsafe fn encode(
7505 self,
7506 encoder: &mut fidl::encoding::Encoder<'_, D>,
7507 offset: usize,
7508 mut depth: fidl::encoding::Depth,
7509 ) -> fidl::Result<()> {
7510 encoder.debug_check_bounds::<ObserverWatchPlugStateResponse>(offset);
7511 let max_ordinal: u64 = self.max_ordinal_present();
7513 encoder.write_num(max_ordinal, offset);
7514 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
7515 if max_ordinal == 0 {
7517 return Ok(());
7518 }
7519 depth.increment()?;
7520 let envelope_size = 8;
7521 let bytes_len = max_ordinal as usize * envelope_size;
7522 #[allow(unused_variables)]
7523 let offset = encoder.out_of_line_offset(bytes_len);
7524 let mut _prev_end_offset: usize = 0;
7525 if 1 > max_ordinal {
7526 return Ok(());
7527 }
7528
7529 let cur_offset: usize = (1 - 1) * envelope_size;
7532
7533 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
7535
7536 fidl::encoding::encode_in_envelope_optional::<PlugState, D>(
7541 self.state.as_ref().map(<PlugState as fidl::encoding::ValueTypeMarker>::borrow),
7542 encoder,
7543 offset + cur_offset,
7544 depth,
7545 )?;
7546
7547 _prev_end_offset = cur_offset + envelope_size;
7548 if 2 > max_ordinal {
7549 return Ok(());
7550 }
7551
7552 let cur_offset: usize = (2 - 1) * envelope_size;
7555
7556 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
7558
7559 fidl::encoding::encode_in_envelope_optional::<i64, D>(
7564 self.plug_time.as_ref().map(<i64 as fidl::encoding::ValueTypeMarker>::borrow),
7565 encoder,
7566 offset + cur_offset,
7567 depth,
7568 )?;
7569
7570 _prev_end_offset = cur_offset + envelope_size;
7571
7572 Ok(())
7573 }
7574 }
7575
7576 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7577 for ObserverWatchPlugStateResponse
7578 {
7579 #[inline(always)]
7580 fn new_empty() -> Self {
7581 Self::default()
7582 }
7583
7584 unsafe fn decode(
7585 &mut self,
7586 decoder: &mut fidl::encoding::Decoder<'_, D>,
7587 offset: usize,
7588 mut depth: fidl::encoding::Depth,
7589 ) -> fidl::Result<()> {
7590 decoder.debug_check_bounds::<Self>(offset);
7591 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
7592 None => return Err(fidl::Error::NotNullable),
7593 Some(len) => len,
7594 };
7595 if len == 0 {
7597 return Ok(());
7598 };
7599 depth.increment()?;
7600 let envelope_size = 8;
7601 let bytes_len = len * envelope_size;
7602 let offset = decoder.out_of_line_offset(bytes_len)?;
7603 let mut _next_ordinal_to_read = 0;
7605 let mut next_offset = offset;
7606 let end_offset = offset + bytes_len;
7607 _next_ordinal_to_read += 1;
7608 if next_offset >= end_offset {
7609 return Ok(());
7610 }
7611
7612 while _next_ordinal_to_read < 1 {
7614 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7615 _next_ordinal_to_read += 1;
7616 next_offset += envelope_size;
7617 }
7618
7619 let next_out_of_line = decoder.next_out_of_line();
7620 let handles_before = decoder.remaining_handles();
7621 if let Some((inlined, num_bytes, num_handles)) =
7622 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7623 {
7624 let member_inline_size =
7625 <PlugState as fidl::encoding::TypeMarker>::inline_size(decoder.context);
7626 if inlined != (member_inline_size <= 4) {
7627 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7628 }
7629 let inner_offset;
7630 let mut inner_depth = depth.clone();
7631 if inlined {
7632 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7633 inner_offset = next_offset;
7634 } else {
7635 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7636 inner_depth.increment()?;
7637 }
7638 let val_ref = self.state.get_or_insert_with(|| fidl::new_empty!(PlugState, D));
7639 fidl::decode!(PlugState, D, val_ref, decoder, inner_offset, inner_depth)?;
7640 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7641 {
7642 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7643 }
7644 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7645 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7646 }
7647 }
7648
7649 next_offset += envelope_size;
7650 _next_ordinal_to_read += 1;
7651 if next_offset >= end_offset {
7652 return Ok(());
7653 }
7654
7655 while _next_ordinal_to_read < 2 {
7657 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7658 _next_ordinal_to_read += 1;
7659 next_offset += envelope_size;
7660 }
7661
7662 let next_out_of_line = decoder.next_out_of_line();
7663 let handles_before = decoder.remaining_handles();
7664 if let Some((inlined, num_bytes, num_handles)) =
7665 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7666 {
7667 let member_inline_size =
7668 <i64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
7669 if inlined != (member_inline_size <= 4) {
7670 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7671 }
7672 let inner_offset;
7673 let mut inner_depth = depth.clone();
7674 if inlined {
7675 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7676 inner_offset = next_offset;
7677 } else {
7678 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7679 inner_depth.increment()?;
7680 }
7681 let val_ref = self.plug_time.get_or_insert_with(|| fidl::new_empty!(i64, D));
7682 fidl::decode!(i64, D, val_ref, decoder, inner_offset, inner_depth)?;
7683 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7684 {
7685 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7686 }
7687 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7688 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7689 }
7690 }
7691
7692 next_offset += envelope_size;
7693
7694 while next_offset < end_offset {
7696 _next_ordinal_to_read += 1;
7697 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7698 next_offset += envelope_size;
7699 }
7700
7701 Ok(())
7702 }
7703 }
7704
7705 impl PacketStreamStartRequest {
7706 #[inline(always)]
7707 fn max_ordinal_present(&self) -> u64 {
7708 0
7709 }
7710 }
7711
7712 impl fidl::encoding::ValueTypeMarker for PacketStreamStartRequest {
7713 type Borrowed<'a> = &'a Self;
7714 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7715 value
7716 }
7717 }
7718
7719 unsafe impl fidl::encoding::TypeMarker for PacketStreamStartRequest {
7720 type Owned = Self;
7721
7722 #[inline(always)]
7723 fn inline_align(_context: fidl::encoding::Context) -> usize {
7724 8
7725 }
7726
7727 #[inline(always)]
7728 fn inline_size(_context: fidl::encoding::Context) -> usize {
7729 16
7730 }
7731 }
7732
7733 unsafe impl<D: fidl::encoding::ResourceDialect>
7734 fidl::encoding::Encode<PacketStreamStartRequest, D> for &PacketStreamStartRequest
7735 {
7736 unsafe fn encode(
7737 self,
7738 encoder: &mut fidl::encoding::Encoder<'_, D>,
7739 offset: usize,
7740 mut depth: fidl::encoding::Depth,
7741 ) -> fidl::Result<()> {
7742 encoder.debug_check_bounds::<PacketStreamStartRequest>(offset);
7743 let max_ordinal: u64 = self.max_ordinal_present();
7745 encoder.write_num(max_ordinal, offset);
7746 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
7747 if max_ordinal == 0 {
7749 return Ok(());
7750 }
7751 depth.increment()?;
7752 let envelope_size = 8;
7753 let bytes_len = max_ordinal as usize * envelope_size;
7754 #[allow(unused_variables)]
7755 let offset = encoder.out_of_line_offset(bytes_len);
7756 let mut _prev_end_offset: usize = 0;
7757
7758 Ok(())
7759 }
7760 }
7761
7762 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7763 for PacketStreamStartRequest
7764 {
7765 #[inline(always)]
7766 fn new_empty() -> Self {
7767 Self::default()
7768 }
7769
7770 unsafe fn decode(
7771 &mut self,
7772 decoder: &mut fidl::encoding::Decoder<'_, D>,
7773 offset: usize,
7774 mut depth: fidl::encoding::Depth,
7775 ) -> fidl::Result<()> {
7776 decoder.debug_check_bounds::<Self>(offset);
7777 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
7778 None => return Err(fidl::Error::NotNullable),
7779 Some(len) => len,
7780 };
7781 if len == 0 {
7783 return Ok(());
7784 };
7785 depth.increment()?;
7786 let envelope_size = 8;
7787 let bytes_len = len * envelope_size;
7788 let offset = decoder.out_of_line_offset(bytes_len)?;
7789 let mut _next_ordinal_to_read = 0;
7791 let mut next_offset = offset;
7792 let end_offset = offset + bytes_len;
7793
7794 while next_offset < end_offset {
7796 _next_ordinal_to_read += 1;
7797 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7798 next_offset += envelope_size;
7799 }
7800
7801 Ok(())
7802 }
7803 }
7804
7805 impl PacketStreamStopRequest {
7806 #[inline(always)]
7807 fn max_ordinal_present(&self) -> u64 {
7808 0
7809 }
7810 }
7811
7812 impl fidl::encoding::ValueTypeMarker for PacketStreamStopRequest {
7813 type Borrowed<'a> = &'a Self;
7814 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7815 value
7816 }
7817 }
7818
7819 unsafe impl fidl::encoding::TypeMarker for PacketStreamStopRequest {
7820 type Owned = Self;
7821
7822 #[inline(always)]
7823 fn inline_align(_context: fidl::encoding::Context) -> usize {
7824 8
7825 }
7826
7827 #[inline(always)]
7828 fn inline_size(_context: fidl::encoding::Context) -> usize {
7829 16
7830 }
7831 }
7832
7833 unsafe impl<D: fidl::encoding::ResourceDialect>
7834 fidl::encoding::Encode<PacketStreamStopRequest, D> for &PacketStreamStopRequest
7835 {
7836 unsafe fn encode(
7837 self,
7838 encoder: &mut fidl::encoding::Encoder<'_, D>,
7839 offset: usize,
7840 mut depth: fidl::encoding::Depth,
7841 ) -> fidl::Result<()> {
7842 encoder.debug_check_bounds::<PacketStreamStopRequest>(offset);
7843 let max_ordinal: u64 = self.max_ordinal_present();
7845 encoder.write_num(max_ordinal, offset);
7846 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
7847 if max_ordinal == 0 {
7849 return Ok(());
7850 }
7851 depth.increment()?;
7852 let envelope_size = 8;
7853 let bytes_len = max_ordinal as usize * envelope_size;
7854 #[allow(unused_variables)]
7855 let offset = encoder.out_of_line_offset(bytes_len);
7856 let mut _prev_end_offset: usize = 0;
7857
7858 Ok(())
7859 }
7860 }
7861
7862 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7863 for PacketStreamStopRequest
7864 {
7865 #[inline(always)]
7866 fn new_empty() -> Self {
7867 Self::default()
7868 }
7869
7870 unsafe fn decode(
7871 &mut self,
7872 decoder: &mut fidl::encoding::Decoder<'_, D>,
7873 offset: usize,
7874 mut depth: fidl::encoding::Depth,
7875 ) -> fidl::Result<()> {
7876 decoder.debug_check_bounds::<Self>(offset);
7877 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
7878 None => return Err(fidl::Error::NotNullable),
7879 Some(len) => len,
7880 };
7881 if len == 0 {
7883 return Ok(());
7884 };
7885 depth.increment()?;
7886 let envelope_size = 8;
7887 let bytes_len = len * envelope_size;
7888 let offset = decoder.out_of_line_offset(bytes_len)?;
7889 let mut _next_ordinal_to_read = 0;
7891 let mut next_offset = offset;
7892 let end_offset = offset + bytes_len;
7893
7894 while next_offset < end_offset {
7896 _next_ordinal_to_read += 1;
7897 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7898 next_offset += envelope_size;
7899 }
7900
7901 Ok(())
7902 }
7903 }
7904
7905 impl PacketStreamStartResponse {
7906 #[inline(always)]
7907 fn max_ordinal_present(&self) -> u64 {
7908 0
7909 }
7910 }
7911
7912 impl fidl::encoding::ValueTypeMarker for PacketStreamStartResponse {
7913 type Borrowed<'a> = &'a Self;
7914 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7915 value
7916 }
7917 }
7918
7919 unsafe impl fidl::encoding::TypeMarker for PacketStreamStartResponse {
7920 type Owned = Self;
7921
7922 #[inline(always)]
7923 fn inline_align(_context: fidl::encoding::Context) -> usize {
7924 8
7925 }
7926
7927 #[inline(always)]
7928 fn inline_size(_context: fidl::encoding::Context) -> usize {
7929 16
7930 }
7931 }
7932
7933 unsafe impl<D: fidl::encoding::ResourceDialect>
7934 fidl::encoding::Encode<PacketStreamStartResponse, D> for &PacketStreamStartResponse
7935 {
7936 unsafe fn encode(
7937 self,
7938 encoder: &mut fidl::encoding::Encoder<'_, D>,
7939 offset: usize,
7940 mut depth: fidl::encoding::Depth,
7941 ) -> fidl::Result<()> {
7942 encoder.debug_check_bounds::<PacketStreamStartResponse>(offset);
7943 let max_ordinal: u64 = self.max_ordinal_present();
7945 encoder.write_num(max_ordinal, offset);
7946 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
7947 if max_ordinal == 0 {
7949 return Ok(());
7950 }
7951 depth.increment()?;
7952 let envelope_size = 8;
7953 let bytes_len = max_ordinal as usize * envelope_size;
7954 #[allow(unused_variables)]
7955 let offset = encoder.out_of_line_offset(bytes_len);
7956 let mut _prev_end_offset: usize = 0;
7957
7958 Ok(())
7959 }
7960 }
7961
7962 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7963 for PacketStreamStartResponse
7964 {
7965 #[inline(always)]
7966 fn new_empty() -> Self {
7967 Self::default()
7968 }
7969
7970 unsafe fn decode(
7971 &mut self,
7972 decoder: &mut fidl::encoding::Decoder<'_, D>,
7973 offset: usize,
7974 mut depth: fidl::encoding::Depth,
7975 ) -> fidl::Result<()> {
7976 decoder.debug_check_bounds::<Self>(offset);
7977 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
7978 None => return Err(fidl::Error::NotNullable),
7979 Some(len) => len,
7980 };
7981 if len == 0 {
7983 return Ok(());
7984 };
7985 depth.increment()?;
7986 let envelope_size = 8;
7987 let bytes_len = len * envelope_size;
7988 let offset = decoder.out_of_line_offset(bytes_len)?;
7989 let mut _next_ordinal_to_read = 0;
7991 let mut next_offset = offset;
7992 let end_offset = offset + bytes_len;
7993
7994 while next_offset < end_offset {
7996 _next_ordinal_to_read += 1;
7997 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7998 next_offset += envelope_size;
7999 }
8000
8001 Ok(())
8002 }
8003 }
8004
8005 impl PacketStreamStopResponse {
8006 #[inline(always)]
8007 fn max_ordinal_present(&self) -> u64 {
8008 0
8009 }
8010 }
8011
8012 impl fidl::encoding::ValueTypeMarker for PacketStreamStopResponse {
8013 type Borrowed<'a> = &'a Self;
8014 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8015 value
8016 }
8017 }
8018
8019 unsafe impl fidl::encoding::TypeMarker for PacketStreamStopResponse {
8020 type Owned = Self;
8021
8022 #[inline(always)]
8023 fn inline_align(_context: fidl::encoding::Context) -> usize {
8024 8
8025 }
8026
8027 #[inline(always)]
8028 fn inline_size(_context: fidl::encoding::Context) -> usize {
8029 16
8030 }
8031 }
8032
8033 unsafe impl<D: fidl::encoding::ResourceDialect>
8034 fidl::encoding::Encode<PacketStreamStopResponse, D> for &PacketStreamStopResponse
8035 {
8036 unsafe fn encode(
8037 self,
8038 encoder: &mut fidl::encoding::Encoder<'_, D>,
8039 offset: usize,
8040 mut depth: fidl::encoding::Depth,
8041 ) -> fidl::Result<()> {
8042 encoder.debug_check_bounds::<PacketStreamStopResponse>(offset);
8043 let max_ordinal: u64 = self.max_ordinal_present();
8045 encoder.write_num(max_ordinal, offset);
8046 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
8047 if max_ordinal == 0 {
8049 return Ok(());
8050 }
8051 depth.increment()?;
8052 let envelope_size = 8;
8053 let bytes_len = max_ordinal as usize * envelope_size;
8054 #[allow(unused_variables)]
8055 let offset = encoder.out_of_line_offset(bytes_len);
8056 let mut _prev_end_offset: usize = 0;
8057
8058 Ok(())
8059 }
8060 }
8061
8062 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8063 for PacketStreamStopResponse
8064 {
8065 #[inline(always)]
8066 fn new_empty() -> Self {
8067 Self::default()
8068 }
8069
8070 unsafe fn decode(
8071 &mut self,
8072 decoder: &mut fidl::encoding::Decoder<'_, D>,
8073 offset: usize,
8074 mut depth: fidl::encoding::Depth,
8075 ) -> fidl::Result<()> {
8076 decoder.debug_check_bounds::<Self>(offset);
8077 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
8078 None => return Err(fidl::Error::NotNullable),
8079 Some(len) => len,
8080 };
8081 if len == 0 {
8083 return Ok(());
8084 };
8085 depth.increment()?;
8086 let envelope_size = 8;
8087 let bytes_len = len * envelope_size;
8088 let offset = decoder.out_of_line_offset(bytes_len)?;
8089 let mut _next_ordinal_to_read = 0;
8091 let mut next_offset = offset;
8092 let end_offset = offset + bytes_len;
8093
8094 while next_offset < end_offset {
8096 _next_ordinal_to_read += 1;
8097 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
8098 next_offset += envelope_size;
8099 }
8100
8101 Ok(())
8102 }
8103 }
8104
8105 impl PcmFormatSet {
8106 #[inline(always)]
8107 fn max_ordinal_present(&self) -> u64 {
8108 if let Some(_) = self.frame_rates {
8109 return 3;
8110 }
8111 if let Some(_) = self.sample_types {
8112 return 2;
8113 }
8114 if let Some(_) = self.channel_sets {
8115 return 1;
8116 }
8117 0
8118 }
8119 }
8120
8121 impl fidl::encoding::ValueTypeMarker for PcmFormatSet {
8122 type Borrowed<'a> = &'a Self;
8123 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8124 value
8125 }
8126 }
8127
8128 unsafe impl fidl::encoding::TypeMarker for PcmFormatSet {
8129 type Owned = Self;
8130
8131 #[inline(always)]
8132 fn inline_align(_context: fidl::encoding::Context) -> usize {
8133 8
8134 }
8135
8136 #[inline(always)]
8137 fn inline_size(_context: fidl::encoding::Context) -> usize {
8138 16
8139 }
8140 }
8141
8142 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<PcmFormatSet, D>
8143 for &PcmFormatSet
8144 {
8145 unsafe fn encode(
8146 self,
8147 encoder: &mut fidl::encoding::Encoder<'_, D>,
8148 offset: usize,
8149 mut depth: fidl::encoding::Depth,
8150 ) -> fidl::Result<()> {
8151 encoder.debug_check_bounds::<PcmFormatSet>(offset);
8152 let max_ordinal: u64 = self.max_ordinal_present();
8154 encoder.write_num(max_ordinal, offset);
8155 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
8156 if max_ordinal == 0 {
8158 return Ok(());
8159 }
8160 depth.increment()?;
8161 let envelope_size = 8;
8162 let bytes_len = max_ordinal as usize * envelope_size;
8163 #[allow(unused_variables)]
8164 let offset = encoder.out_of_line_offset(bytes_len);
8165 let mut _prev_end_offset: usize = 0;
8166 if 1 > max_ordinal {
8167 return Ok(());
8168 }
8169
8170 let cur_offset: usize = (1 - 1) * envelope_size;
8173
8174 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
8176
8177 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<ChannelSet, 64>, D>(
8182 self.channel_sets.as_ref().map(<fidl::encoding::Vector<ChannelSet, 64> as fidl::encoding::ValueTypeMarker>::borrow),
8183 encoder, offset + cur_offset, depth
8184 )?;
8185
8186 _prev_end_offset = cur_offset + envelope_size;
8187 if 2 > max_ordinal {
8188 return Ok(());
8189 }
8190
8191 let cur_offset: usize = (2 - 1) * envelope_size;
8194
8195 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
8197
8198 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<fidl_fuchsia_audio_common::SampleType, 32>, D>(
8203 self.sample_types.as_ref().map(<fidl::encoding::Vector<fidl_fuchsia_audio_common::SampleType, 32> as fidl::encoding::ValueTypeMarker>::borrow),
8204 encoder, offset + cur_offset, depth
8205 )?;
8206
8207 _prev_end_offset = cur_offset + envelope_size;
8208 if 3 > max_ordinal {
8209 return Ok(());
8210 }
8211
8212 let cur_offset: usize = (3 - 1) * envelope_size;
8215
8216 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
8218
8219 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<u32, 64>, D>(
8224 self.frame_rates.as_ref().map(
8225 <fidl::encoding::Vector<u32, 64> as fidl::encoding::ValueTypeMarker>::borrow,
8226 ),
8227 encoder,
8228 offset + cur_offset,
8229 depth,
8230 )?;
8231
8232 _prev_end_offset = cur_offset + envelope_size;
8233
8234 Ok(())
8235 }
8236 }
8237
8238 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for PcmFormatSet {
8239 #[inline(always)]
8240 fn new_empty() -> Self {
8241 Self::default()
8242 }
8243
8244 unsafe fn decode(
8245 &mut self,
8246 decoder: &mut fidl::encoding::Decoder<'_, D>,
8247 offset: usize,
8248 mut depth: fidl::encoding::Depth,
8249 ) -> fidl::Result<()> {
8250 decoder.debug_check_bounds::<Self>(offset);
8251 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
8252 None => return Err(fidl::Error::NotNullable),
8253 Some(len) => len,
8254 };
8255 if len == 0 {
8257 return Ok(());
8258 };
8259 depth.increment()?;
8260 let envelope_size = 8;
8261 let bytes_len = len * envelope_size;
8262 let offset = decoder.out_of_line_offset(bytes_len)?;
8263 let mut _next_ordinal_to_read = 0;
8265 let mut next_offset = offset;
8266 let end_offset = offset + bytes_len;
8267 _next_ordinal_to_read += 1;
8268 if next_offset >= end_offset {
8269 return Ok(());
8270 }
8271
8272 while _next_ordinal_to_read < 1 {
8274 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
8275 _next_ordinal_to_read += 1;
8276 next_offset += envelope_size;
8277 }
8278
8279 let next_out_of_line = decoder.next_out_of_line();
8280 let handles_before = decoder.remaining_handles();
8281 if let Some((inlined, num_bytes, num_handles)) =
8282 fidl::encoding::decode_envelope_header(decoder, next_offset)?
8283 {
8284 let member_inline_size = <fidl::encoding::Vector<ChannelSet, 64> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
8285 if inlined != (member_inline_size <= 4) {
8286 return Err(fidl::Error::InvalidInlineBitInEnvelope);
8287 }
8288 let inner_offset;
8289 let mut inner_depth = depth.clone();
8290 if inlined {
8291 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
8292 inner_offset = next_offset;
8293 } else {
8294 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
8295 inner_depth.increment()?;
8296 }
8297 let val_ref = self.channel_sets.get_or_insert_with(
8298 || fidl::new_empty!(fidl::encoding::Vector<ChannelSet, 64>, D),
8299 );
8300 fidl::decode!(fidl::encoding::Vector<ChannelSet, 64>, D, val_ref, decoder, inner_offset, inner_depth)?;
8301 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
8302 {
8303 return Err(fidl::Error::InvalidNumBytesInEnvelope);
8304 }
8305 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
8306 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
8307 }
8308 }
8309
8310 next_offset += envelope_size;
8311 _next_ordinal_to_read += 1;
8312 if next_offset >= end_offset {
8313 return Ok(());
8314 }
8315
8316 while _next_ordinal_to_read < 2 {
8318 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
8319 _next_ordinal_to_read += 1;
8320 next_offset += envelope_size;
8321 }
8322
8323 let next_out_of_line = decoder.next_out_of_line();
8324 let handles_before = decoder.remaining_handles();
8325 if let Some((inlined, num_bytes, num_handles)) =
8326 fidl::encoding::decode_envelope_header(decoder, next_offset)?
8327 {
8328 let member_inline_size = <fidl::encoding::Vector<
8329 fidl_fuchsia_audio_common::SampleType,
8330 32,
8331 > as fidl::encoding::TypeMarker>::inline_size(
8332 decoder.context
8333 );
8334 if inlined != (member_inline_size <= 4) {
8335 return Err(fidl::Error::InvalidInlineBitInEnvelope);
8336 }
8337 let inner_offset;
8338 let mut inner_depth = depth.clone();
8339 if inlined {
8340 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
8341 inner_offset = next_offset;
8342 } else {
8343 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
8344 inner_depth.increment()?;
8345 }
8346 let val_ref =
8347 self.sample_types.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Vector<fidl_fuchsia_audio_common::SampleType, 32>, D));
8348 fidl::decode!(fidl::encoding::Vector<fidl_fuchsia_audio_common::SampleType, 32>, D, val_ref, decoder, inner_offset, inner_depth)?;
8349 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
8350 {
8351 return Err(fidl::Error::InvalidNumBytesInEnvelope);
8352 }
8353 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
8354 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
8355 }
8356 }
8357
8358 next_offset += envelope_size;
8359 _next_ordinal_to_read += 1;
8360 if next_offset >= end_offset {
8361 return Ok(());
8362 }
8363
8364 while _next_ordinal_to_read < 3 {
8366 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
8367 _next_ordinal_to_read += 1;
8368 next_offset += envelope_size;
8369 }
8370
8371 let next_out_of_line = decoder.next_out_of_line();
8372 let handles_before = decoder.remaining_handles();
8373 if let Some((inlined, num_bytes, num_handles)) =
8374 fidl::encoding::decode_envelope_header(decoder, next_offset)?
8375 {
8376 let member_inline_size =
8377 <fidl::encoding::Vector<u32, 64> as fidl::encoding::TypeMarker>::inline_size(
8378 decoder.context,
8379 );
8380 if inlined != (member_inline_size <= 4) {
8381 return Err(fidl::Error::InvalidInlineBitInEnvelope);
8382 }
8383 let inner_offset;
8384 let mut inner_depth = depth.clone();
8385 if inlined {
8386 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
8387 inner_offset = next_offset;
8388 } else {
8389 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
8390 inner_depth.increment()?;
8391 }
8392 let val_ref = self
8393 .frame_rates
8394 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Vector<u32, 64>, D));
8395 fidl::decode!(fidl::encoding::Vector<u32, 64>, D, val_ref, decoder, inner_offset, inner_depth)?;
8396 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
8397 {
8398 return Err(fidl::Error::InvalidNumBytesInEnvelope);
8399 }
8400 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
8401 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
8402 }
8403 }
8404
8405 next_offset += envelope_size;
8406
8407 while next_offset < end_offset {
8409 _next_ordinal_to_read += 1;
8410 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
8411 next_offset += envelope_size;
8412 }
8413
8414 Ok(())
8415 }
8416 }
8417
8418 impl ProviderAddDeviceResponse {
8419 #[inline(always)]
8420 fn max_ordinal_present(&self) -> u64 {
8421 0
8422 }
8423 }
8424
8425 impl fidl::encoding::ValueTypeMarker for ProviderAddDeviceResponse {
8426 type Borrowed<'a> = &'a Self;
8427 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8428 value
8429 }
8430 }
8431
8432 unsafe impl fidl::encoding::TypeMarker for ProviderAddDeviceResponse {
8433 type Owned = Self;
8434
8435 #[inline(always)]
8436 fn inline_align(_context: fidl::encoding::Context) -> usize {
8437 8
8438 }
8439
8440 #[inline(always)]
8441 fn inline_size(_context: fidl::encoding::Context) -> usize {
8442 16
8443 }
8444 }
8445
8446 unsafe impl<D: fidl::encoding::ResourceDialect>
8447 fidl::encoding::Encode<ProviderAddDeviceResponse, D> for &ProviderAddDeviceResponse
8448 {
8449 unsafe fn encode(
8450 self,
8451 encoder: &mut fidl::encoding::Encoder<'_, D>,
8452 offset: usize,
8453 mut depth: fidl::encoding::Depth,
8454 ) -> fidl::Result<()> {
8455 encoder.debug_check_bounds::<ProviderAddDeviceResponse>(offset);
8456 let max_ordinal: u64 = self.max_ordinal_present();
8458 encoder.write_num(max_ordinal, offset);
8459 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
8460 if max_ordinal == 0 {
8462 return Ok(());
8463 }
8464 depth.increment()?;
8465 let envelope_size = 8;
8466 let bytes_len = max_ordinal as usize * envelope_size;
8467 #[allow(unused_variables)]
8468 let offset = encoder.out_of_line_offset(bytes_len);
8469 let mut _prev_end_offset: usize = 0;
8470
8471 Ok(())
8472 }
8473 }
8474
8475 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8476 for ProviderAddDeviceResponse
8477 {
8478 #[inline(always)]
8479 fn new_empty() -> Self {
8480 Self::default()
8481 }
8482
8483 unsafe fn decode(
8484 &mut self,
8485 decoder: &mut fidl::encoding::Decoder<'_, D>,
8486 offset: usize,
8487 mut depth: fidl::encoding::Depth,
8488 ) -> fidl::Result<()> {
8489 decoder.debug_check_bounds::<Self>(offset);
8490 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
8491 None => return Err(fidl::Error::NotNullable),
8492 Some(len) => len,
8493 };
8494 if len == 0 {
8496 return Ok(());
8497 };
8498 depth.increment()?;
8499 let envelope_size = 8;
8500 let bytes_len = len * envelope_size;
8501 let offset = decoder.out_of_line_offset(bytes_len)?;
8502 let mut _next_ordinal_to_read = 0;
8504 let mut next_offset = offset;
8505 let end_offset = offset + bytes_len;
8506
8507 while next_offset < end_offset {
8509 _next_ordinal_to_read += 1;
8510 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
8511 next_offset += envelope_size;
8512 }
8513
8514 Ok(())
8515 }
8516 }
8517
8518 impl RegistryCreateObserverResponse {
8519 #[inline(always)]
8520 fn max_ordinal_present(&self) -> u64 {
8521 0
8522 }
8523 }
8524
8525 impl fidl::encoding::ValueTypeMarker for RegistryCreateObserverResponse {
8526 type Borrowed<'a> = &'a Self;
8527 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8528 value
8529 }
8530 }
8531
8532 unsafe impl fidl::encoding::TypeMarker for RegistryCreateObserverResponse {
8533 type Owned = Self;
8534
8535 #[inline(always)]
8536 fn inline_align(_context: fidl::encoding::Context) -> usize {
8537 8
8538 }
8539
8540 #[inline(always)]
8541 fn inline_size(_context: fidl::encoding::Context) -> usize {
8542 16
8543 }
8544 }
8545
8546 unsafe impl<D: fidl::encoding::ResourceDialect>
8547 fidl::encoding::Encode<RegistryCreateObserverResponse, D>
8548 for &RegistryCreateObserverResponse
8549 {
8550 unsafe fn encode(
8551 self,
8552 encoder: &mut fidl::encoding::Encoder<'_, D>,
8553 offset: usize,
8554 mut depth: fidl::encoding::Depth,
8555 ) -> fidl::Result<()> {
8556 encoder.debug_check_bounds::<RegistryCreateObserverResponse>(offset);
8557 let max_ordinal: u64 = self.max_ordinal_present();
8559 encoder.write_num(max_ordinal, offset);
8560 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
8561 if max_ordinal == 0 {
8563 return Ok(());
8564 }
8565 depth.increment()?;
8566 let envelope_size = 8;
8567 let bytes_len = max_ordinal as usize * envelope_size;
8568 #[allow(unused_variables)]
8569 let offset = encoder.out_of_line_offset(bytes_len);
8570 let mut _prev_end_offset: usize = 0;
8571
8572 Ok(())
8573 }
8574 }
8575
8576 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8577 for RegistryCreateObserverResponse
8578 {
8579 #[inline(always)]
8580 fn new_empty() -> Self {
8581 Self::default()
8582 }
8583
8584 unsafe fn decode(
8585 &mut self,
8586 decoder: &mut fidl::encoding::Decoder<'_, D>,
8587 offset: usize,
8588 mut depth: fidl::encoding::Depth,
8589 ) -> fidl::Result<()> {
8590 decoder.debug_check_bounds::<Self>(offset);
8591 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
8592 None => return Err(fidl::Error::NotNullable),
8593 Some(len) => len,
8594 };
8595 if len == 0 {
8597 return Ok(());
8598 };
8599 depth.increment()?;
8600 let envelope_size = 8;
8601 let bytes_len = len * envelope_size;
8602 let offset = decoder.out_of_line_offset(bytes_len)?;
8603 let mut _next_ordinal_to_read = 0;
8605 let mut next_offset = offset;
8606 let end_offset = offset + bytes_len;
8607
8608 while next_offset < end_offset {
8610 _next_ordinal_to_read += 1;
8611 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
8612 next_offset += envelope_size;
8613 }
8614
8615 Ok(())
8616 }
8617 }
8618
8619 impl RegistryWatchDeviceRemovedResponse {
8620 #[inline(always)]
8621 fn max_ordinal_present(&self) -> u64 {
8622 if let Some(_) = self.token_id {
8623 return 1;
8624 }
8625 0
8626 }
8627 }
8628
8629 impl fidl::encoding::ValueTypeMarker for RegistryWatchDeviceRemovedResponse {
8630 type Borrowed<'a> = &'a Self;
8631 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8632 value
8633 }
8634 }
8635
8636 unsafe impl fidl::encoding::TypeMarker for RegistryWatchDeviceRemovedResponse {
8637 type Owned = Self;
8638
8639 #[inline(always)]
8640 fn inline_align(_context: fidl::encoding::Context) -> usize {
8641 8
8642 }
8643
8644 #[inline(always)]
8645 fn inline_size(_context: fidl::encoding::Context) -> usize {
8646 16
8647 }
8648 }
8649
8650 unsafe impl<D: fidl::encoding::ResourceDialect>
8651 fidl::encoding::Encode<RegistryWatchDeviceRemovedResponse, D>
8652 for &RegistryWatchDeviceRemovedResponse
8653 {
8654 unsafe fn encode(
8655 self,
8656 encoder: &mut fidl::encoding::Encoder<'_, D>,
8657 offset: usize,
8658 mut depth: fidl::encoding::Depth,
8659 ) -> fidl::Result<()> {
8660 encoder.debug_check_bounds::<RegistryWatchDeviceRemovedResponse>(offset);
8661 let max_ordinal: u64 = self.max_ordinal_present();
8663 encoder.write_num(max_ordinal, offset);
8664 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
8665 if max_ordinal == 0 {
8667 return Ok(());
8668 }
8669 depth.increment()?;
8670 let envelope_size = 8;
8671 let bytes_len = max_ordinal as usize * envelope_size;
8672 #[allow(unused_variables)]
8673 let offset = encoder.out_of_line_offset(bytes_len);
8674 let mut _prev_end_offset: usize = 0;
8675 if 1 > max_ordinal {
8676 return Ok(());
8677 }
8678
8679 let cur_offset: usize = (1 - 1) * envelope_size;
8682
8683 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
8685
8686 fidl::encoding::encode_in_envelope_optional::<u64, D>(
8691 self.token_id.as_ref().map(<u64 as fidl::encoding::ValueTypeMarker>::borrow),
8692 encoder,
8693 offset + cur_offset,
8694 depth,
8695 )?;
8696
8697 _prev_end_offset = cur_offset + envelope_size;
8698
8699 Ok(())
8700 }
8701 }
8702
8703 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8704 for RegistryWatchDeviceRemovedResponse
8705 {
8706 #[inline(always)]
8707 fn new_empty() -> Self {
8708 Self::default()
8709 }
8710
8711 unsafe fn decode(
8712 &mut self,
8713 decoder: &mut fidl::encoding::Decoder<'_, D>,
8714 offset: usize,
8715 mut depth: fidl::encoding::Depth,
8716 ) -> fidl::Result<()> {
8717 decoder.debug_check_bounds::<Self>(offset);
8718 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
8719 None => return Err(fidl::Error::NotNullable),
8720 Some(len) => len,
8721 };
8722 if len == 0 {
8724 return Ok(());
8725 };
8726 depth.increment()?;
8727 let envelope_size = 8;
8728 let bytes_len = len * envelope_size;
8729 let offset = decoder.out_of_line_offset(bytes_len)?;
8730 let mut _next_ordinal_to_read = 0;
8732 let mut next_offset = offset;
8733 let end_offset = offset + bytes_len;
8734 _next_ordinal_to_read += 1;
8735 if next_offset >= end_offset {
8736 return Ok(());
8737 }
8738
8739 while _next_ordinal_to_read < 1 {
8741 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
8742 _next_ordinal_to_read += 1;
8743 next_offset += envelope_size;
8744 }
8745
8746 let next_out_of_line = decoder.next_out_of_line();
8747 let handles_before = decoder.remaining_handles();
8748 if let Some((inlined, num_bytes, num_handles)) =
8749 fidl::encoding::decode_envelope_header(decoder, next_offset)?
8750 {
8751 let member_inline_size =
8752 <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
8753 if inlined != (member_inline_size <= 4) {
8754 return Err(fidl::Error::InvalidInlineBitInEnvelope);
8755 }
8756 let inner_offset;
8757 let mut inner_depth = depth.clone();
8758 if inlined {
8759 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
8760 inner_offset = next_offset;
8761 } else {
8762 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
8763 inner_depth.increment()?;
8764 }
8765 let val_ref = self.token_id.get_or_insert_with(|| fidl::new_empty!(u64, D));
8766 fidl::decode!(u64, D, val_ref, decoder, inner_offset, inner_depth)?;
8767 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
8768 {
8769 return Err(fidl::Error::InvalidNumBytesInEnvelope);
8770 }
8771 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
8772 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
8773 }
8774 }
8775
8776 next_offset += envelope_size;
8777
8778 while next_offset < end_offset {
8780 _next_ordinal_to_read += 1;
8781 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
8782 next_offset += envelope_size;
8783 }
8784
8785 Ok(())
8786 }
8787 }
8788
8789 impl RegistryWatchDevicesAddedResponse {
8790 #[inline(always)]
8791 fn max_ordinal_present(&self) -> u64 {
8792 if let Some(_) = self.devices {
8793 return 1;
8794 }
8795 0
8796 }
8797 }
8798
8799 impl fidl::encoding::ValueTypeMarker for RegistryWatchDevicesAddedResponse {
8800 type Borrowed<'a> = &'a Self;
8801 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8802 value
8803 }
8804 }
8805
8806 unsafe impl fidl::encoding::TypeMarker for RegistryWatchDevicesAddedResponse {
8807 type Owned = Self;
8808
8809 #[inline(always)]
8810 fn inline_align(_context: fidl::encoding::Context) -> usize {
8811 8
8812 }
8813
8814 #[inline(always)]
8815 fn inline_size(_context: fidl::encoding::Context) -> usize {
8816 16
8817 }
8818 }
8819
8820 unsafe impl<D: fidl::encoding::ResourceDialect>
8821 fidl::encoding::Encode<RegistryWatchDevicesAddedResponse, D>
8822 for &RegistryWatchDevicesAddedResponse
8823 {
8824 unsafe fn encode(
8825 self,
8826 encoder: &mut fidl::encoding::Encoder<'_, D>,
8827 offset: usize,
8828 mut depth: fidl::encoding::Depth,
8829 ) -> fidl::Result<()> {
8830 encoder.debug_check_bounds::<RegistryWatchDevicesAddedResponse>(offset);
8831 let max_ordinal: u64 = self.max_ordinal_present();
8833 encoder.write_num(max_ordinal, offset);
8834 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
8835 if max_ordinal == 0 {
8837 return Ok(());
8838 }
8839 depth.increment()?;
8840 let envelope_size = 8;
8841 let bytes_len = max_ordinal as usize * envelope_size;
8842 #[allow(unused_variables)]
8843 let offset = encoder.out_of_line_offset(bytes_len);
8844 let mut _prev_end_offset: usize = 0;
8845 if 1 > max_ordinal {
8846 return Ok(());
8847 }
8848
8849 let cur_offset: usize = (1 - 1) * envelope_size;
8852
8853 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
8855
8856 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<Info, 256>, D>(
8861 self.devices.as_ref().map(
8862 <fidl::encoding::Vector<Info, 256> as fidl::encoding::ValueTypeMarker>::borrow,
8863 ),
8864 encoder,
8865 offset + cur_offset,
8866 depth,
8867 )?;
8868
8869 _prev_end_offset = cur_offset + envelope_size;
8870
8871 Ok(())
8872 }
8873 }
8874
8875 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8876 for RegistryWatchDevicesAddedResponse
8877 {
8878 #[inline(always)]
8879 fn new_empty() -> Self {
8880 Self::default()
8881 }
8882
8883 unsafe fn decode(
8884 &mut self,
8885 decoder: &mut fidl::encoding::Decoder<'_, D>,
8886 offset: usize,
8887 mut depth: fidl::encoding::Depth,
8888 ) -> fidl::Result<()> {
8889 decoder.debug_check_bounds::<Self>(offset);
8890 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
8891 None => return Err(fidl::Error::NotNullable),
8892 Some(len) => len,
8893 };
8894 if len == 0 {
8896 return Ok(());
8897 };
8898 depth.increment()?;
8899 let envelope_size = 8;
8900 let bytes_len = len * envelope_size;
8901 let offset = decoder.out_of_line_offset(bytes_len)?;
8902 let mut _next_ordinal_to_read = 0;
8904 let mut next_offset = offset;
8905 let end_offset = offset + bytes_len;
8906 _next_ordinal_to_read += 1;
8907 if next_offset >= end_offset {
8908 return Ok(());
8909 }
8910
8911 while _next_ordinal_to_read < 1 {
8913 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
8914 _next_ordinal_to_read += 1;
8915 next_offset += envelope_size;
8916 }
8917
8918 let next_out_of_line = decoder.next_out_of_line();
8919 let handles_before = decoder.remaining_handles();
8920 if let Some((inlined, num_bytes, num_handles)) =
8921 fidl::encoding::decode_envelope_header(decoder, next_offset)?
8922 {
8923 let member_inline_size =
8924 <fidl::encoding::Vector<Info, 256> as fidl::encoding::TypeMarker>::inline_size(
8925 decoder.context,
8926 );
8927 if inlined != (member_inline_size <= 4) {
8928 return Err(fidl::Error::InvalidInlineBitInEnvelope);
8929 }
8930 let inner_offset;
8931 let mut inner_depth = depth.clone();
8932 if inlined {
8933 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
8934 inner_offset = next_offset;
8935 } else {
8936 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
8937 inner_depth.increment()?;
8938 }
8939 let val_ref = self
8940 .devices
8941 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Vector<Info, 256>, D));
8942 fidl::decode!(fidl::encoding::Vector<Info, 256>, D, val_ref, decoder, inner_offset, inner_depth)?;
8943 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
8944 {
8945 return Err(fidl::Error::InvalidNumBytesInEnvelope);
8946 }
8947 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
8948 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
8949 }
8950 }
8951
8952 next_offset += envelope_size;
8953
8954 while next_offset < end_offset {
8956 _next_ordinal_to_read += 1;
8957 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
8958 next_offset += envelope_size;
8959 }
8960
8961 Ok(())
8962 }
8963 }
8964
8965 impl RingBufferOptions {
8966 #[inline(always)]
8967 fn max_ordinal_present(&self) -> u64 {
8968 if let Some(_) = self.ring_buffer_min_bytes {
8969 return 2;
8970 }
8971 if let Some(_) = self.format {
8972 return 1;
8973 }
8974 0
8975 }
8976 }
8977
8978 impl fidl::encoding::ValueTypeMarker for RingBufferOptions {
8979 type Borrowed<'a> = &'a Self;
8980 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8981 value
8982 }
8983 }
8984
8985 unsafe impl fidl::encoding::TypeMarker for RingBufferOptions {
8986 type Owned = Self;
8987
8988 #[inline(always)]
8989 fn inline_align(_context: fidl::encoding::Context) -> usize {
8990 8
8991 }
8992
8993 #[inline(always)]
8994 fn inline_size(_context: fidl::encoding::Context) -> usize {
8995 16
8996 }
8997 }
8998
8999 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RingBufferOptions, D>
9000 for &RingBufferOptions
9001 {
9002 unsafe fn encode(
9003 self,
9004 encoder: &mut fidl::encoding::Encoder<'_, D>,
9005 offset: usize,
9006 mut depth: fidl::encoding::Depth,
9007 ) -> fidl::Result<()> {
9008 encoder.debug_check_bounds::<RingBufferOptions>(offset);
9009 let max_ordinal: u64 = self.max_ordinal_present();
9011 encoder.write_num(max_ordinal, offset);
9012 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
9013 if max_ordinal == 0 {
9015 return Ok(());
9016 }
9017 depth.increment()?;
9018 let envelope_size = 8;
9019 let bytes_len = max_ordinal as usize * envelope_size;
9020 #[allow(unused_variables)]
9021 let offset = encoder.out_of_line_offset(bytes_len);
9022 let mut _prev_end_offset: usize = 0;
9023 if 1 > max_ordinal {
9024 return Ok(());
9025 }
9026
9027 let cur_offset: usize = (1 - 1) * envelope_size;
9030
9031 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
9033
9034 fidl::encoding::encode_in_envelope_optional::<fidl_fuchsia_audio_common::Format, D>(
9039 self.format.as_ref().map(
9040 <fidl_fuchsia_audio_common::Format as fidl::encoding::ValueTypeMarker>::borrow,
9041 ),
9042 encoder,
9043 offset + cur_offset,
9044 depth,
9045 )?;
9046
9047 _prev_end_offset = cur_offset + envelope_size;
9048 if 2 > max_ordinal {
9049 return Ok(());
9050 }
9051
9052 let cur_offset: usize = (2 - 1) * envelope_size;
9055
9056 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
9058
9059 fidl::encoding::encode_in_envelope_optional::<u32, D>(
9064 self.ring_buffer_min_bytes
9065 .as_ref()
9066 .map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
9067 encoder,
9068 offset + cur_offset,
9069 depth,
9070 )?;
9071
9072 _prev_end_offset = cur_offset + envelope_size;
9073
9074 Ok(())
9075 }
9076 }
9077
9078 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RingBufferOptions {
9079 #[inline(always)]
9080 fn new_empty() -> Self {
9081 Self::default()
9082 }
9083
9084 unsafe fn decode(
9085 &mut self,
9086 decoder: &mut fidl::encoding::Decoder<'_, D>,
9087 offset: usize,
9088 mut depth: fidl::encoding::Depth,
9089 ) -> fidl::Result<()> {
9090 decoder.debug_check_bounds::<Self>(offset);
9091 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
9092 None => return Err(fidl::Error::NotNullable),
9093 Some(len) => len,
9094 };
9095 if len == 0 {
9097 return Ok(());
9098 };
9099 depth.increment()?;
9100 let envelope_size = 8;
9101 let bytes_len = len * envelope_size;
9102 let offset = decoder.out_of_line_offset(bytes_len)?;
9103 let mut _next_ordinal_to_read = 0;
9105 let mut next_offset = offset;
9106 let end_offset = offset + bytes_len;
9107 _next_ordinal_to_read += 1;
9108 if next_offset >= end_offset {
9109 return Ok(());
9110 }
9111
9112 while _next_ordinal_to_read < 1 {
9114 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9115 _next_ordinal_to_read += 1;
9116 next_offset += envelope_size;
9117 }
9118
9119 let next_out_of_line = decoder.next_out_of_line();
9120 let handles_before = decoder.remaining_handles();
9121 if let Some((inlined, num_bytes, num_handles)) =
9122 fidl::encoding::decode_envelope_header(decoder, next_offset)?
9123 {
9124 let member_inline_size =
9125 <fidl_fuchsia_audio_common::Format as fidl::encoding::TypeMarker>::inline_size(
9126 decoder.context,
9127 );
9128 if inlined != (member_inline_size <= 4) {
9129 return Err(fidl::Error::InvalidInlineBitInEnvelope);
9130 }
9131 let inner_offset;
9132 let mut inner_depth = depth.clone();
9133 if inlined {
9134 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
9135 inner_offset = next_offset;
9136 } else {
9137 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
9138 inner_depth.increment()?;
9139 }
9140 let val_ref = self
9141 .format
9142 .get_or_insert_with(|| fidl::new_empty!(fidl_fuchsia_audio_common::Format, D));
9143 fidl::decode!(
9144 fidl_fuchsia_audio_common::Format,
9145 D,
9146 val_ref,
9147 decoder,
9148 inner_offset,
9149 inner_depth
9150 )?;
9151 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
9152 {
9153 return Err(fidl::Error::InvalidNumBytesInEnvelope);
9154 }
9155 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
9156 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
9157 }
9158 }
9159
9160 next_offset += envelope_size;
9161 _next_ordinal_to_read += 1;
9162 if next_offset >= end_offset {
9163 return Ok(());
9164 }
9165
9166 while _next_ordinal_to_read < 2 {
9168 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9169 _next_ordinal_to_read += 1;
9170 next_offset += envelope_size;
9171 }
9172
9173 let next_out_of_line = decoder.next_out_of_line();
9174 let handles_before = decoder.remaining_handles();
9175 if let Some((inlined, num_bytes, num_handles)) =
9176 fidl::encoding::decode_envelope_header(decoder, next_offset)?
9177 {
9178 let member_inline_size =
9179 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
9180 if inlined != (member_inline_size <= 4) {
9181 return Err(fidl::Error::InvalidInlineBitInEnvelope);
9182 }
9183 let inner_offset;
9184 let mut inner_depth = depth.clone();
9185 if inlined {
9186 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
9187 inner_offset = next_offset;
9188 } else {
9189 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
9190 inner_depth.increment()?;
9191 }
9192 let val_ref =
9193 self.ring_buffer_min_bytes.get_or_insert_with(|| fidl::new_empty!(u32, D));
9194 fidl::decode!(u32, D, val_ref, decoder, inner_offset, inner_depth)?;
9195 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
9196 {
9197 return Err(fidl::Error::InvalidNumBytesInEnvelope);
9198 }
9199 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
9200 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
9201 }
9202 }
9203
9204 next_offset += envelope_size;
9205
9206 while next_offset < end_offset {
9208 _next_ordinal_to_read += 1;
9209 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9210 next_offset += envelope_size;
9211 }
9212
9213 Ok(())
9214 }
9215 }
9216
9217 impl RingBufferProperties {
9218 #[inline(always)]
9219 fn max_ordinal_present(&self) -> u64 {
9220 if let Some(_) = self.turn_on_delay {
9221 return 2;
9222 }
9223 if let Some(_) = self.valid_bits_per_sample {
9224 return 1;
9225 }
9226 0
9227 }
9228 }
9229
9230 impl fidl::encoding::ValueTypeMarker for RingBufferProperties {
9231 type Borrowed<'a> = &'a Self;
9232 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9233 value
9234 }
9235 }
9236
9237 unsafe impl fidl::encoding::TypeMarker for RingBufferProperties {
9238 type Owned = Self;
9239
9240 #[inline(always)]
9241 fn inline_align(_context: fidl::encoding::Context) -> usize {
9242 8
9243 }
9244
9245 #[inline(always)]
9246 fn inline_size(_context: fidl::encoding::Context) -> usize {
9247 16
9248 }
9249 }
9250
9251 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RingBufferProperties, D>
9252 for &RingBufferProperties
9253 {
9254 unsafe fn encode(
9255 self,
9256 encoder: &mut fidl::encoding::Encoder<'_, D>,
9257 offset: usize,
9258 mut depth: fidl::encoding::Depth,
9259 ) -> fidl::Result<()> {
9260 encoder.debug_check_bounds::<RingBufferProperties>(offset);
9261 let max_ordinal: u64 = self.max_ordinal_present();
9263 encoder.write_num(max_ordinal, offset);
9264 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
9265 if max_ordinal == 0 {
9267 return Ok(());
9268 }
9269 depth.increment()?;
9270 let envelope_size = 8;
9271 let bytes_len = max_ordinal as usize * envelope_size;
9272 #[allow(unused_variables)]
9273 let offset = encoder.out_of_line_offset(bytes_len);
9274 let mut _prev_end_offset: usize = 0;
9275 if 1 > max_ordinal {
9276 return Ok(());
9277 }
9278
9279 let cur_offset: usize = (1 - 1) * envelope_size;
9282
9283 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
9285
9286 fidl::encoding::encode_in_envelope_optional::<u8, D>(
9291 self.valid_bits_per_sample
9292 .as_ref()
9293 .map(<u8 as fidl::encoding::ValueTypeMarker>::borrow),
9294 encoder,
9295 offset + cur_offset,
9296 depth,
9297 )?;
9298
9299 _prev_end_offset = cur_offset + envelope_size;
9300 if 2 > max_ordinal {
9301 return Ok(());
9302 }
9303
9304 let cur_offset: usize = (2 - 1) * envelope_size;
9307
9308 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
9310
9311 fidl::encoding::encode_in_envelope_optional::<i64, D>(
9316 self.turn_on_delay.as_ref().map(<i64 as fidl::encoding::ValueTypeMarker>::borrow),
9317 encoder,
9318 offset + cur_offset,
9319 depth,
9320 )?;
9321
9322 _prev_end_offset = cur_offset + envelope_size;
9323
9324 Ok(())
9325 }
9326 }
9327
9328 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RingBufferProperties {
9329 #[inline(always)]
9330 fn new_empty() -> Self {
9331 Self::default()
9332 }
9333
9334 unsafe fn decode(
9335 &mut self,
9336 decoder: &mut fidl::encoding::Decoder<'_, D>,
9337 offset: usize,
9338 mut depth: fidl::encoding::Depth,
9339 ) -> fidl::Result<()> {
9340 decoder.debug_check_bounds::<Self>(offset);
9341 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
9342 None => return Err(fidl::Error::NotNullable),
9343 Some(len) => len,
9344 };
9345 if len == 0 {
9347 return Ok(());
9348 };
9349 depth.increment()?;
9350 let envelope_size = 8;
9351 let bytes_len = len * envelope_size;
9352 let offset = decoder.out_of_line_offset(bytes_len)?;
9353 let mut _next_ordinal_to_read = 0;
9355 let mut next_offset = offset;
9356 let end_offset = offset + bytes_len;
9357 _next_ordinal_to_read += 1;
9358 if next_offset >= end_offset {
9359 return Ok(());
9360 }
9361
9362 while _next_ordinal_to_read < 1 {
9364 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9365 _next_ordinal_to_read += 1;
9366 next_offset += envelope_size;
9367 }
9368
9369 let next_out_of_line = decoder.next_out_of_line();
9370 let handles_before = decoder.remaining_handles();
9371 if let Some((inlined, num_bytes, num_handles)) =
9372 fidl::encoding::decode_envelope_header(decoder, next_offset)?
9373 {
9374 let member_inline_size =
9375 <u8 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
9376 if inlined != (member_inline_size <= 4) {
9377 return Err(fidl::Error::InvalidInlineBitInEnvelope);
9378 }
9379 let inner_offset;
9380 let mut inner_depth = depth.clone();
9381 if inlined {
9382 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
9383 inner_offset = next_offset;
9384 } else {
9385 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
9386 inner_depth.increment()?;
9387 }
9388 let val_ref =
9389 self.valid_bits_per_sample.get_or_insert_with(|| fidl::new_empty!(u8, D));
9390 fidl::decode!(u8, D, val_ref, decoder, inner_offset, inner_depth)?;
9391 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
9392 {
9393 return Err(fidl::Error::InvalidNumBytesInEnvelope);
9394 }
9395 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
9396 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
9397 }
9398 }
9399
9400 next_offset += envelope_size;
9401 _next_ordinal_to_read += 1;
9402 if next_offset >= end_offset {
9403 return Ok(());
9404 }
9405
9406 while _next_ordinal_to_read < 2 {
9408 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9409 _next_ordinal_to_read += 1;
9410 next_offset += envelope_size;
9411 }
9412
9413 let next_out_of_line = decoder.next_out_of_line();
9414 let handles_before = decoder.remaining_handles();
9415 if let Some((inlined, num_bytes, num_handles)) =
9416 fidl::encoding::decode_envelope_header(decoder, next_offset)?
9417 {
9418 let member_inline_size =
9419 <i64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
9420 if inlined != (member_inline_size <= 4) {
9421 return Err(fidl::Error::InvalidInlineBitInEnvelope);
9422 }
9423 let inner_offset;
9424 let mut inner_depth = depth.clone();
9425 if inlined {
9426 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
9427 inner_offset = next_offset;
9428 } else {
9429 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
9430 inner_depth.increment()?;
9431 }
9432 let val_ref = self.turn_on_delay.get_or_insert_with(|| fidl::new_empty!(i64, D));
9433 fidl::decode!(i64, D, val_ref, decoder, inner_offset, inner_depth)?;
9434 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
9435 {
9436 return Err(fidl::Error::InvalidNumBytesInEnvelope);
9437 }
9438 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
9439 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
9440 }
9441 }
9442
9443 next_offset += envelope_size;
9444
9445 while next_offset < end_offset {
9447 _next_ordinal_to_read += 1;
9448 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9449 next_offset += envelope_size;
9450 }
9451
9452 Ok(())
9453 }
9454 }
9455
9456 impl RingBufferSetActiveChannelsRequest {
9457 #[inline(always)]
9458 fn max_ordinal_present(&self) -> u64 {
9459 if let Some(_) = self.channel_bitmask {
9460 return 1;
9461 }
9462 0
9463 }
9464 }
9465
9466 impl fidl::encoding::ValueTypeMarker for RingBufferSetActiveChannelsRequest {
9467 type Borrowed<'a> = &'a Self;
9468 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9469 value
9470 }
9471 }
9472
9473 unsafe impl fidl::encoding::TypeMarker for RingBufferSetActiveChannelsRequest {
9474 type Owned = Self;
9475
9476 #[inline(always)]
9477 fn inline_align(_context: fidl::encoding::Context) -> usize {
9478 8
9479 }
9480
9481 #[inline(always)]
9482 fn inline_size(_context: fidl::encoding::Context) -> usize {
9483 16
9484 }
9485 }
9486
9487 unsafe impl<D: fidl::encoding::ResourceDialect>
9488 fidl::encoding::Encode<RingBufferSetActiveChannelsRequest, D>
9489 for &RingBufferSetActiveChannelsRequest
9490 {
9491 unsafe fn encode(
9492 self,
9493 encoder: &mut fidl::encoding::Encoder<'_, D>,
9494 offset: usize,
9495 mut depth: fidl::encoding::Depth,
9496 ) -> fidl::Result<()> {
9497 encoder.debug_check_bounds::<RingBufferSetActiveChannelsRequest>(offset);
9498 let max_ordinal: u64 = self.max_ordinal_present();
9500 encoder.write_num(max_ordinal, offset);
9501 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
9502 if max_ordinal == 0 {
9504 return Ok(());
9505 }
9506 depth.increment()?;
9507 let envelope_size = 8;
9508 let bytes_len = max_ordinal as usize * envelope_size;
9509 #[allow(unused_variables)]
9510 let offset = encoder.out_of_line_offset(bytes_len);
9511 let mut _prev_end_offset: usize = 0;
9512 if 1 > max_ordinal {
9513 return Ok(());
9514 }
9515
9516 let cur_offset: usize = (1 - 1) * envelope_size;
9519
9520 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
9522
9523 fidl::encoding::encode_in_envelope_optional::<u64, D>(
9528 self.channel_bitmask.as_ref().map(<u64 as fidl::encoding::ValueTypeMarker>::borrow),
9529 encoder,
9530 offset + cur_offset,
9531 depth,
9532 )?;
9533
9534 _prev_end_offset = cur_offset + envelope_size;
9535
9536 Ok(())
9537 }
9538 }
9539
9540 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9541 for RingBufferSetActiveChannelsRequest
9542 {
9543 #[inline(always)]
9544 fn new_empty() -> Self {
9545 Self::default()
9546 }
9547
9548 unsafe fn decode(
9549 &mut self,
9550 decoder: &mut fidl::encoding::Decoder<'_, D>,
9551 offset: usize,
9552 mut depth: fidl::encoding::Depth,
9553 ) -> fidl::Result<()> {
9554 decoder.debug_check_bounds::<Self>(offset);
9555 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
9556 None => return Err(fidl::Error::NotNullable),
9557 Some(len) => len,
9558 };
9559 if len == 0 {
9561 return Ok(());
9562 };
9563 depth.increment()?;
9564 let envelope_size = 8;
9565 let bytes_len = len * envelope_size;
9566 let offset = decoder.out_of_line_offset(bytes_len)?;
9567 let mut _next_ordinal_to_read = 0;
9569 let mut next_offset = offset;
9570 let end_offset = offset + bytes_len;
9571 _next_ordinal_to_read += 1;
9572 if next_offset >= end_offset {
9573 return Ok(());
9574 }
9575
9576 while _next_ordinal_to_read < 1 {
9578 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9579 _next_ordinal_to_read += 1;
9580 next_offset += envelope_size;
9581 }
9582
9583 let next_out_of_line = decoder.next_out_of_line();
9584 let handles_before = decoder.remaining_handles();
9585 if let Some((inlined, num_bytes, num_handles)) =
9586 fidl::encoding::decode_envelope_header(decoder, next_offset)?
9587 {
9588 let member_inline_size =
9589 <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
9590 if inlined != (member_inline_size <= 4) {
9591 return Err(fidl::Error::InvalidInlineBitInEnvelope);
9592 }
9593 let inner_offset;
9594 let mut inner_depth = depth.clone();
9595 if inlined {
9596 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
9597 inner_offset = next_offset;
9598 } else {
9599 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
9600 inner_depth.increment()?;
9601 }
9602 let val_ref = self.channel_bitmask.get_or_insert_with(|| fidl::new_empty!(u64, D));
9603 fidl::decode!(u64, D, val_ref, decoder, inner_offset, inner_depth)?;
9604 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
9605 {
9606 return Err(fidl::Error::InvalidNumBytesInEnvelope);
9607 }
9608 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
9609 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
9610 }
9611 }
9612
9613 next_offset += envelope_size;
9614
9615 while next_offset < end_offset {
9617 _next_ordinal_to_read += 1;
9618 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9619 next_offset += envelope_size;
9620 }
9621
9622 Ok(())
9623 }
9624 }
9625
9626 impl RingBufferStartRequest {
9627 #[inline(always)]
9628 fn max_ordinal_present(&self) -> u64 {
9629 0
9630 }
9631 }
9632
9633 impl fidl::encoding::ValueTypeMarker for RingBufferStartRequest {
9634 type Borrowed<'a> = &'a Self;
9635 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9636 value
9637 }
9638 }
9639
9640 unsafe impl fidl::encoding::TypeMarker for RingBufferStartRequest {
9641 type Owned = Self;
9642
9643 #[inline(always)]
9644 fn inline_align(_context: fidl::encoding::Context) -> usize {
9645 8
9646 }
9647
9648 #[inline(always)]
9649 fn inline_size(_context: fidl::encoding::Context) -> usize {
9650 16
9651 }
9652 }
9653
9654 unsafe impl<D: fidl::encoding::ResourceDialect>
9655 fidl::encoding::Encode<RingBufferStartRequest, D> for &RingBufferStartRequest
9656 {
9657 unsafe fn encode(
9658 self,
9659 encoder: &mut fidl::encoding::Encoder<'_, D>,
9660 offset: usize,
9661 mut depth: fidl::encoding::Depth,
9662 ) -> fidl::Result<()> {
9663 encoder.debug_check_bounds::<RingBufferStartRequest>(offset);
9664 let max_ordinal: u64 = self.max_ordinal_present();
9666 encoder.write_num(max_ordinal, offset);
9667 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
9668 if max_ordinal == 0 {
9670 return Ok(());
9671 }
9672 depth.increment()?;
9673 let envelope_size = 8;
9674 let bytes_len = max_ordinal as usize * envelope_size;
9675 #[allow(unused_variables)]
9676 let offset = encoder.out_of_line_offset(bytes_len);
9677 let mut _prev_end_offset: usize = 0;
9678
9679 Ok(())
9680 }
9681 }
9682
9683 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9684 for RingBufferStartRequest
9685 {
9686 #[inline(always)]
9687 fn new_empty() -> Self {
9688 Self::default()
9689 }
9690
9691 unsafe fn decode(
9692 &mut self,
9693 decoder: &mut fidl::encoding::Decoder<'_, D>,
9694 offset: usize,
9695 mut depth: fidl::encoding::Depth,
9696 ) -> fidl::Result<()> {
9697 decoder.debug_check_bounds::<Self>(offset);
9698 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
9699 None => return Err(fidl::Error::NotNullable),
9700 Some(len) => len,
9701 };
9702 if len == 0 {
9704 return Ok(());
9705 };
9706 depth.increment()?;
9707 let envelope_size = 8;
9708 let bytes_len = len * envelope_size;
9709 let offset = decoder.out_of_line_offset(bytes_len)?;
9710 let mut _next_ordinal_to_read = 0;
9712 let mut next_offset = offset;
9713 let end_offset = offset + bytes_len;
9714
9715 while next_offset < end_offset {
9717 _next_ordinal_to_read += 1;
9718 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9719 next_offset += envelope_size;
9720 }
9721
9722 Ok(())
9723 }
9724 }
9725
9726 impl RingBufferStopRequest {
9727 #[inline(always)]
9728 fn max_ordinal_present(&self) -> u64 {
9729 0
9730 }
9731 }
9732
9733 impl fidl::encoding::ValueTypeMarker for RingBufferStopRequest {
9734 type Borrowed<'a> = &'a Self;
9735 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9736 value
9737 }
9738 }
9739
9740 unsafe impl fidl::encoding::TypeMarker for RingBufferStopRequest {
9741 type Owned = Self;
9742
9743 #[inline(always)]
9744 fn inline_align(_context: fidl::encoding::Context) -> usize {
9745 8
9746 }
9747
9748 #[inline(always)]
9749 fn inline_size(_context: fidl::encoding::Context) -> usize {
9750 16
9751 }
9752 }
9753
9754 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RingBufferStopRequest, D>
9755 for &RingBufferStopRequest
9756 {
9757 unsafe fn encode(
9758 self,
9759 encoder: &mut fidl::encoding::Encoder<'_, D>,
9760 offset: usize,
9761 mut depth: fidl::encoding::Depth,
9762 ) -> fidl::Result<()> {
9763 encoder.debug_check_bounds::<RingBufferStopRequest>(offset);
9764 let max_ordinal: u64 = self.max_ordinal_present();
9766 encoder.write_num(max_ordinal, offset);
9767 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
9768 if max_ordinal == 0 {
9770 return Ok(());
9771 }
9772 depth.increment()?;
9773 let envelope_size = 8;
9774 let bytes_len = max_ordinal as usize * envelope_size;
9775 #[allow(unused_variables)]
9776 let offset = encoder.out_of_line_offset(bytes_len);
9777 let mut _prev_end_offset: usize = 0;
9778
9779 Ok(())
9780 }
9781 }
9782
9783 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RingBufferStopRequest {
9784 #[inline(always)]
9785 fn new_empty() -> Self {
9786 Self::default()
9787 }
9788
9789 unsafe fn decode(
9790 &mut self,
9791 decoder: &mut fidl::encoding::Decoder<'_, D>,
9792 offset: usize,
9793 mut depth: fidl::encoding::Depth,
9794 ) -> fidl::Result<()> {
9795 decoder.debug_check_bounds::<Self>(offset);
9796 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
9797 None => return Err(fidl::Error::NotNullable),
9798 Some(len) => len,
9799 };
9800 if len == 0 {
9802 return Ok(());
9803 };
9804 depth.increment()?;
9805 let envelope_size = 8;
9806 let bytes_len = len * envelope_size;
9807 let offset = decoder.out_of_line_offset(bytes_len)?;
9808 let mut _next_ordinal_to_read = 0;
9810 let mut next_offset = offset;
9811 let end_offset = offset + bytes_len;
9812
9813 while next_offset < end_offset {
9815 _next_ordinal_to_read += 1;
9816 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9817 next_offset += envelope_size;
9818 }
9819
9820 Ok(())
9821 }
9822 }
9823
9824 impl RingBufferSetActiveChannelsResponse {
9825 #[inline(always)]
9826 fn max_ordinal_present(&self) -> u64 {
9827 if let Some(_) = self.set_time {
9828 return 1;
9829 }
9830 0
9831 }
9832 }
9833
9834 impl fidl::encoding::ValueTypeMarker for RingBufferSetActiveChannelsResponse {
9835 type Borrowed<'a> = &'a Self;
9836 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9837 value
9838 }
9839 }
9840
9841 unsafe impl fidl::encoding::TypeMarker for RingBufferSetActiveChannelsResponse {
9842 type Owned = Self;
9843
9844 #[inline(always)]
9845 fn inline_align(_context: fidl::encoding::Context) -> usize {
9846 8
9847 }
9848
9849 #[inline(always)]
9850 fn inline_size(_context: fidl::encoding::Context) -> usize {
9851 16
9852 }
9853 }
9854
9855 unsafe impl<D: fidl::encoding::ResourceDialect>
9856 fidl::encoding::Encode<RingBufferSetActiveChannelsResponse, D>
9857 for &RingBufferSetActiveChannelsResponse
9858 {
9859 unsafe fn encode(
9860 self,
9861 encoder: &mut fidl::encoding::Encoder<'_, D>,
9862 offset: usize,
9863 mut depth: fidl::encoding::Depth,
9864 ) -> fidl::Result<()> {
9865 encoder.debug_check_bounds::<RingBufferSetActiveChannelsResponse>(offset);
9866 let max_ordinal: u64 = self.max_ordinal_present();
9868 encoder.write_num(max_ordinal, offset);
9869 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
9870 if max_ordinal == 0 {
9872 return Ok(());
9873 }
9874 depth.increment()?;
9875 let envelope_size = 8;
9876 let bytes_len = max_ordinal as usize * envelope_size;
9877 #[allow(unused_variables)]
9878 let offset = encoder.out_of_line_offset(bytes_len);
9879 let mut _prev_end_offset: usize = 0;
9880 if 1 > max_ordinal {
9881 return Ok(());
9882 }
9883
9884 let cur_offset: usize = (1 - 1) * envelope_size;
9887
9888 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
9890
9891 fidl::encoding::encode_in_envelope_optional::<i64, D>(
9896 self.set_time.as_ref().map(<i64 as fidl::encoding::ValueTypeMarker>::borrow),
9897 encoder,
9898 offset + cur_offset,
9899 depth,
9900 )?;
9901
9902 _prev_end_offset = cur_offset + envelope_size;
9903
9904 Ok(())
9905 }
9906 }
9907
9908 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9909 for RingBufferSetActiveChannelsResponse
9910 {
9911 #[inline(always)]
9912 fn new_empty() -> Self {
9913 Self::default()
9914 }
9915
9916 unsafe fn decode(
9917 &mut self,
9918 decoder: &mut fidl::encoding::Decoder<'_, D>,
9919 offset: usize,
9920 mut depth: fidl::encoding::Depth,
9921 ) -> fidl::Result<()> {
9922 decoder.debug_check_bounds::<Self>(offset);
9923 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
9924 None => return Err(fidl::Error::NotNullable),
9925 Some(len) => len,
9926 };
9927 if len == 0 {
9929 return Ok(());
9930 };
9931 depth.increment()?;
9932 let envelope_size = 8;
9933 let bytes_len = len * envelope_size;
9934 let offset = decoder.out_of_line_offset(bytes_len)?;
9935 let mut _next_ordinal_to_read = 0;
9937 let mut next_offset = offset;
9938 let end_offset = offset + bytes_len;
9939 _next_ordinal_to_read += 1;
9940 if next_offset >= end_offset {
9941 return Ok(());
9942 }
9943
9944 while _next_ordinal_to_read < 1 {
9946 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9947 _next_ordinal_to_read += 1;
9948 next_offset += envelope_size;
9949 }
9950
9951 let next_out_of_line = decoder.next_out_of_line();
9952 let handles_before = decoder.remaining_handles();
9953 if let Some((inlined, num_bytes, num_handles)) =
9954 fidl::encoding::decode_envelope_header(decoder, next_offset)?
9955 {
9956 let member_inline_size =
9957 <i64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
9958 if inlined != (member_inline_size <= 4) {
9959 return Err(fidl::Error::InvalidInlineBitInEnvelope);
9960 }
9961 let inner_offset;
9962 let mut inner_depth = depth.clone();
9963 if inlined {
9964 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
9965 inner_offset = next_offset;
9966 } else {
9967 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
9968 inner_depth.increment()?;
9969 }
9970 let val_ref = self.set_time.get_or_insert_with(|| fidl::new_empty!(i64, D));
9971 fidl::decode!(i64, D, val_ref, decoder, inner_offset, inner_depth)?;
9972 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
9973 {
9974 return Err(fidl::Error::InvalidNumBytesInEnvelope);
9975 }
9976 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
9977 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
9978 }
9979 }
9980
9981 next_offset += envelope_size;
9982
9983 while next_offset < end_offset {
9985 _next_ordinal_to_read += 1;
9986 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9987 next_offset += envelope_size;
9988 }
9989
9990 Ok(())
9991 }
9992 }
9993
9994 impl RingBufferStartResponse {
9995 #[inline(always)]
9996 fn max_ordinal_present(&self) -> u64 {
9997 if let Some(_) = self.start_time {
9998 return 1;
9999 }
10000 0
10001 }
10002 }
10003
10004 impl fidl::encoding::ValueTypeMarker for RingBufferStartResponse {
10005 type Borrowed<'a> = &'a Self;
10006 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10007 value
10008 }
10009 }
10010
10011 unsafe impl fidl::encoding::TypeMarker for RingBufferStartResponse {
10012 type Owned = Self;
10013
10014 #[inline(always)]
10015 fn inline_align(_context: fidl::encoding::Context) -> usize {
10016 8
10017 }
10018
10019 #[inline(always)]
10020 fn inline_size(_context: fidl::encoding::Context) -> usize {
10021 16
10022 }
10023 }
10024
10025 unsafe impl<D: fidl::encoding::ResourceDialect>
10026 fidl::encoding::Encode<RingBufferStartResponse, D> for &RingBufferStartResponse
10027 {
10028 unsafe fn encode(
10029 self,
10030 encoder: &mut fidl::encoding::Encoder<'_, D>,
10031 offset: usize,
10032 mut depth: fidl::encoding::Depth,
10033 ) -> fidl::Result<()> {
10034 encoder.debug_check_bounds::<RingBufferStartResponse>(offset);
10035 let max_ordinal: u64 = self.max_ordinal_present();
10037 encoder.write_num(max_ordinal, offset);
10038 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
10039 if max_ordinal == 0 {
10041 return Ok(());
10042 }
10043 depth.increment()?;
10044 let envelope_size = 8;
10045 let bytes_len = max_ordinal as usize * envelope_size;
10046 #[allow(unused_variables)]
10047 let offset = encoder.out_of_line_offset(bytes_len);
10048 let mut _prev_end_offset: usize = 0;
10049 if 1 > max_ordinal {
10050 return Ok(());
10051 }
10052
10053 let cur_offset: usize = (1 - 1) * envelope_size;
10056
10057 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
10059
10060 fidl::encoding::encode_in_envelope_optional::<i64, D>(
10065 self.start_time.as_ref().map(<i64 as fidl::encoding::ValueTypeMarker>::borrow),
10066 encoder,
10067 offset + cur_offset,
10068 depth,
10069 )?;
10070
10071 _prev_end_offset = cur_offset + envelope_size;
10072
10073 Ok(())
10074 }
10075 }
10076
10077 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
10078 for RingBufferStartResponse
10079 {
10080 #[inline(always)]
10081 fn new_empty() -> Self {
10082 Self::default()
10083 }
10084
10085 unsafe fn decode(
10086 &mut self,
10087 decoder: &mut fidl::encoding::Decoder<'_, D>,
10088 offset: usize,
10089 mut depth: fidl::encoding::Depth,
10090 ) -> fidl::Result<()> {
10091 decoder.debug_check_bounds::<Self>(offset);
10092 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
10093 None => return Err(fidl::Error::NotNullable),
10094 Some(len) => len,
10095 };
10096 if len == 0 {
10098 return Ok(());
10099 };
10100 depth.increment()?;
10101 let envelope_size = 8;
10102 let bytes_len = len * envelope_size;
10103 let offset = decoder.out_of_line_offset(bytes_len)?;
10104 let mut _next_ordinal_to_read = 0;
10106 let mut next_offset = offset;
10107 let end_offset = offset + bytes_len;
10108 _next_ordinal_to_read += 1;
10109 if next_offset >= end_offset {
10110 return Ok(());
10111 }
10112
10113 while _next_ordinal_to_read < 1 {
10115 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
10116 _next_ordinal_to_read += 1;
10117 next_offset += envelope_size;
10118 }
10119
10120 let next_out_of_line = decoder.next_out_of_line();
10121 let handles_before = decoder.remaining_handles();
10122 if let Some((inlined, num_bytes, num_handles)) =
10123 fidl::encoding::decode_envelope_header(decoder, next_offset)?
10124 {
10125 let member_inline_size =
10126 <i64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
10127 if inlined != (member_inline_size <= 4) {
10128 return Err(fidl::Error::InvalidInlineBitInEnvelope);
10129 }
10130 let inner_offset;
10131 let mut inner_depth = depth.clone();
10132 if inlined {
10133 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
10134 inner_offset = next_offset;
10135 } else {
10136 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
10137 inner_depth.increment()?;
10138 }
10139 let val_ref = self.start_time.get_or_insert_with(|| fidl::new_empty!(i64, D));
10140 fidl::decode!(i64, D, val_ref, decoder, inner_offset, inner_depth)?;
10141 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
10142 {
10143 return Err(fidl::Error::InvalidNumBytesInEnvelope);
10144 }
10145 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
10146 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
10147 }
10148 }
10149
10150 next_offset += envelope_size;
10151
10152 while next_offset < end_offset {
10154 _next_ordinal_to_read += 1;
10155 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
10156 next_offset += envelope_size;
10157 }
10158
10159 Ok(())
10160 }
10161 }
10162
10163 impl RingBufferStopResponse {
10164 #[inline(always)]
10165 fn max_ordinal_present(&self) -> u64 {
10166 0
10167 }
10168 }
10169
10170 impl fidl::encoding::ValueTypeMarker for RingBufferStopResponse {
10171 type Borrowed<'a> = &'a Self;
10172 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10173 value
10174 }
10175 }
10176
10177 unsafe impl fidl::encoding::TypeMarker for RingBufferStopResponse {
10178 type Owned = Self;
10179
10180 #[inline(always)]
10181 fn inline_align(_context: fidl::encoding::Context) -> usize {
10182 8
10183 }
10184
10185 #[inline(always)]
10186 fn inline_size(_context: fidl::encoding::Context) -> usize {
10187 16
10188 }
10189 }
10190
10191 unsafe impl<D: fidl::encoding::ResourceDialect>
10192 fidl::encoding::Encode<RingBufferStopResponse, D> for &RingBufferStopResponse
10193 {
10194 unsafe fn encode(
10195 self,
10196 encoder: &mut fidl::encoding::Encoder<'_, D>,
10197 offset: usize,
10198 mut depth: fidl::encoding::Depth,
10199 ) -> fidl::Result<()> {
10200 encoder.debug_check_bounds::<RingBufferStopResponse>(offset);
10201 let max_ordinal: u64 = self.max_ordinal_present();
10203 encoder.write_num(max_ordinal, offset);
10204 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
10205 if max_ordinal == 0 {
10207 return Ok(());
10208 }
10209 depth.increment()?;
10210 let envelope_size = 8;
10211 let bytes_len = max_ordinal as usize * envelope_size;
10212 #[allow(unused_variables)]
10213 let offset = encoder.out_of_line_offset(bytes_len);
10214 let mut _prev_end_offset: usize = 0;
10215
10216 Ok(())
10217 }
10218 }
10219
10220 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
10221 for RingBufferStopResponse
10222 {
10223 #[inline(always)]
10224 fn new_empty() -> Self {
10225 Self::default()
10226 }
10227
10228 unsafe fn decode(
10229 &mut self,
10230 decoder: &mut fidl::encoding::Decoder<'_, D>,
10231 offset: usize,
10232 mut depth: fidl::encoding::Depth,
10233 ) -> fidl::Result<()> {
10234 decoder.debug_check_bounds::<Self>(offset);
10235 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
10236 None => return Err(fidl::Error::NotNullable),
10237 Some(len) => len,
10238 };
10239 if len == 0 {
10241 return Ok(());
10242 };
10243 depth.increment()?;
10244 let envelope_size = 8;
10245 let bytes_len = len * envelope_size;
10246 let offset = decoder.out_of_line_offset(bytes_len)?;
10247 let mut _next_ordinal_to_read = 0;
10249 let mut next_offset = offset;
10250 let end_offset = offset + bytes_len;
10251
10252 while next_offset < end_offset {
10254 _next_ordinal_to_read += 1;
10255 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
10256 next_offset += envelope_size;
10257 }
10258
10259 Ok(())
10260 }
10261 }
10262
10263 impl RingBufferWatchDelayInfoResponse {
10264 #[inline(always)]
10265 fn max_ordinal_present(&self) -> u64 {
10266 if let Some(_) = self.delay_info {
10267 return 1;
10268 }
10269 0
10270 }
10271 }
10272
10273 impl fidl::encoding::ValueTypeMarker for RingBufferWatchDelayInfoResponse {
10274 type Borrowed<'a> = &'a Self;
10275 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10276 value
10277 }
10278 }
10279
10280 unsafe impl fidl::encoding::TypeMarker for RingBufferWatchDelayInfoResponse {
10281 type Owned = Self;
10282
10283 #[inline(always)]
10284 fn inline_align(_context: fidl::encoding::Context) -> usize {
10285 8
10286 }
10287
10288 #[inline(always)]
10289 fn inline_size(_context: fidl::encoding::Context) -> usize {
10290 16
10291 }
10292 }
10293
10294 unsafe impl<D: fidl::encoding::ResourceDialect>
10295 fidl::encoding::Encode<RingBufferWatchDelayInfoResponse, D>
10296 for &RingBufferWatchDelayInfoResponse
10297 {
10298 unsafe fn encode(
10299 self,
10300 encoder: &mut fidl::encoding::Encoder<'_, D>,
10301 offset: usize,
10302 mut depth: fidl::encoding::Depth,
10303 ) -> fidl::Result<()> {
10304 encoder.debug_check_bounds::<RingBufferWatchDelayInfoResponse>(offset);
10305 let max_ordinal: u64 = self.max_ordinal_present();
10307 encoder.write_num(max_ordinal, offset);
10308 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
10309 if max_ordinal == 0 {
10311 return Ok(());
10312 }
10313 depth.increment()?;
10314 let envelope_size = 8;
10315 let bytes_len = max_ordinal as usize * envelope_size;
10316 #[allow(unused_variables)]
10317 let offset = encoder.out_of_line_offset(bytes_len);
10318 let mut _prev_end_offset: usize = 0;
10319 if 1 > max_ordinal {
10320 return Ok(());
10321 }
10322
10323 let cur_offset: usize = (1 - 1) * envelope_size;
10326
10327 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
10329
10330 fidl::encoding::encode_in_envelope_optional::<DelayInfo, D>(
10335 self.delay_info
10336 .as_ref()
10337 .map(<DelayInfo as fidl::encoding::ValueTypeMarker>::borrow),
10338 encoder,
10339 offset + cur_offset,
10340 depth,
10341 )?;
10342
10343 _prev_end_offset = cur_offset + envelope_size;
10344
10345 Ok(())
10346 }
10347 }
10348
10349 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
10350 for RingBufferWatchDelayInfoResponse
10351 {
10352 #[inline(always)]
10353 fn new_empty() -> Self {
10354 Self::default()
10355 }
10356
10357 unsafe fn decode(
10358 &mut self,
10359 decoder: &mut fidl::encoding::Decoder<'_, D>,
10360 offset: usize,
10361 mut depth: fidl::encoding::Depth,
10362 ) -> fidl::Result<()> {
10363 decoder.debug_check_bounds::<Self>(offset);
10364 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
10365 None => return Err(fidl::Error::NotNullable),
10366 Some(len) => len,
10367 };
10368 if len == 0 {
10370 return Ok(());
10371 };
10372 depth.increment()?;
10373 let envelope_size = 8;
10374 let bytes_len = len * envelope_size;
10375 let offset = decoder.out_of_line_offset(bytes_len)?;
10376 let mut _next_ordinal_to_read = 0;
10378 let mut next_offset = offset;
10379 let end_offset = offset + bytes_len;
10380 _next_ordinal_to_read += 1;
10381 if next_offset >= end_offset {
10382 return Ok(());
10383 }
10384
10385 while _next_ordinal_to_read < 1 {
10387 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
10388 _next_ordinal_to_read += 1;
10389 next_offset += envelope_size;
10390 }
10391
10392 let next_out_of_line = decoder.next_out_of_line();
10393 let handles_before = decoder.remaining_handles();
10394 if let Some((inlined, num_bytes, num_handles)) =
10395 fidl::encoding::decode_envelope_header(decoder, next_offset)?
10396 {
10397 let member_inline_size =
10398 <DelayInfo as fidl::encoding::TypeMarker>::inline_size(decoder.context);
10399 if inlined != (member_inline_size <= 4) {
10400 return Err(fidl::Error::InvalidInlineBitInEnvelope);
10401 }
10402 let inner_offset;
10403 let mut inner_depth = depth.clone();
10404 if inlined {
10405 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
10406 inner_offset = next_offset;
10407 } else {
10408 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
10409 inner_depth.increment()?;
10410 }
10411 let val_ref = self.delay_info.get_or_insert_with(|| fidl::new_empty!(DelayInfo, D));
10412 fidl::decode!(DelayInfo, D, val_ref, decoder, inner_offset, inner_depth)?;
10413 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
10414 {
10415 return Err(fidl::Error::InvalidNumBytesInEnvelope);
10416 }
10417 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
10418 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
10419 }
10420 }
10421
10422 next_offset += envelope_size;
10423
10424 while next_offset < end_offset {
10426 _next_ordinal_to_read += 1;
10427 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
10428 next_offset += envelope_size;
10429 }
10430
10431 Ok(())
10432 }
10433 }
10434
10435 impl fidl::encoding::ValueTypeMarker for PacketStreamFormat {
10436 type Borrowed<'a> = &'a Self;
10437 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10438 value
10439 }
10440 }
10441
10442 unsafe impl fidl::encoding::TypeMarker for PacketStreamFormat {
10443 type Owned = Self;
10444
10445 #[inline(always)]
10446 fn inline_align(_context: fidl::encoding::Context) -> usize {
10447 8
10448 }
10449
10450 #[inline(always)]
10451 fn inline_size(_context: fidl::encoding::Context) -> usize {
10452 16
10453 }
10454 }
10455
10456 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<PacketStreamFormat, D>
10457 for &PacketStreamFormat
10458 {
10459 #[inline]
10460 unsafe fn encode(
10461 self,
10462 encoder: &mut fidl::encoding::Encoder<'_, D>,
10463 offset: usize,
10464 _depth: fidl::encoding::Depth,
10465 ) -> fidl::Result<()> {
10466 encoder.debug_check_bounds::<PacketStreamFormat>(offset);
10467 encoder.write_num::<u64>(self.ordinal(), offset);
10468 match self {
10469 PacketStreamFormat::PcmFormat(ref val) => {
10470 fidl::encoding::encode_in_envelope::<fidl_fuchsia_audio_common::Format, D>(
10471 <fidl_fuchsia_audio_common::Format as fidl::encoding::ValueTypeMarker>::borrow(val),
10472 encoder, offset + 8, _depth
10473 )
10474 }
10475 PacketStreamFormat::Encoding(ref val) => {
10476 fidl::encoding::encode_in_envelope::<fidl_fuchsia_hardware_audio_common::Encoding, D>(
10477 <fidl_fuchsia_hardware_audio_common::Encoding as fidl::encoding::ValueTypeMarker>::borrow(val),
10478 encoder, offset + 8, _depth
10479 )
10480 }
10481 PacketStreamFormat::__SourceBreaking { .. } => Err(fidl::Error::UnknownUnionTag),
10482 }
10483 }
10484 }
10485
10486 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for PacketStreamFormat {
10487 #[inline(always)]
10488 fn new_empty() -> Self {
10489 Self::__SourceBreaking { unknown_ordinal: 0 }
10490 }
10491
10492 #[inline]
10493 unsafe fn decode(
10494 &mut self,
10495 decoder: &mut fidl::encoding::Decoder<'_, D>,
10496 offset: usize,
10497 mut depth: fidl::encoding::Depth,
10498 ) -> fidl::Result<()> {
10499 decoder.debug_check_bounds::<Self>(offset);
10500 #[allow(unused_variables)]
10501 let next_out_of_line = decoder.next_out_of_line();
10502 let handles_before = decoder.remaining_handles();
10503 let (ordinal, inlined, num_bytes, num_handles) =
10504 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
10505
10506 let member_inline_size = match ordinal {
10507 1 => <fidl_fuchsia_audio_common::Format as fidl::encoding::TypeMarker>::inline_size(decoder.context),
10508 2 => <fidl_fuchsia_hardware_audio_common::Encoding as fidl::encoding::TypeMarker>::inline_size(decoder.context),
10509 0 => return Err(fidl::Error::UnknownUnionTag),
10510 _ => num_bytes as usize,
10511 };
10512
10513 if inlined != (member_inline_size <= 4) {
10514 return Err(fidl::Error::InvalidInlineBitInEnvelope);
10515 }
10516 let _inner_offset;
10517 if inlined {
10518 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
10519 _inner_offset = offset + 8;
10520 } else {
10521 depth.increment()?;
10522 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
10523 }
10524 match ordinal {
10525 1 => {
10526 #[allow(irrefutable_let_patterns)]
10527 if let PacketStreamFormat::PcmFormat(_) = self {
10528 } else {
10530 *self = PacketStreamFormat::PcmFormat(fidl::new_empty!(
10532 fidl_fuchsia_audio_common::Format,
10533 D
10534 ));
10535 }
10536 #[allow(irrefutable_let_patterns)]
10537 if let PacketStreamFormat::PcmFormat(ref mut val) = self {
10538 fidl::decode!(
10539 fidl_fuchsia_audio_common::Format,
10540 D,
10541 val,
10542 decoder,
10543 _inner_offset,
10544 depth
10545 )?;
10546 } else {
10547 unreachable!()
10548 }
10549 }
10550 2 => {
10551 #[allow(irrefutable_let_patterns)]
10552 if let PacketStreamFormat::Encoding(_) = self {
10553 } else {
10555 *self = PacketStreamFormat::Encoding(fidl::new_empty!(
10557 fidl_fuchsia_hardware_audio_common::Encoding,
10558 D
10559 ));
10560 }
10561 #[allow(irrefutable_let_patterns)]
10562 if let PacketStreamFormat::Encoding(ref mut val) = self {
10563 fidl::decode!(
10564 fidl_fuchsia_hardware_audio_common::Encoding,
10565 D,
10566 val,
10567 decoder,
10568 _inner_offset,
10569 depth
10570 )?;
10571 } else {
10572 unreachable!()
10573 }
10574 }
10575 #[allow(deprecated)]
10576 ordinal => {
10577 for _ in 0..num_handles {
10578 decoder.drop_next_handle()?;
10579 }
10580 *self = PacketStreamFormat::__SourceBreaking { unknown_ordinal: ordinal };
10581 }
10582 }
10583 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
10584 return Err(fidl::Error::InvalidNumBytesInEnvelope);
10585 }
10586 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
10587 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
10588 }
10589 Ok(())
10590 }
10591 }
10592
10593 impl fidl::encoding::ValueTypeMarker for PacketStreamSupportedFormats {
10594 type Borrowed<'a> = &'a Self;
10595 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10596 value
10597 }
10598 }
10599
10600 unsafe impl fidl::encoding::TypeMarker for PacketStreamSupportedFormats {
10601 type Owned = Self;
10602
10603 #[inline(always)]
10604 fn inline_align(_context: fidl::encoding::Context) -> usize {
10605 8
10606 }
10607
10608 #[inline(always)]
10609 fn inline_size(_context: fidl::encoding::Context) -> usize {
10610 16
10611 }
10612 }
10613
10614 unsafe impl<D: fidl::encoding::ResourceDialect>
10615 fidl::encoding::Encode<PacketStreamSupportedFormats, D> for &PacketStreamSupportedFormats
10616 {
10617 #[inline]
10618 unsafe fn encode(
10619 self,
10620 encoder: &mut fidl::encoding::Encoder<'_, D>,
10621 offset: usize,
10622 _depth: fidl::encoding::Depth,
10623 ) -> fidl::Result<()> {
10624 encoder.debug_check_bounds::<PacketStreamSupportedFormats>(offset);
10625 encoder.write_num::<u64>(self.ordinal(), offset);
10626 match self {
10627 PacketStreamSupportedFormats::PcmFormat(ref val) => {
10628 fidl::encoding::encode_in_envelope::<PcmFormatSet, D>(
10629 <PcmFormatSet as fidl::encoding::ValueTypeMarker>::borrow(val),
10630 encoder, offset + 8, _depth
10631 )
10632 }
10633 PacketStreamSupportedFormats::SupportedEncodings(ref val) => {
10634 fidl::encoding::encode_in_envelope::<fidl_fuchsia_hardware_audio_common::SupportedEncodings, D>(
10635 <fidl_fuchsia_hardware_audio_common::SupportedEncodings as fidl::encoding::ValueTypeMarker>::borrow(val),
10636 encoder, offset + 8, _depth
10637 )
10638 }
10639 PacketStreamSupportedFormats::__SourceBreaking { .. } => Err(fidl::Error::UnknownUnionTag),
10640 }
10641 }
10642 }
10643
10644 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
10645 for PacketStreamSupportedFormats
10646 {
10647 #[inline(always)]
10648 fn new_empty() -> Self {
10649 Self::__SourceBreaking { unknown_ordinal: 0 }
10650 }
10651
10652 #[inline]
10653 unsafe fn decode(
10654 &mut self,
10655 decoder: &mut fidl::encoding::Decoder<'_, D>,
10656 offset: usize,
10657 mut depth: fidl::encoding::Depth,
10658 ) -> fidl::Result<()> {
10659 decoder.debug_check_bounds::<Self>(offset);
10660 #[allow(unused_variables)]
10661 let next_out_of_line = decoder.next_out_of_line();
10662 let handles_before = decoder.remaining_handles();
10663 let (ordinal, inlined, num_bytes, num_handles) =
10664 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
10665
10666 let member_inline_size = match ordinal {
10667 1 => <PcmFormatSet as fidl::encoding::TypeMarker>::inline_size(decoder.context),
10668 2 => <fidl_fuchsia_hardware_audio_common::SupportedEncodings as fidl::encoding::TypeMarker>::inline_size(decoder.context),
10669 0 => return Err(fidl::Error::UnknownUnionTag),
10670 _ => num_bytes as usize,
10671 };
10672
10673 if inlined != (member_inline_size <= 4) {
10674 return Err(fidl::Error::InvalidInlineBitInEnvelope);
10675 }
10676 let _inner_offset;
10677 if inlined {
10678 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
10679 _inner_offset = offset + 8;
10680 } else {
10681 depth.increment()?;
10682 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
10683 }
10684 match ordinal {
10685 1 => {
10686 #[allow(irrefutable_let_patterns)]
10687 if let PacketStreamSupportedFormats::PcmFormat(_) = self {
10688 } else {
10690 *self = PacketStreamSupportedFormats::PcmFormat(fidl::new_empty!(
10692 PcmFormatSet,
10693 D
10694 ));
10695 }
10696 #[allow(irrefutable_let_patterns)]
10697 if let PacketStreamSupportedFormats::PcmFormat(ref mut val) = self {
10698 fidl::decode!(PcmFormatSet, D, val, decoder, _inner_offset, depth)?;
10699 } else {
10700 unreachable!()
10701 }
10702 }
10703 2 => {
10704 #[allow(irrefutable_let_patterns)]
10705 if let PacketStreamSupportedFormats::SupportedEncodings(_) = self {
10706 } else {
10708 *self = PacketStreamSupportedFormats::SupportedEncodings(fidl::new_empty!(
10710 fidl_fuchsia_hardware_audio_common::SupportedEncodings,
10711 D
10712 ));
10713 }
10714 #[allow(irrefutable_let_patterns)]
10715 if let PacketStreamSupportedFormats::SupportedEncodings(ref mut val) = self {
10716 fidl::decode!(
10717 fidl_fuchsia_hardware_audio_common::SupportedEncodings,
10718 D,
10719 val,
10720 decoder,
10721 _inner_offset,
10722 depth
10723 )?;
10724 } else {
10725 unreachable!()
10726 }
10727 }
10728 #[allow(deprecated)]
10729 ordinal => {
10730 for _ in 0..num_handles {
10731 decoder.drop_next_handle()?;
10732 }
10733 *self =
10734 PacketStreamSupportedFormats::__SourceBreaking { unknown_ordinal: ordinal };
10735 }
10736 }
10737 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
10738 return Err(fidl::Error::InvalidNumBytesInEnvelope);
10739 }
10740 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
10741 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
10742 }
10743 Ok(())
10744 }
10745 }
10746}