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
11#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
16#[repr(u32)]
17pub enum Compatibility {
18 Supported = 1,
21 DisallowedInsecure = 2,
23 DisallowedNotSupported = 3,
25}
26
27impl Compatibility {
28 #[inline]
29 pub fn from_primitive(prim: u32) -> Option<Self> {
30 match prim {
31 1 => Some(Self::Supported),
32 2 => Some(Self::DisallowedInsecure),
33 3 => Some(Self::DisallowedNotSupported),
34 _ => None,
35 }
36 }
37
38 #[inline]
39 pub const fn into_primitive(self) -> u32 {
40 self as u32
41 }
42}
43
44#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
46#[repr(u32)]
47pub enum ConnectionState {
48 Failed = 1,
50 Disconnected = 2,
52 Connecting = 3,
54 Connected = 4,
57}
58
59impl ConnectionState {
60 #[inline]
61 pub fn from_primitive(prim: u32) -> Option<Self> {
62 match prim {
63 1 => Some(Self::Failed),
64 2 => Some(Self::Disconnected),
65 3 => Some(Self::Connecting),
66 4 => Some(Self::Connected),
67 _ => None,
68 }
69 }
70
71 #[inline]
72 pub const fn into_primitive(self) -> u32 {
73 self as u32
74 }
75}
76
77#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
79#[repr(u32)]
80pub enum ConnectivityMode {
81 LocalOnly = 1,
84 Unrestricted = 2,
87}
88
89impl ConnectivityMode {
90 #[inline]
91 pub fn from_primitive(prim: u32) -> Option<Self> {
92 match prim {
93 1 => Some(Self::LocalOnly),
94 2 => Some(Self::Unrestricted),
95 _ => None,
96 }
97 }
98
99 #[inline]
100 pub const fn into_primitive(self) -> u32 {
101 self as u32
102 }
103}
104
105#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
107#[repr(u32)]
108pub enum DisconnectStatus {
109 TimedOut = 1,
111 CredentialsFailed = 2,
113 ConnectionStopped = 3,
118 ConnectionFailed = 4,
123}
124
125impl DisconnectStatus {
126 #[inline]
127 pub fn from_primitive(prim: u32) -> Option<Self> {
128 match prim {
129 1 => Some(Self::TimedOut),
130 2 => Some(Self::CredentialsFailed),
131 3 => Some(Self::ConnectionStopped),
132 4 => Some(Self::ConnectionFailed),
133 _ => None,
134 }
135 }
136
137 #[inline]
138 pub const fn into_primitive(self) -> u32 {
139 self as u32
140 }
141}
142
143#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
145#[repr(u32)]
146pub enum NetworkConfigChangeError {
147 GeneralError = 1,
148 NetworkConfigMissingFieldError = 2,
149 NetworkConfigWriteError = 3,
150 SsidEmptyError = 4,
151 CredentialLenError = 6,
152 InvalidSecurityCredentialError = 7,
153 UnsupportedCredentialError = 8,
154}
155
156impl NetworkConfigChangeError {
157 #[inline]
158 pub fn from_primitive(prim: u32) -> Option<Self> {
159 match prim {
160 1 => Some(Self::GeneralError),
161 2 => Some(Self::NetworkConfigMissingFieldError),
162 3 => Some(Self::NetworkConfigWriteError),
163 4 => Some(Self::SsidEmptyError),
164 6 => Some(Self::CredentialLenError),
165 7 => Some(Self::InvalidSecurityCredentialError),
166 8 => Some(Self::UnsupportedCredentialError),
167 _ => None,
168 }
169 }
170
171 #[inline]
172 pub const fn into_primitive(self) -> u32 {
173 self as u32
174 }
175}
176
177#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
179#[repr(u32)]
180pub enum OperatingBand {
181 Any = 1,
183 Only24Ghz = 2,
185 Only5Ghz = 3,
187}
188
189impl OperatingBand {
190 #[inline]
191 pub fn from_primitive(prim: u32) -> Option<Self> {
192 match prim {
193 1 => Some(Self::Any),
194 2 => Some(Self::Only24Ghz),
195 3 => Some(Self::Only5Ghz),
196 _ => None,
197 }
198 }
199
200 #[inline]
201 pub const fn into_primitive(self) -> u32 {
202 self as u32
203 }
204}
205
206#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
208#[repr(u32)]
209pub enum OperatingState {
210 Failed = 1,
214 Starting = 2,
216 Active = 3,
218}
219
220impl OperatingState {
221 #[inline]
222 pub fn from_primitive(prim: u32) -> Option<Self> {
223 match prim {
224 1 => Some(Self::Failed),
225 2 => Some(Self::Starting),
226 3 => Some(Self::Active),
227 _ => None,
228 }
229 }
230
231 #[inline]
232 pub const fn into_primitive(self) -> u32 {
233 self as u32
234 }
235}
236
237#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
238#[repr(u32)]
239pub enum RequestStatus {
240 Acknowledged = 0,
241 RejectedNotSupported = 1,
242 RejectedIncompatibleMode = 2,
243 RejectedAlreadyInUse = 3,
244 RejectedDuplicateRequest = 4,
245}
246
247impl RequestStatus {
248 #[inline]
249 pub fn from_primitive(prim: u32) -> Option<Self> {
250 match prim {
251 0 => Some(Self::Acknowledged),
252 1 => Some(Self::RejectedNotSupported),
253 2 => Some(Self::RejectedIncompatibleMode),
254 3 => Some(Self::RejectedAlreadyInUse),
255 4 => Some(Self::RejectedDuplicateRequest),
256 _ => None,
257 }
258 }
259
260 #[inline]
261 pub const fn into_primitive(self) -> u32 {
262 self as u32
263 }
264}
265
266#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
268#[repr(u32)]
269pub enum ScanErrorCode {
270 GeneralError = 1,
272 Cancelled = 2,
275}
276
277impl ScanErrorCode {
278 #[inline]
279 pub fn from_primitive(prim: u32) -> Option<Self> {
280 match prim {
281 1 => Some(Self::GeneralError),
282 2 => Some(Self::Cancelled),
283 _ => None,
284 }
285 }
286
287 #[inline]
288 pub const fn into_primitive(self) -> u32 {
289 self as u32
290 }
291}
292
293#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
297#[repr(u32)]
298pub enum SecurityType {
299 None = 1,
300 Wep = 2,
301 Wpa = 3,
302 Wpa2 = 4,
303 Wpa3 = 5,
304}
305
306impl SecurityType {
307 #[inline]
308 pub fn from_primitive(prim: u32) -> Option<Self> {
309 match prim {
310 1 => Some(Self::None),
311 2 => Some(Self::Wep),
312 3 => Some(Self::Wpa),
313 4 => Some(Self::Wpa2),
314 5 => Some(Self::Wpa3),
315 _ => None,
316 }
317 }
318
319 #[inline]
320 pub const fn into_primitive(self) -> u32 {
321 self as u32
322 }
323}
324
325#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
327#[repr(u32)]
328pub enum WlanClientState {
329 ConnectionsDisabled = 1,
330 ConnectionsEnabled = 2,
331}
332
333impl WlanClientState {
334 #[inline]
335 pub fn from_primitive(prim: u32) -> Option<Self> {
336 match prim {
337 1 => Some(Self::ConnectionsDisabled),
338 2 => Some(Self::ConnectionsEnabled),
339 _ => None,
340 }
341 }
342
343 #[inline]
344 pub const fn into_primitive(self) -> u32 {
345 self as u32
346 }
347}
348
349#[derive(Clone, Debug, PartialEq)]
350pub struct AccessPointControllerStartAccessPointRequest {
351 pub config: NetworkConfig,
352 pub mode: ConnectivityMode,
353 pub band: OperatingBand,
354}
355
356impl fidl::Persistable for AccessPointControllerStartAccessPointRequest {}
357
358#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
359pub struct AccessPointControllerStartAccessPointResponse {
360 pub status: RequestStatus,
361}
362
363impl fidl::Persistable for AccessPointControllerStartAccessPointResponse {}
364
365#[derive(Clone, Debug, PartialEq)]
366pub struct AccessPointControllerStopAccessPointRequest {
367 pub config: NetworkConfig,
368}
369
370impl fidl::Persistable for AccessPointControllerStopAccessPointRequest {}
371
372#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
373pub struct AccessPointControllerStopAccessPointResponse {
374 pub status: RequestStatus,
375}
376
377impl fidl::Persistable for AccessPointControllerStopAccessPointResponse {}
378
379#[derive(Clone, Debug, PartialEq)]
380pub struct AccessPointStateUpdatesOnAccessPointStateUpdateRequest {
381 pub access_points: Vec<AccessPointState>,
382}
383
384impl fidl::Persistable for AccessPointStateUpdatesOnAccessPointStateUpdateRequest {}
385
386#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
387pub struct ClientControllerConnectRequest {
388 pub id: NetworkIdentifier,
389}
390
391impl fidl::Persistable for ClientControllerConnectRequest {}
392
393#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
394pub struct ClientControllerConnectResponse {
395 pub status: RequestStatus,
396}
397
398impl fidl::Persistable for ClientControllerConnectResponse {}
399
400#[derive(Clone, Debug, PartialEq)]
401pub struct ClientControllerRemoveNetworkRequest {
402 pub config: NetworkConfig,
403}
404
405impl fidl::Persistable for ClientControllerRemoveNetworkRequest {}
406
407#[derive(Clone, Debug, PartialEq)]
408pub struct ClientControllerSaveNetworkRequest {
409 pub config: NetworkConfig,
410}
411
412impl fidl::Persistable for ClientControllerSaveNetworkRequest {}
413
414#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
415pub struct ClientControllerStartClientConnectionsResponse {
416 pub status: RequestStatus,
417}
418
419impl fidl::Persistable for ClientControllerStartClientConnectionsResponse {}
420
421#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
422pub struct ClientControllerStopClientConnectionsResponse {
423 pub status: RequestStatus,
424}
425
426impl fidl::Persistable for ClientControllerStopClientConnectionsResponse {}
427
428#[derive(Clone, Debug, PartialEq)]
429pub struct ClientStateUpdatesOnClientStateUpdateRequest {
430 pub summary: ClientStateSummary,
431}
432
433impl fidl::Persistable for ClientStateUpdatesOnClientStateUpdateRequest {}
434
435#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
437pub struct Empty;
438
439impl fidl::Persistable for Empty {}
440
441#[derive(Clone, Debug, PartialEq)]
442pub struct NetworkConfigIteratorGetNextResponse {
443 pub configs: Vec<NetworkConfig>,
444}
445
446impl fidl::Persistable for NetworkConfigIteratorGetNextResponse {}
447
448#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
452pub struct NetworkIdentifier {
453 pub ssid: Vec<u8>,
455 pub type_: SecurityType,
457}
458
459impl fidl::Persistable for NetworkIdentifier {}
460
461#[derive(Clone, Debug, PartialEq)]
462pub struct ScanResultIteratorGetNextResponse {
463 pub scan_results: Vec<ScanResult>,
464}
465
466impl fidl::Persistable for ScanResultIteratorGetNextResponse {}
467
468#[derive(Clone, Debug, Default, PartialEq)]
471pub struct AccessPointState {
472 pub state: Option<OperatingState>,
474 pub mode: Option<ConnectivityMode>,
476 pub band: Option<OperatingBand>,
478 pub frequency: Option<u32>,
480 pub clients: Option<ConnectedClientInformation>,
482 pub id: Option<NetworkIdentifier>,
484 #[doc(hidden)]
485 pub __source_breaking: fidl::marker::SourceBreaking,
486}
487
488impl fidl::Persistable for AccessPointState {}
489
490#[derive(Clone, Debug, Default, PartialEq)]
492pub struct Bss {
493 pub bssid: Option<[u8; 6]>,
495 pub rssi: Option<i8>,
497 pub frequency: Option<u32>,
499 pub timestamp_nanos: Option<i64>,
502 #[doc(hidden)]
503 pub __source_breaking: fidl::marker::SourceBreaking,
504}
505
506impl fidl::Persistable for Bss {}
507
508#[derive(Clone, Debug, Default, PartialEq)]
512pub struct ClientStateSummary {
513 pub state: Option<WlanClientState>,
515 pub networks: Option<Vec<NetworkState>>,
517 #[doc(hidden)]
518 pub __source_breaking: fidl::marker::SourceBreaking,
519}
520
521impl fidl::Persistable for ClientStateSummary {}
522
523#[derive(Clone, Debug, Default, PartialEq)]
526pub struct ConnectedClientInformation {
527 pub count: Option<u8>,
529 #[doc(hidden)]
530 pub __source_breaking: fidl::marker::SourceBreaking,
531}
532
533impl fidl::Persistable for ConnectedClientInformation {}
534
535#[derive(Clone, Debug, Default, PartialEq)]
537pub struct NetworkConfig {
538 pub id: Option<NetworkIdentifier>,
540 pub credential: Option<Credential>,
542 #[doc(hidden)]
543 pub __source_breaking: fidl::marker::SourceBreaking,
544}
545
546impl fidl::Persistable for NetworkConfig {}
547
548#[derive(Clone, Debug, Default, PartialEq)]
550pub struct NetworkState {
551 pub id: Option<NetworkIdentifier>,
553 pub state: Option<ConnectionState>,
555 pub status: Option<DisconnectStatus>,
557 #[doc(hidden)]
558 pub __source_breaking: fidl::marker::SourceBreaking,
559}
560
561impl fidl::Persistable for NetworkState {}
562
563#[derive(Clone, Debug, Default, PartialEq)]
567pub struct ScanResult {
568 pub id: Option<NetworkIdentifier>,
571 pub entries: Option<Vec<Bss>>,
573 pub compatibility: Option<Compatibility>,
575 #[doc(hidden)]
576 pub __source_breaking: fidl::marker::SourceBreaking,
577}
578
579impl fidl::Persistable for ScanResult {}
580
581#[derive(Clone, Debug)]
583pub enum Credential {
584 None(Empty),
586 Password(Vec<u8>),
588 Psk(Vec<u8>),
590 #[doc(hidden)]
591 __SourceBreaking { unknown_ordinal: u64 },
592}
593
594#[macro_export]
596macro_rules! CredentialUnknown {
597 () => {
598 _
599 };
600}
601
602impl PartialEq for Credential {
604 fn eq(&self, other: &Self) -> bool {
605 match (self, other) {
606 (Self::None(x), Self::None(y)) => *x == *y,
607 (Self::Password(x), Self::Password(y)) => *x == *y,
608 (Self::Psk(x), Self::Psk(y)) => *x == *y,
609 _ => false,
610 }
611 }
612}
613
614impl Credential {
615 #[inline]
616 pub fn ordinal(&self) -> u64 {
617 match *self {
618 Self::None(_) => 1,
619 Self::Password(_) => 2,
620 Self::Psk(_) => 3,
621 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
622 }
623 }
624
625 #[inline]
626 pub fn unknown_variant_for_testing() -> Self {
627 Self::__SourceBreaking { unknown_ordinal: 0 }
628 }
629
630 #[inline]
631 pub fn is_unknown(&self) -> bool {
632 match self {
633 Self::__SourceBreaking { .. } => true,
634 _ => false,
635 }
636 }
637}
638
639impl fidl::Persistable for Credential {}
640
641mod internal {
642 use super::*;
643 unsafe impl fidl::encoding::TypeMarker for Compatibility {
644 type Owned = Self;
645
646 #[inline(always)]
647 fn inline_align(_context: fidl::encoding::Context) -> usize {
648 std::mem::align_of::<u32>()
649 }
650
651 #[inline(always)]
652 fn inline_size(_context: fidl::encoding::Context) -> usize {
653 std::mem::size_of::<u32>()
654 }
655
656 #[inline(always)]
657 fn encode_is_copy() -> bool {
658 true
659 }
660
661 #[inline(always)]
662 fn decode_is_copy() -> bool {
663 false
664 }
665 }
666
667 impl fidl::encoding::ValueTypeMarker for Compatibility {
668 type Borrowed<'a> = Self;
669 #[inline(always)]
670 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
671 *value
672 }
673 }
674
675 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for Compatibility {
676 #[inline]
677 unsafe fn encode(
678 self,
679 encoder: &mut fidl::encoding::Encoder<'_, D>,
680 offset: usize,
681 _depth: fidl::encoding::Depth,
682 ) -> fidl::Result<()> {
683 encoder.debug_check_bounds::<Self>(offset);
684 encoder.write_num(self.into_primitive(), offset);
685 Ok(())
686 }
687 }
688
689 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Compatibility {
690 #[inline(always)]
691 fn new_empty() -> Self {
692 Self::Supported
693 }
694
695 #[inline]
696 unsafe fn decode(
697 &mut self,
698 decoder: &mut fidl::encoding::Decoder<'_, D>,
699 offset: usize,
700 _depth: fidl::encoding::Depth,
701 ) -> fidl::Result<()> {
702 decoder.debug_check_bounds::<Self>(offset);
703 let prim = decoder.read_num::<u32>(offset);
704
705 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
706 Ok(())
707 }
708 }
709 unsafe impl fidl::encoding::TypeMarker for ConnectionState {
710 type Owned = Self;
711
712 #[inline(always)]
713 fn inline_align(_context: fidl::encoding::Context) -> usize {
714 std::mem::align_of::<u32>()
715 }
716
717 #[inline(always)]
718 fn inline_size(_context: fidl::encoding::Context) -> usize {
719 std::mem::size_of::<u32>()
720 }
721
722 #[inline(always)]
723 fn encode_is_copy() -> bool {
724 true
725 }
726
727 #[inline(always)]
728 fn decode_is_copy() -> bool {
729 false
730 }
731 }
732
733 impl fidl::encoding::ValueTypeMarker for ConnectionState {
734 type Borrowed<'a> = Self;
735 #[inline(always)]
736 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
737 *value
738 }
739 }
740
741 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
742 for ConnectionState
743 {
744 #[inline]
745 unsafe fn encode(
746 self,
747 encoder: &mut fidl::encoding::Encoder<'_, D>,
748 offset: usize,
749 _depth: fidl::encoding::Depth,
750 ) -> fidl::Result<()> {
751 encoder.debug_check_bounds::<Self>(offset);
752 encoder.write_num(self.into_primitive(), offset);
753 Ok(())
754 }
755 }
756
757 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ConnectionState {
758 #[inline(always)]
759 fn new_empty() -> Self {
760 Self::Failed
761 }
762
763 #[inline]
764 unsafe fn decode(
765 &mut self,
766 decoder: &mut fidl::encoding::Decoder<'_, D>,
767 offset: usize,
768 _depth: fidl::encoding::Depth,
769 ) -> fidl::Result<()> {
770 decoder.debug_check_bounds::<Self>(offset);
771 let prim = decoder.read_num::<u32>(offset);
772
773 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
774 Ok(())
775 }
776 }
777 unsafe impl fidl::encoding::TypeMarker for ConnectivityMode {
778 type Owned = Self;
779
780 #[inline(always)]
781 fn inline_align(_context: fidl::encoding::Context) -> usize {
782 std::mem::align_of::<u32>()
783 }
784
785 #[inline(always)]
786 fn inline_size(_context: fidl::encoding::Context) -> usize {
787 std::mem::size_of::<u32>()
788 }
789
790 #[inline(always)]
791 fn encode_is_copy() -> bool {
792 true
793 }
794
795 #[inline(always)]
796 fn decode_is_copy() -> bool {
797 false
798 }
799 }
800
801 impl fidl::encoding::ValueTypeMarker for ConnectivityMode {
802 type Borrowed<'a> = Self;
803 #[inline(always)]
804 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
805 *value
806 }
807 }
808
809 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
810 for ConnectivityMode
811 {
812 #[inline]
813 unsafe fn encode(
814 self,
815 encoder: &mut fidl::encoding::Encoder<'_, D>,
816 offset: usize,
817 _depth: fidl::encoding::Depth,
818 ) -> fidl::Result<()> {
819 encoder.debug_check_bounds::<Self>(offset);
820 encoder.write_num(self.into_primitive(), offset);
821 Ok(())
822 }
823 }
824
825 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ConnectivityMode {
826 #[inline(always)]
827 fn new_empty() -> Self {
828 Self::LocalOnly
829 }
830
831 #[inline]
832 unsafe fn decode(
833 &mut self,
834 decoder: &mut fidl::encoding::Decoder<'_, D>,
835 offset: usize,
836 _depth: fidl::encoding::Depth,
837 ) -> fidl::Result<()> {
838 decoder.debug_check_bounds::<Self>(offset);
839 let prim = decoder.read_num::<u32>(offset);
840
841 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
842 Ok(())
843 }
844 }
845 unsafe impl fidl::encoding::TypeMarker for DisconnectStatus {
846 type Owned = Self;
847
848 #[inline(always)]
849 fn inline_align(_context: fidl::encoding::Context) -> usize {
850 std::mem::align_of::<u32>()
851 }
852
853 #[inline(always)]
854 fn inline_size(_context: fidl::encoding::Context) -> usize {
855 std::mem::size_of::<u32>()
856 }
857
858 #[inline(always)]
859 fn encode_is_copy() -> bool {
860 true
861 }
862
863 #[inline(always)]
864 fn decode_is_copy() -> bool {
865 false
866 }
867 }
868
869 impl fidl::encoding::ValueTypeMarker for DisconnectStatus {
870 type Borrowed<'a> = Self;
871 #[inline(always)]
872 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
873 *value
874 }
875 }
876
877 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
878 for DisconnectStatus
879 {
880 #[inline]
881 unsafe fn encode(
882 self,
883 encoder: &mut fidl::encoding::Encoder<'_, D>,
884 offset: usize,
885 _depth: fidl::encoding::Depth,
886 ) -> fidl::Result<()> {
887 encoder.debug_check_bounds::<Self>(offset);
888 encoder.write_num(self.into_primitive(), offset);
889 Ok(())
890 }
891 }
892
893 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DisconnectStatus {
894 #[inline(always)]
895 fn new_empty() -> Self {
896 Self::TimedOut
897 }
898
899 #[inline]
900 unsafe fn decode(
901 &mut self,
902 decoder: &mut fidl::encoding::Decoder<'_, D>,
903 offset: usize,
904 _depth: fidl::encoding::Depth,
905 ) -> fidl::Result<()> {
906 decoder.debug_check_bounds::<Self>(offset);
907 let prim = decoder.read_num::<u32>(offset);
908
909 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
910 Ok(())
911 }
912 }
913 unsafe impl fidl::encoding::TypeMarker for NetworkConfigChangeError {
914 type Owned = Self;
915
916 #[inline(always)]
917 fn inline_align(_context: fidl::encoding::Context) -> usize {
918 std::mem::align_of::<u32>()
919 }
920
921 #[inline(always)]
922 fn inline_size(_context: fidl::encoding::Context) -> usize {
923 std::mem::size_of::<u32>()
924 }
925
926 #[inline(always)]
927 fn encode_is_copy() -> bool {
928 true
929 }
930
931 #[inline(always)]
932 fn decode_is_copy() -> bool {
933 false
934 }
935 }
936
937 impl fidl::encoding::ValueTypeMarker for NetworkConfigChangeError {
938 type Borrowed<'a> = Self;
939 #[inline(always)]
940 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
941 *value
942 }
943 }
944
945 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
946 for NetworkConfigChangeError
947 {
948 #[inline]
949 unsafe fn encode(
950 self,
951 encoder: &mut fidl::encoding::Encoder<'_, D>,
952 offset: usize,
953 _depth: fidl::encoding::Depth,
954 ) -> fidl::Result<()> {
955 encoder.debug_check_bounds::<Self>(offset);
956 encoder.write_num(self.into_primitive(), offset);
957 Ok(())
958 }
959 }
960
961 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
962 for NetworkConfigChangeError
963 {
964 #[inline(always)]
965 fn new_empty() -> Self {
966 Self::GeneralError
967 }
968
969 #[inline]
970 unsafe fn decode(
971 &mut self,
972 decoder: &mut fidl::encoding::Decoder<'_, D>,
973 offset: usize,
974 _depth: fidl::encoding::Depth,
975 ) -> fidl::Result<()> {
976 decoder.debug_check_bounds::<Self>(offset);
977 let prim = decoder.read_num::<u32>(offset);
978
979 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
980 Ok(())
981 }
982 }
983 unsafe impl fidl::encoding::TypeMarker for OperatingBand {
984 type Owned = Self;
985
986 #[inline(always)]
987 fn inline_align(_context: fidl::encoding::Context) -> usize {
988 std::mem::align_of::<u32>()
989 }
990
991 #[inline(always)]
992 fn inline_size(_context: fidl::encoding::Context) -> usize {
993 std::mem::size_of::<u32>()
994 }
995
996 #[inline(always)]
997 fn encode_is_copy() -> bool {
998 true
999 }
1000
1001 #[inline(always)]
1002 fn decode_is_copy() -> bool {
1003 false
1004 }
1005 }
1006
1007 impl fidl::encoding::ValueTypeMarker for OperatingBand {
1008 type Borrowed<'a> = Self;
1009 #[inline(always)]
1010 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1011 *value
1012 }
1013 }
1014
1015 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for OperatingBand {
1016 #[inline]
1017 unsafe fn encode(
1018 self,
1019 encoder: &mut fidl::encoding::Encoder<'_, D>,
1020 offset: usize,
1021 _depth: fidl::encoding::Depth,
1022 ) -> fidl::Result<()> {
1023 encoder.debug_check_bounds::<Self>(offset);
1024 encoder.write_num(self.into_primitive(), offset);
1025 Ok(())
1026 }
1027 }
1028
1029 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for OperatingBand {
1030 #[inline(always)]
1031 fn new_empty() -> Self {
1032 Self::Any
1033 }
1034
1035 #[inline]
1036 unsafe fn decode(
1037 &mut self,
1038 decoder: &mut fidl::encoding::Decoder<'_, D>,
1039 offset: usize,
1040 _depth: fidl::encoding::Depth,
1041 ) -> fidl::Result<()> {
1042 decoder.debug_check_bounds::<Self>(offset);
1043 let prim = decoder.read_num::<u32>(offset);
1044
1045 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1046 Ok(())
1047 }
1048 }
1049 unsafe impl fidl::encoding::TypeMarker for OperatingState {
1050 type Owned = Self;
1051
1052 #[inline(always)]
1053 fn inline_align(_context: fidl::encoding::Context) -> usize {
1054 std::mem::align_of::<u32>()
1055 }
1056
1057 #[inline(always)]
1058 fn inline_size(_context: fidl::encoding::Context) -> usize {
1059 std::mem::size_of::<u32>()
1060 }
1061
1062 #[inline(always)]
1063 fn encode_is_copy() -> bool {
1064 true
1065 }
1066
1067 #[inline(always)]
1068 fn decode_is_copy() -> bool {
1069 false
1070 }
1071 }
1072
1073 impl fidl::encoding::ValueTypeMarker for OperatingState {
1074 type Borrowed<'a> = Self;
1075 #[inline(always)]
1076 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1077 *value
1078 }
1079 }
1080
1081 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for OperatingState {
1082 #[inline]
1083 unsafe fn encode(
1084 self,
1085 encoder: &mut fidl::encoding::Encoder<'_, D>,
1086 offset: usize,
1087 _depth: fidl::encoding::Depth,
1088 ) -> fidl::Result<()> {
1089 encoder.debug_check_bounds::<Self>(offset);
1090 encoder.write_num(self.into_primitive(), offset);
1091 Ok(())
1092 }
1093 }
1094
1095 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for OperatingState {
1096 #[inline(always)]
1097 fn new_empty() -> Self {
1098 Self::Failed
1099 }
1100
1101 #[inline]
1102 unsafe fn decode(
1103 &mut self,
1104 decoder: &mut fidl::encoding::Decoder<'_, D>,
1105 offset: usize,
1106 _depth: fidl::encoding::Depth,
1107 ) -> fidl::Result<()> {
1108 decoder.debug_check_bounds::<Self>(offset);
1109 let prim = decoder.read_num::<u32>(offset);
1110
1111 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1112 Ok(())
1113 }
1114 }
1115 unsafe impl fidl::encoding::TypeMarker for RequestStatus {
1116 type Owned = Self;
1117
1118 #[inline(always)]
1119 fn inline_align(_context: fidl::encoding::Context) -> usize {
1120 std::mem::align_of::<u32>()
1121 }
1122
1123 #[inline(always)]
1124 fn inline_size(_context: fidl::encoding::Context) -> usize {
1125 std::mem::size_of::<u32>()
1126 }
1127
1128 #[inline(always)]
1129 fn encode_is_copy() -> bool {
1130 true
1131 }
1132
1133 #[inline(always)]
1134 fn decode_is_copy() -> bool {
1135 false
1136 }
1137 }
1138
1139 impl fidl::encoding::ValueTypeMarker for RequestStatus {
1140 type Borrowed<'a> = Self;
1141 #[inline(always)]
1142 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1143 *value
1144 }
1145 }
1146
1147 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for RequestStatus {
1148 #[inline]
1149 unsafe fn encode(
1150 self,
1151 encoder: &mut fidl::encoding::Encoder<'_, D>,
1152 offset: usize,
1153 _depth: fidl::encoding::Depth,
1154 ) -> fidl::Result<()> {
1155 encoder.debug_check_bounds::<Self>(offset);
1156 encoder.write_num(self.into_primitive(), offset);
1157 Ok(())
1158 }
1159 }
1160
1161 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RequestStatus {
1162 #[inline(always)]
1163 fn new_empty() -> Self {
1164 Self::Acknowledged
1165 }
1166
1167 #[inline]
1168 unsafe fn decode(
1169 &mut self,
1170 decoder: &mut fidl::encoding::Decoder<'_, D>,
1171 offset: usize,
1172 _depth: fidl::encoding::Depth,
1173 ) -> fidl::Result<()> {
1174 decoder.debug_check_bounds::<Self>(offset);
1175 let prim = decoder.read_num::<u32>(offset);
1176
1177 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1178 Ok(())
1179 }
1180 }
1181 unsafe impl fidl::encoding::TypeMarker for ScanErrorCode {
1182 type Owned = Self;
1183
1184 #[inline(always)]
1185 fn inline_align(_context: fidl::encoding::Context) -> usize {
1186 std::mem::align_of::<u32>()
1187 }
1188
1189 #[inline(always)]
1190 fn inline_size(_context: fidl::encoding::Context) -> usize {
1191 std::mem::size_of::<u32>()
1192 }
1193
1194 #[inline(always)]
1195 fn encode_is_copy() -> bool {
1196 true
1197 }
1198
1199 #[inline(always)]
1200 fn decode_is_copy() -> bool {
1201 false
1202 }
1203 }
1204
1205 impl fidl::encoding::ValueTypeMarker for ScanErrorCode {
1206 type Borrowed<'a> = Self;
1207 #[inline(always)]
1208 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1209 *value
1210 }
1211 }
1212
1213 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for ScanErrorCode {
1214 #[inline]
1215 unsafe fn encode(
1216 self,
1217 encoder: &mut fidl::encoding::Encoder<'_, D>,
1218 offset: usize,
1219 _depth: fidl::encoding::Depth,
1220 ) -> fidl::Result<()> {
1221 encoder.debug_check_bounds::<Self>(offset);
1222 encoder.write_num(self.into_primitive(), offset);
1223 Ok(())
1224 }
1225 }
1226
1227 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanErrorCode {
1228 #[inline(always)]
1229 fn new_empty() -> Self {
1230 Self::GeneralError
1231 }
1232
1233 #[inline]
1234 unsafe fn decode(
1235 &mut self,
1236 decoder: &mut fidl::encoding::Decoder<'_, D>,
1237 offset: usize,
1238 _depth: fidl::encoding::Depth,
1239 ) -> fidl::Result<()> {
1240 decoder.debug_check_bounds::<Self>(offset);
1241 let prim = decoder.read_num::<u32>(offset);
1242
1243 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1244 Ok(())
1245 }
1246 }
1247 unsafe impl fidl::encoding::TypeMarker for SecurityType {
1248 type Owned = Self;
1249
1250 #[inline(always)]
1251 fn inline_align(_context: fidl::encoding::Context) -> usize {
1252 std::mem::align_of::<u32>()
1253 }
1254
1255 #[inline(always)]
1256 fn inline_size(_context: fidl::encoding::Context) -> usize {
1257 std::mem::size_of::<u32>()
1258 }
1259
1260 #[inline(always)]
1261 fn encode_is_copy() -> bool {
1262 true
1263 }
1264
1265 #[inline(always)]
1266 fn decode_is_copy() -> bool {
1267 false
1268 }
1269 }
1270
1271 impl fidl::encoding::ValueTypeMarker for SecurityType {
1272 type Borrowed<'a> = Self;
1273 #[inline(always)]
1274 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1275 *value
1276 }
1277 }
1278
1279 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for SecurityType {
1280 #[inline]
1281 unsafe fn encode(
1282 self,
1283 encoder: &mut fidl::encoding::Encoder<'_, D>,
1284 offset: usize,
1285 _depth: fidl::encoding::Depth,
1286 ) -> fidl::Result<()> {
1287 encoder.debug_check_bounds::<Self>(offset);
1288 encoder.write_num(self.into_primitive(), offset);
1289 Ok(())
1290 }
1291 }
1292
1293 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SecurityType {
1294 #[inline(always)]
1295 fn new_empty() -> Self {
1296 Self::None
1297 }
1298
1299 #[inline]
1300 unsafe fn decode(
1301 &mut self,
1302 decoder: &mut fidl::encoding::Decoder<'_, D>,
1303 offset: usize,
1304 _depth: fidl::encoding::Depth,
1305 ) -> fidl::Result<()> {
1306 decoder.debug_check_bounds::<Self>(offset);
1307 let prim = decoder.read_num::<u32>(offset);
1308
1309 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1310 Ok(())
1311 }
1312 }
1313 unsafe impl fidl::encoding::TypeMarker for WlanClientState {
1314 type Owned = Self;
1315
1316 #[inline(always)]
1317 fn inline_align(_context: fidl::encoding::Context) -> usize {
1318 std::mem::align_of::<u32>()
1319 }
1320
1321 #[inline(always)]
1322 fn inline_size(_context: fidl::encoding::Context) -> usize {
1323 std::mem::size_of::<u32>()
1324 }
1325
1326 #[inline(always)]
1327 fn encode_is_copy() -> bool {
1328 true
1329 }
1330
1331 #[inline(always)]
1332 fn decode_is_copy() -> bool {
1333 false
1334 }
1335 }
1336
1337 impl fidl::encoding::ValueTypeMarker for WlanClientState {
1338 type Borrowed<'a> = Self;
1339 #[inline(always)]
1340 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1341 *value
1342 }
1343 }
1344
1345 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1346 for WlanClientState
1347 {
1348 #[inline]
1349 unsafe fn encode(
1350 self,
1351 encoder: &mut fidl::encoding::Encoder<'_, D>,
1352 offset: usize,
1353 _depth: fidl::encoding::Depth,
1354 ) -> fidl::Result<()> {
1355 encoder.debug_check_bounds::<Self>(offset);
1356 encoder.write_num(self.into_primitive(), offset);
1357 Ok(())
1358 }
1359 }
1360
1361 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for WlanClientState {
1362 #[inline(always)]
1363 fn new_empty() -> Self {
1364 Self::ConnectionsDisabled
1365 }
1366
1367 #[inline]
1368 unsafe fn decode(
1369 &mut self,
1370 decoder: &mut fidl::encoding::Decoder<'_, D>,
1371 offset: usize,
1372 _depth: fidl::encoding::Depth,
1373 ) -> fidl::Result<()> {
1374 decoder.debug_check_bounds::<Self>(offset);
1375 let prim = decoder.read_num::<u32>(offset);
1376
1377 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1378 Ok(())
1379 }
1380 }
1381
1382 impl fidl::encoding::ValueTypeMarker for AccessPointControllerStartAccessPointRequest {
1383 type Borrowed<'a> = &'a Self;
1384 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1385 value
1386 }
1387 }
1388
1389 unsafe impl fidl::encoding::TypeMarker for AccessPointControllerStartAccessPointRequest {
1390 type Owned = Self;
1391
1392 #[inline(always)]
1393 fn inline_align(_context: fidl::encoding::Context) -> usize {
1394 8
1395 }
1396
1397 #[inline(always)]
1398 fn inline_size(_context: fidl::encoding::Context) -> usize {
1399 24
1400 }
1401 }
1402
1403 unsafe impl<D: fidl::encoding::ResourceDialect>
1404 fidl::encoding::Encode<AccessPointControllerStartAccessPointRequest, D>
1405 for &AccessPointControllerStartAccessPointRequest
1406 {
1407 #[inline]
1408 unsafe fn encode(
1409 self,
1410 encoder: &mut fidl::encoding::Encoder<'_, D>,
1411 offset: usize,
1412 _depth: fidl::encoding::Depth,
1413 ) -> fidl::Result<()> {
1414 encoder.debug_check_bounds::<AccessPointControllerStartAccessPointRequest>(offset);
1415 fidl::encoding::Encode::<AccessPointControllerStartAccessPointRequest, D>::encode(
1417 (
1418 <NetworkConfig as fidl::encoding::ValueTypeMarker>::borrow(&self.config),
1419 <ConnectivityMode as fidl::encoding::ValueTypeMarker>::borrow(&self.mode),
1420 <OperatingBand as fidl::encoding::ValueTypeMarker>::borrow(&self.band),
1421 ),
1422 encoder,
1423 offset,
1424 _depth,
1425 )
1426 }
1427 }
1428 unsafe impl<
1429 D: fidl::encoding::ResourceDialect,
1430 T0: fidl::encoding::Encode<NetworkConfig, D>,
1431 T1: fidl::encoding::Encode<ConnectivityMode, D>,
1432 T2: fidl::encoding::Encode<OperatingBand, D>,
1433 > fidl::encoding::Encode<AccessPointControllerStartAccessPointRequest, D> for (T0, T1, T2)
1434 {
1435 #[inline]
1436 unsafe fn encode(
1437 self,
1438 encoder: &mut fidl::encoding::Encoder<'_, D>,
1439 offset: usize,
1440 depth: fidl::encoding::Depth,
1441 ) -> fidl::Result<()> {
1442 encoder.debug_check_bounds::<AccessPointControllerStartAccessPointRequest>(offset);
1443 self.0.encode(encoder, offset + 0, depth)?;
1447 self.1.encode(encoder, offset + 16, depth)?;
1448 self.2.encode(encoder, offset + 20, depth)?;
1449 Ok(())
1450 }
1451 }
1452
1453 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1454 for AccessPointControllerStartAccessPointRequest
1455 {
1456 #[inline(always)]
1457 fn new_empty() -> Self {
1458 Self {
1459 config: fidl::new_empty!(NetworkConfig, D),
1460 mode: fidl::new_empty!(ConnectivityMode, D),
1461 band: fidl::new_empty!(OperatingBand, D),
1462 }
1463 }
1464
1465 #[inline]
1466 unsafe fn decode(
1467 &mut self,
1468 decoder: &mut fidl::encoding::Decoder<'_, D>,
1469 offset: usize,
1470 _depth: fidl::encoding::Depth,
1471 ) -> fidl::Result<()> {
1472 decoder.debug_check_bounds::<Self>(offset);
1473 fidl::decode!(NetworkConfig, D, &mut self.config, decoder, offset + 0, _depth)?;
1475 fidl::decode!(ConnectivityMode, D, &mut self.mode, decoder, offset + 16, _depth)?;
1476 fidl::decode!(OperatingBand, D, &mut self.band, decoder, offset + 20, _depth)?;
1477 Ok(())
1478 }
1479 }
1480
1481 impl fidl::encoding::ValueTypeMarker for AccessPointControllerStartAccessPointResponse {
1482 type Borrowed<'a> = &'a Self;
1483 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1484 value
1485 }
1486 }
1487
1488 unsafe impl fidl::encoding::TypeMarker for AccessPointControllerStartAccessPointResponse {
1489 type Owned = Self;
1490
1491 #[inline(always)]
1492 fn inline_align(_context: fidl::encoding::Context) -> usize {
1493 4
1494 }
1495
1496 #[inline(always)]
1497 fn inline_size(_context: fidl::encoding::Context) -> usize {
1498 4
1499 }
1500 }
1501
1502 unsafe impl<D: fidl::encoding::ResourceDialect>
1503 fidl::encoding::Encode<AccessPointControllerStartAccessPointResponse, D>
1504 for &AccessPointControllerStartAccessPointResponse
1505 {
1506 #[inline]
1507 unsafe fn encode(
1508 self,
1509 encoder: &mut fidl::encoding::Encoder<'_, D>,
1510 offset: usize,
1511 _depth: fidl::encoding::Depth,
1512 ) -> fidl::Result<()> {
1513 encoder.debug_check_bounds::<AccessPointControllerStartAccessPointResponse>(offset);
1514 fidl::encoding::Encode::<AccessPointControllerStartAccessPointResponse, D>::encode(
1516 (<RequestStatus as fidl::encoding::ValueTypeMarker>::borrow(&self.status),),
1517 encoder,
1518 offset,
1519 _depth,
1520 )
1521 }
1522 }
1523 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<RequestStatus, D>>
1524 fidl::encoding::Encode<AccessPointControllerStartAccessPointResponse, D> for (T0,)
1525 {
1526 #[inline]
1527 unsafe fn encode(
1528 self,
1529 encoder: &mut fidl::encoding::Encoder<'_, D>,
1530 offset: usize,
1531 depth: fidl::encoding::Depth,
1532 ) -> fidl::Result<()> {
1533 encoder.debug_check_bounds::<AccessPointControllerStartAccessPointResponse>(offset);
1534 self.0.encode(encoder, offset + 0, depth)?;
1538 Ok(())
1539 }
1540 }
1541
1542 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1543 for AccessPointControllerStartAccessPointResponse
1544 {
1545 #[inline(always)]
1546 fn new_empty() -> Self {
1547 Self { status: fidl::new_empty!(RequestStatus, D) }
1548 }
1549
1550 #[inline]
1551 unsafe fn decode(
1552 &mut self,
1553 decoder: &mut fidl::encoding::Decoder<'_, D>,
1554 offset: usize,
1555 _depth: fidl::encoding::Depth,
1556 ) -> fidl::Result<()> {
1557 decoder.debug_check_bounds::<Self>(offset);
1558 fidl::decode!(RequestStatus, D, &mut self.status, decoder, offset + 0, _depth)?;
1560 Ok(())
1561 }
1562 }
1563
1564 impl fidl::encoding::ValueTypeMarker for AccessPointControllerStopAccessPointRequest {
1565 type Borrowed<'a> = &'a Self;
1566 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1567 value
1568 }
1569 }
1570
1571 unsafe impl fidl::encoding::TypeMarker for AccessPointControllerStopAccessPointRequest {
1572 type Owned = Self;
1573
1574 #[inline(always)]
1575 fn inline_align(_context: fidl::encoding::Context) -> usize {
1576 8
1577 }
1578
1579 #[inline(always)]
1580 fn inline_size(_context: fidl::encoding::Context) -> usize {
1581 16
1582 }
1583 }
1584
1585 unsafe impl<D: fidl::encoding::ResourceDialect>
1586 fidl::encoding::Encode<AccessPointControllerStopAccessPointRequest, D>
1587 for &AccessPointControllerStopAccessPointRequest
1588 {
1589 #[inline]
1590 unsafe fn encode(
1591 self,
1592 encoder: &mut fidl::encoding::Encoder<'_, D>,
1593 offset: usize,
1594 _depth: fidl::encoding::Depth,
1595 ) -> fidl::Result<()> {
1596 encoder.debug_check_bounds::<AccessPointControllerStopAccessPointRequest>(offset);
1597 fidl::encoding::Encode::<AccessPointControllerStopAccessPointRequest, D>::encode(
1599 (<NetworkConfig as fidl::encoding::ValueTypeMarker>::borrow(&self.config),),
1600 encoder,
1601 offset,
1602 _depth,
1603 )
1604 }
1605 }
1606 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<NetworkConfig, D>>
1607 fidl::encoding::Encode<AccessPointControllerStopAccessPointRequest, D> for (T0,)
1608 {
1609 #[inline]
1610 unsafe fn encode(
1611 self,
1612 encoder: &mut fidl::encoding::Encoder<'_, D>,
1613 offset: usize,
1614 depth: fidl::encoding::Depth,
1615 ) -> fidl::Result<()> {
1616 encoder.debug_check_bounds::<AccessPointControllerStopAccessPointRequest>(offset);
1617 self.0.encode(encoder, offset + 0, depth)?;
1621 Ok(())
1622 }
1623 }
1624
1625 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1626 for AccessPointControllerStopAccessPointRequest
1627 {
1628 #[inline(always)]
1629 fn new_empty() -> Self {
1630 Self { config: fidl::new_empty!(NetworkConfig, D) }
1631 }
1632
1633 #[inline]
1634 unsafe fn decode(
1635 &mut self,
1636 decoder: &mut fidl::encoding::Decoder<'_, D>,
1637 offset: usize,
1638 _depth: fidl::encoding::Depth,
1639 ) -> fidl::Result<()> {
1640 decoder.debug_check_bounds::<Self>(offset);
1641 fidl::decode!(NetworkConfig, D, &mut self.config, decoder, offset + 0, _depth)?;
1643 Ok(())
1644 }
1645 }
1646
1647 impl fidl::encoding::ValueTypeMarker for AccessPointControllerStopAccessPointResponse {
1648 type Borrowed<'a> = &'a Self;
1649 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1650 value
1651 }
1652 }
1653
1654 unsafe impl fidl::encoding::TypeMarker for AccessPointControllerStopAccessPointResponse {
1655 type Owned = Self;
1656
1657 #[inline(always)]
1658 fn inline_align(_context: fidl::encoding::Context) -> usize {
1659 4
1660 }
1661
1662 #[inline(always)]
1663 fn inline_size(_context: fidl::encoding::Context) -> usize {
1664 4
1665 }
1666 }
1667
1668 unsafe impl<D: fidl::encoding::ResourceDialect>
1669 fidl::encoding::Encode<AccessPointControllerStopAccessPointResponse, D>
1670 for &AccessPointControllerStopAccessPointResponse
1671 {
1672 #[inline]
1673 unsafe fn encode(
1674 self,
1675 encoder: &mut fidl::encoding::Encoder<'_, D>,
1676 offset: usize,
1677 _depth: fidl::encoding::Depth,
1678 ) -> fidl::Result<()> {
1679 encoder.debug_check_bounds::<AccessPointControllerStopAccessPointResponse>(offset);
1680 fidl::encoding::Encode::<AccessPointControllerStopAccessPointResponse, D>::encode(
1682 (<RequestStatus as fidl::encoding::ValueTypeMarker>::borrow(&self.status),),
1683 encoder,
1684 offset,
1685 _depth,
1686 )
1687 }
1688 }
1689 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<RequestStatus, D>>
1690 fidl::encoding::Encode<AccessPointControllerStopAccessPointResponse, D> for (T0,)
1691 {
1692 #[inline]
1693 unsafe fn encode(
1694 self,
1695 encoder: &mut fidl::encoding::Encoder<'_, D>,
1696 offset: usize,
1697 depth: fidl::encoding::Depth,
1698 ) -> fidl::Result<()> {
1699 encoder.debug_check_bounds::<AccessPointControllerStopAccessPointResponse>(offset);
1700 self.0.encode(encoder, offset + 0, depth)?;
1704 Ok(())
1705 }
1706 }
1707
1708 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1709 for AccessPointControllerStopAccessPointResponse
1710 {
1711 #[inline(always)]
1712 fn new_empty() -> Self {
1713 Self { status: fidl::new_empty!(RequestStatus, D) }
1714 }
1715
1716 #[inline]
1717 unsafe fn decode(
1718 &mut self,
1719 decoder: &mut fidl::encoding::Decoder<'_, D>,
1720 offset: usize,
1721 _depth: fidl::encoding::Depth,
1722 ) -> fidl::Result<()> {
1723 decoder.debug_check_bounds::<Self>(offset);
1724 fidl::decode!(RequestStatus, D, &mut self.status, decoder, offset + 0, _depth)?;
1726 Ok(())
1727 }
1728 }
1729
1730 impl fidl::encoding::ValueTypeMarker for AccessPointStateUpdatesOnAccessPointStateUpdateRequest {
1731 type Borrowed<'a> = &'a Self;
1732 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1733 value
1734 }
1735 }
1736
1737 unsafe impl fidl::encoding::TypeMarker for AccessPointStateUpdatesOnAccessPointStateUpdateRequest {
1738 type Owned = Self;
1739
1740 #[inline(always)]
1741 fn inline_align(_context: fidl::encoding::Context) -> usize {
1742 8
1743 }
1744
1745 #[inline(always)]
1746 fn inline_size(_context: fidl::encoding::Context) -> usize {
1747 16
1748 }
1749 }
1750
1751 unsafe impl<D: fidl::encoding::ResourceDialect>
1752 fidl::encoding::Encode<AccessPointStateUpdatesOnAccessPointStateUpdateRequest, D>
1753 for &AccessPointStateUpdatesOnAccessPointStateUpdateRequest
1754 {
1755 #[inline]
1756 unsafe fn encode(
1757 self,
1758 encoder: &mut fidl::encoding::Encoder<'_, D>,
1759 offset: usize,
1760 _depth: fidl::encoding::Depth,
1761 ) -> fidl::Result<()> {
1762 encoder.debug_check_bounds::<AccessPointStateUpdatesOnAccessPointStateUpdateRequest>(
1763 offset,
1764 );
1765 fidl::encoding::Encode::<AccessPointStateUpdatesOnAccessPointStateUpdateRequest, D>::encode(
1767 (
1768 <fidl::encoding::UnboundedVector<AccessPointState> as fidl::encoding::ValueTypeMarker>::borrow(&self.access_points),
1769 ),
1770 encoder, offset, _depth
1771 )
1772 }
1773 }
1774 unsafe impl<
1775 D: fidl::encoding::ResourceDialect,
1776 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<AccessPointState>, D>,
1777 > fidl::encoding::Encode<AccessPointStateUpdatesOnAccessPointStateUpdateRequest, D>
1778 for (T0,)
1779 {
1780 #[inline]
1781 unsafe fn encode(
1782 self,
1783 encoder: &mut fidl::encoding::Encoder<'_, D>,
1784 offset: usize,
1785 depth: fidl::encoding::Depth,
1786 ) -> fidl::Result<()> {
1787 encoder.debug_check_bounds::<AccessPointStateUpdatesOnAccessPointStateUpdateRequest>(
1788 offset,
1789 );
1790 self.0.encode(encoder, offset + 0, depth)?;
1794 Ok(())
1795 }
1796 }
1797
1798 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1799 for AccessPointStateUpdatesOnAccessPointStateUpdateRequest
1800 {
1801 #[inline(always)]
1802 fn new_empty() -> Self {
1803 Self {
1804 access_points: fidl::new_empty!(
1805 fidl::encoding::UnboundedVector<AccessPointState>,
1806 D
1807 ),
1808 }
1809 }
1810
1811 #[inline]
1812 unsafe fn decode(
1813 &mut self,
1814 decoder: &mut fidl::encoding::Decoder<'_, D>,
1815 offset: usize,
1816 _depth: fidl::encoding::Depth,
1817 ) -> fidl::Result<()> {
1818 decoder.debug_check_bounds::<Self>(offset);
1819 fidl::decode!(
1821 fidl::encoding::UnboundedVector<AccessPointState>,
1822 D,
1823 &mut self.access_points,
1824 decoder,
1825 offset + 0,
1826 _depth
1827 )?;
1828 Ok(())
1829 }
1830 }
1831
1832 impl fidl::encoding::ValueTypeMarker for ClientControllerConnectRequest {
1833 type Borrowed<'a> = &'a Self;
1834 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1835 value
1836 }
1837 }
1838
1839 unsafe impl fidl::encoding::TypeMarker for ClientControllerConnectRequest {
1840 type Owned = Self;
1841
1842 #[inline(always)]
1843 fn inline_align(_context: fidl::encoding::Context) -> usize {
1844 8
1845 }
1846
1847 #[inline(always)]
1848 fn inline_size(_context: fidl::encoding::Context) -> usize {
1849 24
1850 }
1851 }
1852
1853 unsafe impl<D: fidl::encoding::ResourceDialect>
1854 fidl::encoding::Encode<ClientControllerConnectRequest, D>
1855 for &ClientControllerConnectRequest
1856 {
1857 #[inline]
1858 unsafe fn encode(
1859 self,
1860 encoder: &mut fidl::encoding::Encoder<'_, D>,
1861 offset: usize,
1862 _depth: fidl::encoding::Depth,
1863 ) -> fidl::Result<()> {
1864 encoder.debug_check_bounds::<ClientControllerConnectRequest>(offset);
1865 fidl::encoding::Encode::<ClientControllerConnectRequest, D>::encode(
1867 (<NetworkIdentifier as fidl::encoding::ValueTypeMarker>::borrow(&self.id),),
1868 encoder,
1869 offset,
1870 _depth,
1871 )
1872 }
1873 }
1874 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<NetworkIdentifier, D>>
1875 fidl::encoding::Encode<ClientControllerConnectRequest, D> for (T0,)
1876 {
1877 #[inline]
1878 unsafe fn encode(
1879 self,
1880 encoder: &mut fidl::encoding::Encoder<'_, D>,
1881 offset: usize,
1882 depth: fidl::encoding::Depth,
1883 ) -> fidl::Result<()> {
1884 encoder.debug_check_bounds::<ClientControllerConnectRequest>(offset);
1885 self.0.encode(encoder, offset + 0, depth)?;
1889 Ok(())
1890 }
1891 }
1892
1893 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1894 for ClientControllerConnectRequest
1895 {
1896 #[inline(always)]
1897 fn new_empty() -> Self {
1898 Self { id: fidl::new_empty!(NetworkIdentifier, D) }
1899 }
1900
1901 #[inline]
1902 unsafe fn decode(
1903 &mut self,
1904 decoder: &mut fidl::encoding::Decoder<'_, D>,
1905 offset: usize,
1906 _depth: fidl::encoding::Depth,
1907 ) -> fidl::Result<()> {
1908 decoder.debug_check_bounds::<Self>(offset);
1909 fidl::decode!(NetworkIdentifier, D, &mut self.id, decoder, offset + 0, _depth)?;
1911 Ok(())
1912 }
1913 }
1914
1915 impl fidl::encoding::ValueTypeMarker for ClientControllerConnectResponse {
1916 type Borrowed<'a> = &'a Self;
1917 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1918 value
1919 }
1920 }
1921
1922 unsafe impl fidl::encoding::TypeMarker for ClientControllerConnectResponse {
1923 type Owned = Self;
1924
1925 #[inline(always)]
1926 fn inline_align(_context: fidl::encoding::Context) -> usize {
1927 4
1928 }
1929
1930 #[inline(always)]
1931 fn inline_size(_context: fidl::encoding::Context) -> usize {
1932 4
1933 }
1934 }
1935
1936 unsafe impl<D: fidl::encoding::ResourceDialect>
1937 fidl::encoding::Encode<ClientControllerConnectResponse, D>
1938 for &ClientControllerConnectResponse
1939 {
1940 #[inline]
1941 unsafe fn encode(
1942 self,
1943 encoder: &mut fidl::encoding::Encoder<'_, D>,
1944 offset: usize,
1945 _depth: fidl::encoding::Depth,
1946 ) -> fidl::Result<()> {
1947 encoder.debug_check_bounds::<ClientControllerConnectResponse>(offset);
1948 fidl::encoding::Encode::<ClientControllerConnectResponse, D>::encode(
1950 (<RequestStatus as fidl::encoding::ValueTypeMarker>::borrow(&self.status),),
1951 encoder,
1952 offset,
1953 _depth,
1954 )
1955 }
1956 }
1957 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<RequestStatus, D>>
1958 fidl::encoding::Encode<ClientControllerConnectResponse, D> for (T0,)
1959 {
1960 #[inline]
1961 unsafe fn encode(
1962 self,
1963 encoder: &mut fidl::encoding::Encoder<'_, D>,
1964 offset: usize,
1965 depth: fidl::encoding::Depth,
1966 ) -> fidl::Result<()> {
1967 encoder.debug_check_bounds::<ClientControllerConnectResponse>(offset);
1968 self.0.encode(encoder, offset + 0, depth)?;
1972 Ok(())
1973 }
1974 }
1975
1976 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1977 for ClientControllerConnectResponse
1978 {
1979 #[inline(always)]
1980 fn new_empty() -> Self {
1981 Self { status: fidl::new_empty!(RequestStatus, D) }
1982 }
1983
1984 #[inline]
1985 unsafe fn decode(
1986 &mut self,
1987 decoder: &mut fidl::encoding::Decoder<'_, D>,
1988 offset: usize,
1989 _depth: fidl::encoding::Depth,
1990 ) -> fidl::Result<()> {
1991 decoder.debug_check_bounds::<Self>(offset);
1992 fidl::decode!(RequestStatus, D, &mut self.status, decoder, offset + 0, _depth)?;
1994 Ok(())
1995 }
1996 }
1997
1998 impl fidl::encoding::ValueTypeMarker for ClientControllerRemoveNetworkRequest {
1999 type Borrowed<'a> = &'a Self;
2000 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2001 value
2002 }
2003 }
2004
2005 unsafe impl fidl::encoding::TypeMarker for ClientControllerRemoveNetworkRequest {
2006 type Owned = Self;
2007
2008 #[inline(always)]
2009 fn inline_align(_context: fidl::encoding::Context) -> usize {
2010 8
2011 }
2012
2013 #[inline(always)]
2014 fn inline_size(_context: fidl::encoding::Context) -> usize {
2015 16
2016 }
2017 }
2018
2019 unsafe impl<D: fidl::encoding::ResourceDialect>
2020 fidl::encoding::Encode<ClientControllerRemoveNetworkRequest, D>
2021 for &ClientControllerRemoveNetworkRequest
2022 {
2023 #[inline]
2024 unsafe fn encode(
2025 self,
2026 encoder: &mut fidl::encoding::Encoder<'_, D>,
2027 offset: usize,
2028 _depth: fidl::encoding::Depth,
2029 ) -> fidl::Result<()> {
2030 encoder.debug_check_bounds::<ClientControllerRemoveNetworkRequest>(offset);
2031 fidl::encoding::Encode::<ClientControllerRemoveNetworkRequest, D>::encode(
2033 (<NetworkConfig as fidl::encoding::ValueTypeMarker>::borrow(&self.config),),
2034 encoder,
2035 offset,
2036 _depth,
2037 )
2038 }
2039 }
2040 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<NetworkConfig, D>>
2041 fidl::encoding::Encode<ClientControllerRemoveNetworkRequest, D> for (T0,)
2042 {
2043 #[inline]
2044 unsafe fn encode(
2045 self,
2046 encoder: &mut fidl::encoding::Encoder<'_, D>,
2047 offset: usize,
2048 depth: fidl::encoding::Depth,
2049 ) -> fidl::Result<()> {
2050 encoder.debug_check_bounds::<ClientControllerRemoveNetworkRequest>(offset);
2051 self.0.encode(encoder, offset + 0, depth)?;
2055 Ok(())
2056 }
2057 }
2058
2059 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2060 for ClientControllerRemoveNetworkRequest
2061 {
2062 #[inline(always)]
2063 fn new_empty() -> Self {
2064 Self { config: fidl::new_empty!(NetworkConfig, D) }
2065 }
2066
2067 #[inline]
2068 unsafe fn decode(
2069 &mut self,
2070 decoder: &mut fidl::encoding::Decoder<'_, D>,
2071 offset: usize,
2072 _depth: fidl::encoding::Depth,
2073 ) -> fidl::Result<()> {
2074 decoder.debug_check_bounds::<Self>(offset);
2075 fidl::decode!(NetworkConfig, D, &mut self.config, decoder, offset + 0, _depth)?;
2077 Ok(())
2078 }
2079 }
2080
2081 impl fidl::encoding::ValueTypeMarker for ClientControllerSaveNetworkRequest {
2082 type Borrowed<'a> = &'a Self;
2083 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2084 value
2085 }
2086 }
2087
2088 unsafe impl fidl::encoding::TypeMarker for ClientControllerSaveNetworkRequest {
2089 type Owned = Self;
2090
2091 #[inline(always)]
2092 fn inline_align(_context: fidl::encoding::Context) -> usize {
2093 8
2094 }
2095
2096 #[inline(always)]
2097 fn inline_size(_context: fidl::encoding::Context) -> usize {
2098 16
2099 }
2100 }
2101
2102 unsafe impl<D: fidl::encoding::ResourceDialect>
2103 fidl::encoding::Encode<ClientControllerSaveNetworkRequest, D>
2104 for &ClientControllerSaveNetworkRequest
2105 {
2106 #[inline]
2107 unsafe fn encode(
2108 self,
2109 encoder: &mut fidl::encoding::Encoder<'_, D>,
2110 offset: usize,
2111 _depth: fidl::encoding::Depth,
2112 ) -> fidl::Result<()> {
2113 encoder.debug_check_bounds::<ClientControllerSaveNetworkRequest>(offset);
2114 fidl::encoding::Encode::<ClientControllerSaveNetworkRequest, D>::encode(
2116 (<NetworkConfig as fidl::encoding::ValueTypeMarker>::borrow(&self.config),),
2117 encoder,
2118 offset,
2119 _depth,
2120 )
2121 }
2122 }
2123 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<NetworkConfig, D>>
2124 fidl::encoding::Encode<ClientControllerSaveNetworkRequest, D> for (T0,)
2125 {
2126 #[inline]
2127 unsafe fn encode(
2128 self,
2129 encoder: &mut fidl::encoding::Encoder<'_, D>,
2130 offset: usize,
2131 depth: fidl::encoding::Depth,
2132 ) -> fidl::Result<()> {
2133 encoder.debug_check_bounds::<ClientControllerSaveNetworkRequest>(offset);
2134 self.0.encode(encoder, offset + 0, depth)?;
2138 Ok(())
2139 }
2140 }
2141
2142 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2143 for ClientControllerSaveNetworkRequest
2144 {
2145 #[inline(always)]
2146 fn new_empty() -> Self {
2147 Self { config: fidl::new_empty!(NetworkConfig, D) }
2148 }
2149
2150 #[inline]
2151 unsafe fn decode(
2152 &mut self,
2153 decoder: &mut fidl::encoding::Decoder<'_, D>,
2154 offset: usize,
2155 _depth: fidl::encoding::Depth,
2156 ) -> fidl::Result<()> {
2157 decoder.debug_check_bounds::<Self>(offset);
2158 fidl::decode!(NetworkConfig, D, &mut self.config, decoder, offset + 0, _depth)?;
2160 Ok(())
2161 }
2162 }
2163
2164 impl fidl::encoding::ValueTypeMarker for ClientControllerStartClientConnectionsResponse {
2165 type Borrowed<'a> = &'a Self;
2166 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2167 value
2168 }
2169 }
2170
2171 unsafe impl fidl::encoding::TypeMarker for ClientControllerStartClientConnectionsResponse {
2172 type Owned = Self;
2173
2174 #[inline(always)]
2175 fn inline_align(_context: fidl::encoding::Context) -> usize {
2176 4
2177 }
2178
2179 #[inline(always)]
2180 fn inline_size(_context: fidl::encoding::Context) -> usize {
2181 4
2182 }
2183 }
2184
2185 unsafe impl<D: fidl::encoding::ResourceDialect>
2186 fidl::encoding::Encode<ClientControllerStartClientConnectionsResponse, D>
2187 for &ClientControllerStartClientConnectionsResponse
2188 {
2189 #[inline]
2190 unsafe fn encode(
2191 self,
2192 encoder: &mut fidl::encoding::Encoder<'_, D>,
2193 offset: usize,
2194 _depth: fidl::encoding::Depth,
2195 ) -> fidl::Result<()> {
2196 encoder.debug_check_bounds::<ClientControllerStartClientConnectionsResponse>(offset);
2197 fidl::encoding::Encode::<ClientControllerStartClientConnectionsResponse, D>::encode(
2199 (<RequestStatus as fidl::encoding::ValueTypeMarker>::borrow(&self.status),),
2200 encoder,
2201 offset,
2202 _depth,
2203 )
2204 }
2205 }
2206 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<RequestStatus, D>>
2207 fidl::encoding::Encode<ClientControllerStartClientConnectionsResponse, D> for (T0,)
2208 {
2209 #[inline]
2210 unsafe fn encode(
2211 self,
2212 encoder: &mut fidl::encoding::Encoder<'_, D>,
2213 offset: usize,
2214 depth: fidl::encoding::Depth,
2215 ) -> fidl::Result<()> {
2216 encoder.debug_check_bounds::<ClientControllerStartClientConnectionsResponse>(offset);
2217 self.0.encode(encoder, offset + 0, depth)?;
2221 Ok(())
2222 }
2223 }
2224
2225 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2226 for ClientControllerStartClientConnectionsResponse
2227 {
2228 #[inline(always)]
2229 fn new_empty() -> Self {
2230 Self { status: fidl::new_empty!(RequestStatus, D) }
2231 }
2232
2233 #[inline]
2234 unsafe fn decode(
2235 &mut self,
2236 decoder: &mut fidl::encoding::Decoder<'_, D>,
2237 offset: usize,
2238 _depth: fidl::encoding::Depth,
2239 ) -> fidl::Result<()> {
2240 decoder.debug_check_bounds::<Self>(offset);
2241 fidl::decode!(RequestStatus, D, &mut self.status, decoder, offset + 0, _depth)?;
2243 Ok(())
2244 }
2245 }
2246
2247 impl fidl::encoding::ValueTypeMarker for ClientControllerStopClientConnectionsResponse {
2248 type Borrowed<'a> = &'a Self;
2249 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2250 value
2251 }
2252 }
2253
2254 unsafe impl fidl::encoding::TypeMarker for ClientControllerStopClientConnectionsResponse {
2255 type Owned = Self;
2256
2257 #[inline(always)]
2258 fn inline_align(_context: fidl::encoding::Context) -> usize {
2259 4
2260 }
2261
2262 #[inline(always)]
2263 fn inline_size(_context: fidl::encoding::Context) -> usize {
2264 4
2265 }
2266 }
2267
2268 unsafe impl<D: fidl::encoding::ResourceDialect>
2269 fidl::encoding::Encode<ClientControllerStopClientConnectionsResponse, D>
2270 for &ClientControllerStopClientConnectionsResponse
2271 {
2272 #[inline]
2273 unsafe fn encode(
2274 self,
2275 encoder: &mut fidl::encoding::Encoder<'_, D>,
2276 offset: usize,
2277 _depth: fidl::encoding::Depth,
2278 ) -> fidl::Result<()> {
2279 encoder.debug_check_bounds::<ClientControllerStopClientConnectionsResponse>(offset);
2280 fidl::encoding::Encode::<ClientControllerStopClientConnectionsResponse, D>::encode(
2282 (<RequestStatus as fidl::encoding::ValueTypeMarker>::borrow(&self.status),),
2283 encoder,
2284 offset,
2285 _depth,
2286 )
2287 }
2288 }
2289 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<RequestStatus, D>>
2290 fidl::encoding::Encode<ClientControllerStopClientConnectionsResponse, D> for (T0,)
2291 {
2292 #[inline]
2293 unsafe fn encode(
2294 self,
2295 encoder: &mut fidl::encoding::Encoder<'_, D>,
2296 offset: usize,
2297 depth: fidl::encoding::Depth,
2298 ) -> fidl::Result<()> {
2299 encoder.debug_check_bounds::<ClientControllerStopClientConnectionsResponse>(offset);
2300 self.0.encode(encoder, offset + 0, depth)?;
2304 Ok(())
2305 }
2306 }
2307
2308 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2309 for ClientControllerStopClientConnectionsResponse
2310 {
2311 #[inline(always)]
2312 fn new_empty() -> Self {
2313 Self { status: fidl::new_empty!(RequestStatus, D) }
2314 }
2315
2316 #[inline]
2317 unsafe fn decode(
2318 &mut self,
2319 decoder: &mut fidl::encoding::Decoder<'_, D>,
2320 offset: usize,
2321 _depth: fidl::encoding::Depth,
2322 ) -> fidl::Result<()> {
2323 decoder.debug_check_bounds::<Self>(offset);
2324 fidl::decode!(RequestStatus, D, &mut self.status, decoder, offset + 0, _depth)?;
2326 Ok(())
2327 }
2328 }
2329
2330 impl fidl::encoding::ValueTypeMarker for ClientStateUpdatesOnClientStateUpdateRequest {
2331 type Borrowed<'a> = &'a Self;
2332 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2333 value
2334 }
2335 }
2336
2337 unsafe impl fidl::encoding::TypeMarker for ClientStateUpdatesOnClientStateUpdateRequest {
2338 type Owned = Self;
2339
2340 #[inline(always)]
2341 fn inline_align(_context: fidl::encoding::Context) -> usize {
2342 8
2343 }
2344
2345 #[inline(always)]
2346 fn inline_size(_context: fidl::encoding::Context) -> usize {
2347 16
2348 }
2349 }
2350
2351 unsafe impl<D: fidl::encoding::ResourceDialect>
2352 fidl::encoding::Encode<ClientStateUpdatesOnClientStateUpdateRequest, D>
2353 for &ClientStateUpdatesOnClientStateUpdateRequest
2354 {
2355 #[inline]
2356 unsafe fn encode(
2357 self,
2358 encoder: &mut fidl::encoding::Encoder<'_, D>,
2359 offset: usize,
2360 _depth: fidl::encoding::Depth,
2361 ) -> fidl::Result<()> {
2362 encoder.debug_check_bounds::<ClientStateUpdatesOnClientStateUpdateRequest>(offset);
2363 fidl::encoding::Encode::<ClientStateUpdatesOnClientStateUpdateRequest, D>::encode(
2365 (<ClientStateSummary as fidl::encoding::ValueTypeMarker>::borrow(&self.summary),),
2366 encoder,
2367 offset,
2368 _depth,
2369 )
2370 }
2371 }
2372 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ClientStateSummary, D>>
2373 fidl::encoding::Encode<ClientStateUpdatesOnClientStateUpdateRequest, D> for (T0,)
2374 {
2375 #[inline]
2376 unsafe fn encode(
2377 self,
2378 encoder: &mut fidl::encoding::Encoder<'_, D>,
2379 offset: usize,
2380 depth: fidl::encoding::Depth,
2381 ) -> fidl::Result<()> {
2382 encoder.debug_check_bounds::<ClientStateUpdatesOnClientStateUpdateRequest>(offset);
2383 self.0.encode(encoder, offset + 0, depth)?;
2387 Ok(())
2388 }
2389 }
2390
2391 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2392 for ClientStateUpdatesOnClientStateUpdateRequest
2393 {
2394 #[inline(always)]
2395 fn new_empty() -> Self {
2396 Self { summary: fidl::new_empty!(ClientStateSummary, D) }
2397 }
2398
2399 #[inline]
2400 unsafe fn decode(
2401 &mut self,
2402 decoder: &mut fidl::encoding::Decoder<'_, D>,
2403 offset: usize,
2404 _depth: fidl::encoding::Depth,
2405 ) -> fidl::Result<()> {
2406 decoder.debug_check_bounds::<Self>(offset);
2407 fidl::decode!(ClientStateSummary, D, &mut self.summary, decoder, offset + 0, _depth)?;
2409 Ok(())
2410 }
2411 }
2412
2413 impl fidl::encoding::ValueTypeMarker for Empty {
2414 type Borrowed<'a> = &'a Self;
2415 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2416 value
2417 }
2418 }
2419
2420 unsafe impl fidl::encoding::TypeMarker for Empty {
2421 type Owned = Self;
2422
2423 #[inline(always)]
2424 fn inline_align(_context: fidl::encoding::Context) -> usize {
2425 1
2426 }
2427
2428 #[inline(always)]
2429 fn inline_size(_context: fidl::encoding::Context) -> usize {
2430 1
2431 }
2432 }
2433
2434 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Empty, D> for &Empty {
2435 #[inline]
2436 unsafe fn encode(
2437 self,
2438 encoder: &mut fidl::encoding::Encoder<'_, D>,
2439 offset: usize,
2440 _depth: fidl::encoding::Depth,
2441 ) -> fidl::Result<()> {
2442 encoder.debug_check_bounds::<Empty>(offset);
2443 encoder.write_num(0u8, offset);
2444 Ok(())
2445 }
2446 }
2447
2448 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Empty {
2449 #[inline(always)]
2450 fn new_empty() -> Self {
2451 Self
2452 }
2453
2454 #[inline]
2455 unsafe fn decode(
2456 &mut self,
2457 decoder: &mut fidl::encoding::Decoder<'_, D>,
2458 offset: usize,
2459 _depth: fidl::encoding::Depth,
2460 ) -> fidl::Result<()> {
2461 decoder.debug_check_bounds::<Self>(offset);
2462 match decoder.read_num::<u8>(offset) {
2463 0 => Ok(()),
2464 _ => Err(fidl::Error::Invalid),
2465 }
2466 }
2467 }
2468
2469 impl fidl::encoding::ValueTypeMarker for NetworkConfigIteratorGetNextResponse {
2470 type Borrowed<'a> = &'a Self;
2471 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2472 value
2473 }
2474 }
2475
2476 unsafe impl fidl::encoding::TypeMarker for NetworkConfigIteratorGetNextResponse {
2477 type Owned = Self;
2478
2479 #[inline(always)]
2480 fn inline_align(_context: fidl::encoding::Context) -> usize {
2481 8
2482 }
2483
2484 #[inline(always)]
2485 fn inline_size(_context: fidl::encoding::Context) -> usize {
2486 16
2487 }
2488 }
2489
2490 unsafe impl<D: fidl::encoding::ResourceDialect>
2491 fidl::encoding::Encode<NetworkConfigIteratorGetNextResponse, D>
2492 for &NetworkConfigIteratorGetNextResponse
2493 {
2494 #[inline]
2495 unsafe fn encode(
2496 self,
2497 encoder: &mut fidl::encoding::Encoder<'_, D>,
2498 offset: usize,
2499 _depth: fidl::encoding::Depth,
2500 ) -> fidl::Result<()> {
2501 encoder.debug_check_bounds::<NetworkConfigIteratorGetNextResponse>(offset);
2502 fidl::encoding::Encode::<NetworkConfigIteratorGetNextResponse, D>::encode(
2504 (
2505 <fidl::encoding::UnboundedVector<NetworkConfig> as fidl::encoding::ValueTypeMarker>::borrow(&self.configs),
2506 ),
2507 encoder, offset, _depth
2508 )
2509 }
2510 }
2511 unsafe impl<
2512 D: fidl::encoding::ResourceDialect,
2513 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<NetworkConfig>, D>,
2514 > fidl::encoding::Encode<NetworkConfigIteratorGetNextResponse, D> for (T0,)
2515 {
2516 #[inline]
2517 unsafe fn encode(
2518 self,
2519 encoder: &mut fidl::encoding::Encoder<'_, D>,
2520 offset: usize,
2521 depth: fidl::encoding::Depth,
2522 ) -> fidl::Result<()> {
2523 encoder.debug_check_bounds::<NetworkConfigIteratorGetNextResponse>(offset);
2524 self.0.encode(encoder, offset + 0, depth)?;
2528 Ok(())
2529 }
2530 }
2531
2532 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2533 for NetworkConfigIteratorGetNextResponse
2534 {
2535 #[inline(always)]
2536 fn new_empty() -> Self {
2537 Self { configs: fidl::new_empty!(fidl::encoding::UnboundedVector<NetworkConfig>, D) }
2538 }
2539
2540 #[inline]
2541 unsafe fn decode(
2542 &mut self,
2543 decoder: &mut fidl::encoding::Decoder<'_, D>,
2544 offset: usize,
2545 _depth: fidl::encoding::Depth,
2546 ) -> fidl::Result<()> {
2547 decoder.debug_check_bounds::<Self>(offset);
2548 fidl::decode!(
2550 fidl::encoding::UnboundedVector<NetworkConfig>,
2551 D,
2552 &mut self.configs,
2553 decoder,
2554 offset + 0,
2555 _depth
2556 )?;
2557 Ok(())
2558 }
2559 }
2560
2561 impl fidl::encoding::ValueTypeMarker for NetworkIdentifier {
2562 type Borrowed<'a> = &'a Self;
2563 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2564 value
2565 }
2566 }
2567
2568 unsafe impl fidl::encoding::TypeMarker for NetworkIdentifier {
2569 type Owned = Self;
2570
2571 #[inline(always)]
2572 fn inline_align(_context: fidl::encoding::Context) -> usize {
2573 8
2574 }
2575
2576 #[inline(always)]
2577 fn inline_size(_context: fidl::encoding::Context) -> usize {
2578 24
2579 }
2580 }
2581
2582 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<NetworkIdentifier, D>
2583 for &NetworkIdentifier
2584 {
2585 #[inline]
2586 unsafe fn encode(
2587 self,
2588 encoder: &mut fidl::encoding::Encoder<'_, D>,
2589 offset: usize,
2590 _depth: fidl::encoding::Depth,
2591 ) -> fidl::Result<()> {
2592 encoder.debug_check_bounds::<NetworkIdentifier>(offset);
2593 fidl::encoding::Encode::<NetworkIdentifier, D>::encode(
2595 (
2596 <fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow(
2597 &self.ssid,
2598 ),
2599 <SecurityType as fidl::encoding::ValueTypeMarker>::borrow(&self.type_),
2600 ),
2601 encoder,
2602 offset,
2603 _depth,
2604 )
2605 }
2606 }
2607 unsafe impl<
2608 D: fidl::encoding::ResourceDialect,
2609 T0: fidl::encoding::Encode<fidl::encoding::Vector<u8, 32>, D>,
2610 T1: fidl::encoding::Encode<SecurityType, D>,
2611 > fidl::encoding::Encode<NetworkIdentifier, D> for (T0, T1)
2612 {
2613 #[inline]
2614 unsafe fn encode(
2615 self,
2616 encoder: &mut fidl::encoding::Encoder<'_, D>,
2617 offset: usize,
2618 depth: fidl::encoding::Depth,
2619 ) -> fidl::Result<()> {
2620 encoder.debug_check_bounds::<NetworkIdentifier>(offset);
2621 unsafe {
2624 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(16);
2625 (ptr as *mut u64).write_unaligned(0);
2626 }
2627 self.0.encode(encoder, offset + 0, depth)?;
2629 self.1.encode(encoder, offset + 16, depth)?;
2630 Ok(())
2631 }
2632 }
2633
2634 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for NetworkIdentifier {
2635 #[inline(always)]
2636 fn new_empty() -> Self {
2637 Self {
2638 ssid: fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D),
2639 type_: fidl::new_empty!(SecurityType, D),
2640 }
2641 }
2642
2643 #[inline]
2644 unsafe fn decode(
2645 &mut self,
2646 decoder: &mut fidl::encoding::Decoder<'_, D>,
2647 offset: usize,
2648 _depth: fidl::encoding::Depth,
2649 ) -> fidl::Result<()> {
2650 decoder.debug_check_bounds::<Self>(offset);
2651 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(16) };
2653 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2654 let mask = 0xffffffff00000000u64;
2655 let maskedval = padval & mask;
2656 if maskedval != 0 {
2657 return Err(fidl::Error::NonZeroPadding {
2658 padding_start: offset + 16 + ((mask as u64).trailing_zeros() / 8) as usize,
2659 });
2660 }
2661 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, &mut self.ssid, decoder, offset + 0, _depth)?;
2662 fidl::decode!(SecurityType, D, &mut self.type_, decoder, offset + 16, _depth)?;
2663 Ok(())
2664 }
2665 }
2666
2667 impl fidl::encoding::ValueTypeMarker for ScanResultIteratorGetNextResponse {
2668 type Borrowed<'a> = &'a Self;
2669 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2670 value
2671 }
2672 }
2673
2674 unsafe impl fidl::encoding::TypeMarker for ScanResultIteratorGetNextResponse {
2675 type Owned = Self;
2676
2677 #[inline(always)]
2678 fn inline_align(_context: fidl::encoding::Context) -> usize {
2679 8
2680 }
2681
2682 #[inline(always)]
2683 fn inline_size(_context: fidl::encoding::Context) -> usize {
2684 16
2685 }
2686 }
2687
2688 unsafe impl<D: fidl::encoding::ResourceDialect>
2689 fidl::encoding::Encode<ScanResultIteratorGetNextResponse, D>
2690 for &ScanResultIteratorGetNextResponse
2691 {
2692 #[inline]
2693 unsafe fn encode(
2694 self,
2695 encoder: &mut fidl::encoding::Encoder<'_, D>,
2696 offset: usize,
2697 _depth: fidl::encoding::Depth,
2698 ) -> fidl::Result<()> {
2699 encoder.debug_check_bounds::<ScanResultIteratorGetNextResponse>(offset);
2700 fidl::encoding::Encode::<ScanResultIteratorGetNextResponse, D>::encode(
2702 (
2703 <fidl::encoding::UnboundedVector<ScanResult> as fidl::encoding::ValueTypeMarker>::borrow(&self.scan_results),
2704 ),
2705 encoder, offset, _depth
2706 )
2707 }
2708 }
2709 unsafe impl<
2710 D: fidl::encoding::ResourceDialect,
2711 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<ScanResult>, D>,
2712 > fidl::encoding::Encode<ScanResultIteratorGetNextResponse, D> for (T0,)
2713 {
2714 #[inline]
2715 unsafe fn encode(
2716 self,
2717 encoder: &mut fidl::encoding::Encoder<'_, D>,
2718 offset: usize,
2719 depth: fidl::encoding::Depth,
2720 ) -> fidl::Result<()> {
2721 encoder.debug_check_bounds::<ScanResultIteratorGetNextResponse>(offset);
2722 self.0.encode(encoder, offset + 0, depth)?;
2726 Ok(())
2727 }
2728 }
2729
2730 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2731 for ScanResultIteratorGetNextResponse
2732 {
2733 #[inline(always)]
2734 fn new_empty() -> Self {
2735 Self { scan_results: fidl::new_empty!(fidl::encoding::UnboundedVector<ScanResult>, D) }
2736 }
2737
2738 #[inline]
2739 unsafe fn decode(
2740 &mut self,
2741 decoder: &mut fidl::encoding::Decoder<'_, D>,
2742 offset: usize,
2743 _depth: fidl::encoding::Depth,
2744 ) -> fidl::Result<()> {
2745 decoder.debug_check_bounds::<Self>(offset);
2746 fidl::decode!(
2748 fidl::encoding::UnboundedVector<ScanResult>,
2749 D,
2750 &mut self.scan_results,
2751 decoder,
2752 offset + 0,
2753 _depth
2754 )?;
2755 Ok(())
2756 }
2757 }
2758
2759 impl AccessPointState {
2760 #[inline(always)]
2761 fn max_ordinal_present(&self) -> u64 {
2762 if let Some(_) = self.id {
2763 return 6;
2764 }
2765 if let Some(_) = self.clients {
2766 return 5;
2767 }
2768 if let Some(_) = self.frequency {
2769 return 4;
2770 }
2771 if let Some(_) = self.band {
2772 return 3;
2773 }
2774 if let Some(_) = self.mode {
2775 return 2;
2776 }
2777 if let Some(_) = self.state {
2778 return 1;
2779 }
2780 0
2781 }
2782 }
2783
2784 impl fidl::encoding::ValueTypeMarker for AccessPointState {
2785 type Borrowed<'a> = &'a Self;
2786 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2787 value
2788 }
2789 }
2790
2791 unsafe impl fidl::encoding::TypeMarker for AccessPointState {
2792 type Owned = Self;
2793
2794 #[inline(always)]
2795 fn inline_align(_context: fidl::encoding::Context) -> usize {
2796 8
2797 }
2798
2799 #[inline(always)]
2800 fn inline_size(_context: fidl::encoding::Context) -> usize {
2801 16
2802 }
2803 }
2804
2805 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<AccessPointState, D>
2806 for &AccessPointState
2807 {
2808 unsafe fn encode(
2809 self,
2810 encoder: &mut fidl::encoding::Encoder<'_, D>,
2811 offset: usize,
2812 mut depth: fidl::encoding::Depth,
2813 ) -> fidl::Result<()> {
2814 encoder.debug_check_bounds::<AccessPointState>(offset);
2815 let max_ordinal: u64 = self.max_ordinal_present();
2817 encoder.write_num(max_ordinal, offset);
2818 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
2819 if max_ordinal == 0 {
2821 return Ok(());
2822 }
2823 depth.increment()?;
2824 let envelope_size = 8;
2825 let bytes_len = max_ordinal as usize * envelope_size;
2826 #[allow(unused_variables)]
2827 let offset = encoder.out_of_line_offset(bytes_len);
2828 let mut _prev_end_offset: usize = 0;
2829 if 1 > max_ordinal {
2830 return Ok(());
2831 }
2832
2833 let cur_offset: usize = (1 - 1) * envelope_size;
2836
2837 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2839
2840 fidl::encoding::encode_in_envelope_optional::<OperatingState, D>(
2845 self.state
2846 .as_ref()
2847 .map(<OperatingState as fidl::encoding::ValueTypeMarker>::borrow),
2848 encoder,
2849 offset + cur_offset,
2850 depth,
2851 )?;
2852
2853 _prev_end_offset = cur_offset + envelope_size;
2854 if 2 > max_ordinal {
2855 return Ok(());
2856 }
2857
2858 let cur_offset: usize = (2 - 1) * envelope_size;
2861
2862 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2864
2865 fidl::encoding::encode_in_envelope_optional::<ConnectivityMode, D>(
2870 self.mode
2871 .as_ref()
2872 .map(<ConnectivityMode as fidl::encoding::ValueTypeMarker>::borrow),
2873 encoder,
2874 offset + cur_offset,
2875 depth,
2876 )?;
2877
2878 _prev_end_offset = cur_offset + envelope_size;
2879 if 3 > max_ordinal {
2880 return Ok(());
2881 }
2882
2883 let cur_offset: usize = (3 - 1) * envelope_size;
2886
2887 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2889
2890 fidl::encoding::encode_in_envelope_optional::<OperatingBand, D>(
2895 self.band.as_ref().map(<OperatingBand as fidl::encoding::ValueTypeMarker>::borrow),
2896 encoder,
2897 offset + cur_offset,
2898 depth,
2899 )?;
2900
2901 _prev_end_offset = cur_offset + envelope_size;
2902 if 4 > max_ordinal {
2903 return Ok(());
2904 }
2905
2906 let cur_offset: usize = (4 - 1) * envelope_size;
2909
2910 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2912
2913 fidl::encoding::encode_in_envelope_optional::<u32, D>(
2918 self.frequency.as_ref().map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
2919 encoder,
2920 offset + cur_offset,
2921 depth,
2922 )?;
2923
2924 _prev_end_offset = cur_offset + envelope_size;
2925 if 5 > max_ordinal {
2926 return Ok(());
2927 }
2928
2929 let cur_offset: usize = (5 - 1) * envelope_size;
2932
2933 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2935
2936 fidl::encoding::encode_in_envelope_optional::<ConnectedClientInformation, D>(
2941 self.clients
2942 .as_ref()
2943 .map(<ConnectedClientInformation as fidl::encoding::ValueTypeMarker>::borrow),
2944 encoder,
2945 offset + cur_offset,
2946 depth,
2947 )?;
2948
2949 _prev_end_offset = cur_offset + envelope_size;
2950 if 6 > max_ordinal {
2951 return Ok(());
2952 }
2953
2954 let cur_offset: usize = (6 - 1) * envelope_size;
2957
2958 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2960
2961 fidl::encoding::encode_in_envelope_optional::<NetworkIdentifier, D>(
2966 self.id
2967 .as_ref()
2968 .map(<NetworkIdentifier as fidl::encoding::ValueTypeMarker>::borrow),
2969 encoder,
2970 offset + cur_offset,
2971 depth,
2972 )?;
2973
2974 _prev_end_offset = cur_offset + envelope_size;
2975
2976 Ok(())
2977 }
2978 }
2979
2980 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AccessPointState {
2981 #[inline(always)]
2982 fn new_empty() -> Self {
2983 Self::default()
2984 }
2985
2986 unsafe fn decode(
2987 &mut self,
2988 decoder: &mut fidl::encoding::Decoder<'_, D>,
2989 offset: usize,
2990 mut depth: fidl::encoding::Depth,
2991 ) -> fidl::Result<()> {
2992 decoder.debug_check_bounds::<Self>(offset);
2993 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
2994 None => return Err(fidl::Error::NotNullable),
2995 Some(len) => len,
2996 };
2997 if len == 0 {
2999 return Ok(());
3000 };
3001 depth.increment()?;
3002 let envelope_size = 8;
3003 let bytes_len = len * envelope_size;
3004 let offset = decoder.out_of_line_offset(bytes_len)?;
3005 let mut _next_ordinal_to_read = 0;
3007 let mut next_offset = offset;
3008 let end_offset = offset + bytes_len;
3009 _next_ordinal_to_read += 1;
3010 if next_offset >= end_offset {
3011 return Ok(());
3012 }
3013
3014 while _next_ordinal_to_read < 1 {
3016 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3017 _next_ordinal_to_read += 1;
3018 next_offset += envelope_size;
3019 }
3020
3021 let next_out_of_line = decoder.next_out_of_line();
3022 let handles_before = decoder.remaining_handles();
3023 if let Some((inlined, num_bytes, num_handles)) =
3024 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3025 {
3026 let member_inline_size =
3027 <OperatingState as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3028 if inlined != (member_inline_size <= 4) {
3029 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3030 }
3031 let inner_offset;
3032 let mut inner_depth = depth.clone();
3033 if inlined {
3034 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3035 inner_offset = next_offset;
3036 } else {
3037 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3038 inner_depth.increment()?;
3039 }
3040 let val_ref = self.state.get_or_insert_with(|| fidl::new_empty!(OperatingState, D));
3041 fidl::decode!(OperatingState, D, val_ref, decoder, inner_offset, inner_depth)?;
3042 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3043 {
3044 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3045 }
3046 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3047 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3048 }
3049 }
3050
3051 next_offset += envelope_size;
3052 _next_ordinal_to_read += 1;
3053 if next_offset >= end_offset {
3054 return Ok(());
3055 }
3056
3057 while _next_ordinal_to_read < 2 {
3059 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3060 _next_ordinal_to_read += 1;
3061 next_offset += envelope_size;
3062 }
3063
3064 let next_out_of_line = decoder.next_out_of_line();
3065 let handles_before = decoder.remaining_handles();
3066 if let Some((inlined, num_bytes, num_handles)) =
3067 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3068 {
3069 let member_inline_size =
3070 <ConnectivityMode as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3071 if inlined != (member_inline_size <= 4) {
3072 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3073 }
3074 let inner_offset;
3075 let mut inner_depth = depth.clone();
3076 if inlined {
3077 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3078 inner_offset = next_offset;
3079 } else {
3080 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3081 inner_depth.increment()?;
3082 }
3083 let val_ref =
3084 self.mode.get_or_insert_with(|| fidl::new_empty!(ConnectivityMode, D));
3085 fidl::decode!(ConnectivityMode, D, val_ref, decoder, inner_offset, inner_depth)?;
3086 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3087 {
3088 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3089 }
3090 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3091 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3092 }
3093 }
3094
3095 next_offset += envelope_size;
3096 _next_ordinal_to_read += 1;
3097 if next_offset >= end_offset {
3098 return Ok(());
3099 }
3100
3101 while _next_ordinal_to_read < 3 {
3103 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3104 _next_ordinal_to_read += 1;
3105 next_offset += envelope_size;
3106 }
3107
3108 let next_out_of_line = decoder.next_out_of_line();
3109 let handles_before = decoder.remaining_handles();
3110 if let Some((inlined, num_bytes, num_handles)) =
3111 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3112 {
3113 let member_inline_size =
3114 <OperatingBand as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3115 if inlined != (member_inline_size <= 4) {
3116 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3117 }
3118 let inner_offset;
3119 let mut inner_depth = depth.clone();
3120 if inlined {
3121 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3122 inner_offset = next_offset;
3123 } else {
3124 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3125 inner_depth.increment()?;
3126 }
3127 let val_ref = self.band.get_or_insert_with(|| fidl::new_empty!(OperatingBand, D));
3128 fidl::decode!(OperatingBand, D, val_ref, decoder, inner_offset, inner_depth)?;
3129 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3130 {
3131 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3132 }
3133 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3134 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3135 }
3136 }
3137
3138 next_offset += envelope_size;
3139 _next_ordinal_to_read += 1;
3140 if next_offset >= end_offset {
3141 return Ok(());
3142 }
3143
3144 while _next_ordinal_to_read < 4 {
3146 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3147 _next_ordinal_to_read += 1;
3148 next_offset += envelope_size;
3149 }
3150
3151 let next_out_of_line = decoder.next_out_of_line();
3152 let handles_before = decoder.remaining_handles();
3153 if let Some((inlined, num_bytes, num_handles)) =
3154 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3155 {
3156 let member_inline_size =
3157 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3158 if inlined != (member_inline_size <= 4) {
3159 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3160 }
3161 let inner_offset;
3162 let mut inner_depth = depth.clone();
3163 if inlined {
3164 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3165 inner_offset = next_offset;
3166 } else {
3167 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3168 inner_depth.increment()?;
3169 }
3170 let val_ref = self.frequency.get_or_insert_with(|| fidl::new_empty!(u32, D));
3171 fidl::decode!(u32, D, val_ref, decoder, inner_offset, inner_depth)?;
3172 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3173 {
3174 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3175 }
3176 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3177 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3178 }
3179 }
3180
3181 next_offset += envelope_size;
3182 _next_ordinal_to_read += 1;
3183 if next_offset >= end_offset {
3184 return Ok(());
3185 }
3186
3187 while _next_ordinal_to_read < 5 {
3189 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3190 _next_ordinal_to_read += 1;
3191 next_offset += envelope_size;
3192 }
3193
3194 let next_out_of_line = decoder.next_out_of_line();
3195 let handles_before = decoder.remaining_handles();
3196 if let Some((inlined, num_bytes, num_handles)) =
3197 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3198 {
3199 let member_inline_size =
3200 <ConnectedClientInformation as fidl::encoding::TypeMarker>::inline_size(
3201 decoder.context,
3202 );
3203 if inlined != (member_inline_size <= 4) {
3204 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3205 }
3206 let inner_offset;
3207 let mut inner_depth = depth.clone();
3208 if inlined {
3209 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3210 inner_offset = next_offset;
3211 } else {
3212 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3213 inner_depth.increment()?;
3214 }
3215 let val_ref = self
3216 .clients
3217 .get_or_insert_with(|| fidl::new_empty!(ConnectedClientInformation, D));
3218 fidl::decode!(
3219 ConnectedClientInformation,
3220 D,
3221 val_ref,
3222 decoder,
3223 inner_offset,
3224 inner_depth
3225 )?;
3226 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3227 {
3228 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3229 }
3230 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3231 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3232 }
3233 }
3234
3235 next_offset += envelope_size;
3236 _next_ordinal_to_read += 1;
3237 if next_offset >= end_offset {
3238 return Ok(());
3239 }
3240
3241 while _next_ordinal_to_read < 6 {
3243 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3244 _next_ordinal_to_read += 1;
3245 next_offset += envelope_size;
3246 }
3247
3248 let next_out_of_line = decoder.next_out_of_line();
3249 let handles_before = decoder.remaining_handles();
3250 if let Some((inlined, num_bytes, num_handles)) =
3251 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3252 {
3253 let member_inline_size =
3254 <NetworkIdentifier as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3255 if inlined != (member_inline_size <= 4) {
3256 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3257 }
3258 let inner_offset;
3259 let mut inner_depth = depth.clone();
3260 if inlined {
3261 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3262 inner_offset = next_offset;
3263 } else {
3264 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3265 inner_depth.increment()?;
3266 }
3267 let val_ref = self.id.get_or_insert_with(|| fidl::new_empty!(NetworkIdentifier, D));
3268 fidl::decode!(NetworkIdentifier, D, val_ref, decoder, inner_offset, inner_depth)?;
3269 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3270 {
3271 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3272 }
3273 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3274 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3275 }
3276 }
3277
3278 next_offset += envelope_size;
3279
3280 while next_offset < end_offset {
3282 _next_ordinal_to_read += 1;
3283 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3284 next_offset += envelope_size;
3285 }
3286
3287 Ok(())
3288 }
3289 }
3290
3291 impl Bss {
3292 #[inline(always)]
3293 fn max_ordinal_present(&self) -> u64 {
3294 if let Some(_) = self.timestamp_nanos {
3295 return 4;
3296 }
3297 if let Some(_) = self.frequency {
3298 return 3;
3299 }
3300 if let Some(_) = self.rssi {
3301 return 2;
3302 }
3303 if let Some(_) = self.bssid {
3304 return 1;
3305 }
3306 0
3307 }
3308 }
3309
3310 impl fidl::encoding::ValueTypeMarker for Bss {
3311 type Borrowed<'a> = &'a Self;
3312 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3313 value
3314 }
3315 }
3316
3317 unsafe impl fidl::encoding::TypeMarker for Bss {
3318 type Owned = Self;
3319
3320 #[inline(always)]
3321 fn inline_align(_context: fidl::encoding::Context) -> usize {
3322 8
3323 }
3324
3325 #[inline(always)]
3326 fn inline_size(_context: fidl::encoding::Context) -> usize {
3327 16
3328 }
3329 }
3330
3331 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Bss, D> for &Bss {
3332 unsafe fn encode(
3333 self,
3334 encoder: &mut fidl::encoding::Encoder<'_, D>,
3335 offset: usize,
3336 mut depth: fidl::encoding::Depth,
3337 ) -> fidl::Result<()> {
3338 encoder.debug_check_bounds::<Bss>(offset);
3339 let max_ordinal: u64 = self.max_ordinal_present();
3341 encoder.write_num(max_ordinal, offset);
3342 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
3343 if max_ordinal == 0 {
3345 return Ok(());
3346 }
3347 depth.increment()?;
3348 let envelope_size = 8;
3349 let bytes_len = max_ordinal as usize * envelope_size;
3350 #[allow(unused_variables)]
3351 let offset = encoder.out_of_line_offset(bytes_len);
3352 let mut _prev_end_offset: usize = 0;
3353 if 1 > max_ordinal {
3354 return Ok(());
3355 }
3356
3357 let cur_offset: usize = (1 - 1) * envelope_size;
3360
3361 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3363
3364 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Array<u8, 6>, D>(
3369 self.bssid
3370 .as_ref()
3371 .map(<fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow),
3372 encoder,
3373 offset + cur_offset,
3374 depth,
3375 )?;
3376
3377 _prev_end_offset = cur_offset + envelope_size;
3378 if 2 > max_ordinal {
3379 return Ok(());
3380 }
3381
3382 let cur_offset: usize = (2 - 1) * envelope_size;
3385
3386 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3388
3389 fidl::encoding::encode_in_envelope_optional::<i8, D>(
3394 self.rssi.as_ref().map(<i8 as fidl::encoding::ValueTypeMarker>::borrow),
3395 encoder,
3396 offset + cur_offset,
3397 depth,
3398 )?;
3399
3400 _prev_end_offset = cur_offset + envelope_size;
3401 if 3 > max_ordinal {
3402 return Ok(());
3403 }
3404
3405 let cur_offset: usize = (3 - 1) * envelope_size;
3408
3409 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3411
3412 fidl::encoding::encode_in_envelope_optional::<u32, D>(
3417 self.frequency.as_ref().map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
3418 encoder,
3419 offset + cur_offset,
3420 depth,
3421 )?;
3422
3423 _prev_end_offset = cur_offset + envelope_size;
3424 if 4 > max_ordinal {
3425 return Ok(());
3426 }
3427
3428 let cur_offset: usize = (4 - 1) * envelope_size;
3431
3432 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3434
3435 fidl::encoding::encode_in_envelope_optional::<i64, D>(
3440 self.timestamp_nanos.as_ref().map(<i64 as fidl::encoding::ValueTypeMarker>::borrow),
3441 encoder,
3442 offset + cur_offset,
3443 depth,
3444 )?;
3445
3446 _prev_end_offset = cur_offset + envelope_size;
3447
3448 Ok(())
3449 }
3450 }
3451
3452 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Bss {
3453 #[inline(always)]
3454 fn new_empty() -> Self {
3455 Self::default()
3456 }
3457
3458 unsafe fn decode(
3459 &mut self,
3460 decoder: &mut fidl::encoding::Decoder<'_, D>,
3461 offset: usize,
3462 mut depth: fidl::encoding::Depth,
3463 ) -> fidl::Result<()> {
3464 decoder.debug_check_bounds::<Self>(offset);
3465 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
3466 None => return Err(fidl::Error::NotNullable),
3467 Some(len) => len,
3468 };
3469 if len == 0 {
3471 return Ok(());
3472 };
3473 depth.increment()?;
3474 let envelope_size = 8;
3475 let bytes_len = len * envelope_size;
3476 let offset = decoder.out_of_line_offset(bytes_len)?;
3477 let mut _next_ordinal_to_read = 0;
3479 let mut next_offset = offset;
3480 let end_offset = offset + bytes_len;
3481 _next_ordinal_to_read += 1;
3482 if next_offset >= end_offset {
3483 return Ok(());
3484 }
3485
3486 while _next_ordinal_to_read < 1 {
3488 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3489 _next_ordinal_to_read += 1;
3490 next_offset += envelope_size;
3491 }
3492
3493 let next_out_of_line = decoder.next_out_of_line();
3494 let handles_before = decoder.remaining_handles();
3495 if let Some((inlined, num_bytes, num_handles)) =
3496 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3497 {
3498 let member_inline_size =
3499 <fidl::encoding::Array<u8, 6> as fidl::encoding::TypeMarker>::inline_size(
3500 decoder.context,
3501 );
3502 if inlined != (member_inline_size <= 4) {
3503 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3504 }
3505 let inner_offset;
3506 let mut inner_depth = depth.clone();
3507 if inlined {
3508 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3509 inner_offset = next_offset;
3510 } else {
3511 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3512 inner_depth.increment()?;
3513 }
3514 let val_ref = self
3515 .bssid
3516 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Array<u8, 6>, D));
3517 fidl::decode!(fidl::encoding::Array<u8, 6>, D, val_ref, decoder, inner_offset, inner_depth)?;
3518 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3519 {
3520 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3521 }
3522 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3523 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3524 }
3525 }
3526
3527 next_offset += envelope_size;
3528 _next_ordinal_to_read += 1;
3529 if next_offset >= end_offset {
3530 return Ok(());
3531 }
3532
3533 while _next_ordinal_to_read < 2 {
3535 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3536 _next_ordinal_to_read += 1;
3537 next_offset += envelope_size;
3538 }
3539
3540 let next_out_of_line = decoder.next_out_of_line();
3541 let handles_before = decoder.remaining_handles();
3542 if let Some((inlined, num_bytes, num_handles)) =
3543 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3544 {
3545 let member_inline_size =
3546 <i8 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3547 if inlined != (member_inline_size <= 4) {
3548 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3549 }
3550 let inner_offset;
3551 let mut inner_depth = depth.clone();
3552 if inlined {
3553 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3554 inner_offset = next_offset;
3555 } else {
3556 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3557 inner_depth.increment()?;
3558 }
3559 let val_ref = self.rssi.get_or_insert_with(|| fidl::new_empty!(i8, D));
3560 fidl::decode!(i8, D, val_ref, decoder, inner_offset, inner_depth)?;
3561 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3562 {
3563 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3564 }
3565 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3566 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3567 }
3568 }
3569
3570 next_offset += envelope_size;
3571 _next_ordinal_to_read += 1;
3572 if next_offset >= end_offset {
3573 return Ok(());
3574 }
3575
3576 while _next_ordinal_to_read < 3 {
3578 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3579 _next_ordinal_to_read += 1;
3580 next_offset += envelope_size;
3581 }
3582
3583 let next_out_of_line = decoder.next_out_of_line();
3584 let handles_before = decoder.remaining_handles();
3585 if let Some((inlined, num_bytes, num_handles)) =
3586 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3587 {
3588 let member_inline_size =
3589 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3590 if inlined != (member_inline_size <= 4) {
3591 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3592 }
3593 let inner_offset;
3594 let mut inner_depth = depth.clone();
3595 if inlined {
3596 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3597 inner_offset = next_offset;
3598 } else {
3599 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3600 inner_depth.increment()?;
3601 }
3602 let val_ref = self.frequency.get_or_insert_with(|| fidl::new_empty!(u32, D));
3603 fidl::decode!(u32, D, val_ref, decoder, inner_offset, inner_depth)?;
3604 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3605 {
3606 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3607 }
3608 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3609 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3610 }
3611 }
3612
3613 next_offset += envelope_size;
3614 _next_ordinal_to_read += 1;
3615 if next_offset >= end_offset {
3616 return Ok(());
3617 }
3618
3619 while _next_ordinal_to_read < 4 {
3621 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3622 _next_ordinal_to_read += 1;
3623 next_offset += envelope_size;
3624 }
3625
3626 let next_out_of_line = decoder.next_out_of_line();
3627 let handles_before = decoder.remaining_handles();
3628 if let Some((inlined, num_bytes, num_handles)) =
3629 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3630 {
3631 let member_inline_size =
3632 <i64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3633 if inlined != (member_inline_size <= 4) {
3634 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3635 }
3636 let inner_offset;
3637 let mut inner_depth = depth.clone();
3638 if inlined {
3639 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3640 inner_offset = next_offset;
3641 } else {
3642 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3643 inner_depth.increment()?;
3644 }
3645 let val_ref = self.timestamp_nanos.get_or_insert_with(|| fidl::new_empty!(i64, D));
3646 fidl::decode!(i64, D, val_ref, decoder, inner_offset, inner_depth)?;
3647 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3648 {
3649 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3650 }
3651 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3652 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3653 }
3654 }
3655
3656 next_offset += envelope_size;
3657
3658 while next_offset < end_offset {
3660 _next_ordinal_to_read += 1;
3661 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3662 next_offset += envelope_size;
3663 }
3664
3665 Ok(())
3666 }
3667 }
3668
3669 impl ClientStateSummary {
3670 #[inline(always)]
3671 fn max_ordinal_present(&self) -> u64 {
3672 if let Some(_) = self.networks {
3673 return 2;
3674 }
3675 if let Some(_) = self.state {
3676 return 1;
3677 }
3678 0
3679 }
3680 }
3681
3682 impl fidl::encoding::ValueTypeMarker for ClientStateSummary {
3683 type Borrowed<'a> = &'a Self;
3684 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3685 value
3686 }
3687 }
3688
3689 unsafe impl fidl::encoding::TypeMarker for ClientStateSummary {
3690 type Owned = Self;
3691
3692 #[inline(always)]
3693 fn inline_align(_context: fidl::encoding::Context) -> usize {
3694 8
3695 }
3696
3697 #[inline(always)]
3698 fn inline_size(_context: fidl::encoding::Context) -> usize {
3699 16
3700 }
3701 }
3702
3703 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ClientStateSummary, D>
3704 for &ClientStateSummary
3705 {
3706 unsafe fn encode(
3707 self,
3708 encoder: &mut fidl::encoding::Encoder<'_, D>,
3709 offset: usize,
3710 mut depth: fidl::encoding::Depth,
3711 ) -> fidl::Result<()> {
3712 encoder.debug_check_bounds::<ClientStateSummary>(offset);
3713 let max_ordinal: u64 = self.max_ordinal_present();
3715 encoder.write_num(max_ordinal, offset);
3716 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
3717 if max_ordinal == 0 {
3719 return Ok(());
3720 }
3721 depth.increment()?;
3722 let envelope_size = 8;
3723 let bytes_len = max_ordinal as usize * envelope_size;
3724 #[allow(unused_variables)]
3725 let offset = encoder.out_of_line_offset(bytes_len);
3726 let mut _prev_end_offset: usize = 0;
3727 if 1 > max_ordinal {
3728 return Ok(());
3729 }
3730
3731 let cur_offset: usize = (1 - 1) * envelope_size;
3734
3735 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3737
3738 fidl::encoding::encode_in_envelope_optional::<WlanClientState, D>(
3743 self.state
3744 .as_ref()
3745 .map(<WlanClientState as fidl::encoding::ValueTypeMarker>::borrow),
3746 encoder,
3747 offset + cur_offset,
3748 depth,
3749 )?;
3750
3751 _prev_end_offset = cur_offset + envelope_size;
3752 if 2 > max_ordinal {
3753 return Ok(());
3754 }
3755
3756 let cur_offset: usize = (2 - 1) * envelope_size;
3759
3760 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3762
3763 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedVector<NetworkState>, D>(
3768 self.networks.as_ref().map(<fidl::encoding::UnboundedVector<NetworkState> as fidl::encoding::ValueTypeMarker>::borrow),
3769 encoder, offset + cur_offset, depth
3770 )?;
3771
3772 _prev_end_offset = cur_offset + envelope_size;
3773
3774 Ok(())
3775 }
3776 }
3777
3778 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ClientStateSummary {
3779 #[inline(always)]
3780 fn new_empty() -> Self {
3781 Self::default()
3782 }
3783
3784 unsafe fn decode(
3785 &mut self,
3786 decoder: &mut fidl::encoding::Decoder<'_, D>,
3787 offset: usize,
3788 mut depth: fidl::encoding::Depth,
3789 ) -> fidl::Result<()> {
3790 decoder.debug_check_bounds::<Self>(offset);
3791 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
3792 None => return Err(fidl::Error::NotNullable),
3793 Some(len) => len,
3794 };
3795 if len == 0 {
3797 return Ok(());
3798 };
3799 depth.increment()?;
3800 let envelope_size = 8;
3801 let bytes_len = len * envelope_size;
3802 let offset = decoder.out_of_line_offset(bytes_len)?;
3803 let mut _next_ordinal_to_read = 0;
3805 let mut next_offset = offset;
3806 let end_offset = offset + bytes_len;
3807 _next_ordinal_to_read += 1;
3808 if next_offset >= end_offset {
3809 return Ok(());
3810 }
3811
3812 while _next_ordinal_to_read < 1 {
3814 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3815 _next_ordinal_to_read += 1;
3816 next_offset += envelope_size;
3817 }
3818
3819 let next_out_of_line = decoder.next_out_of_line();
3820 let handles_before = decoder.remaining_handles();
3821 if let Some((inlined, num_bytes, num_handles)) =
3822 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3823 {
3824 let member_inline_size =
3825 <WlanClientState as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3826 if inlined != (member_inline_size <= 4) {
3827 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3828 }
3829 let inner_offset;
3830 let mut inner_depth = depth.clone();
3831 if inlined {
3832 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3833 inner_offset = next_offset;
3834 } else {
3835 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3836 inner_depth.increment()?;
3837 }
3838 let val_ref =
3839 self.state.get_or_insert_with(|| fidl::new_empty!(WlanClientState, D));
3840 fidl::decode!(WlanClientState, D, val_ref, decoder, inner_offset, inner_depth)?;
3841 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3842 {
3843 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3844 }
3845 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3846 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3847 }
3848 }
3849
3850 next_offset += envelope_size;
3851 _next_ordinal_to_read += 1;
3852 if next_offset >= end_offset {
3853 return Ok(());
3854 }
3855
3856 while _next_ordinal_to_read < 2 {
3858 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3859 _next_ordinal_to_read += 1;
3860 next_offset += envelope_size;
3861 }
3862
3863 let next_out_of_line = decoder.next_out_of_line();
3864 let handles_before = decoder.remaining_handles();
3865 if let Some((inlined, num_bytes, num_handles)) =
3866 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3867 {
3868 let member_inline_size = <fidl::encoding::UnboundedVector<NetworkState> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3869 if inlined != (member_inline_size <= 4) {
3870 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3871 }
3872 let inner_offset;
3873 let mut inner_depth = depth.clone();
3874 if inlined {
3875 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3876 inner_offset = next_offset;
3877 } else {
3878 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3879 inner_depth.increment()?;
3880 }
3881 let val_ref = self.networks.get_or_insert_with(|| {
3882 fidl::new_empty!(fidl::encoding::UnboundedVector<NetworkState>, D)
3883 });
3884 fidl::decode!(
3885 fidl::encoding::UnboundedVector<NetworkState>,
3886 D,
3887 val_ref,
3888 decoder,
3889 inner_offset,
3890 inner_depth
3891 )?;
3892 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3893 {
3894 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3895 }
3896 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3897 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3898 }
3899 }
3900
3901 next_offset += envelope_size;
3902
3903 while next_offset < end_offset {
3905 _next_ordinal_to_read += 1;
3906 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3907 next_offset += envelope_size;
3908 }
3909
3910 Ok(())
3911 }
3912 }
3913
3914 impl ConnectedClientInformation {
3915 #[inline(always)]
3916 fn max_ordinal_present(&self) -> u64 {
3917 if let Some(_) = self.count {
3918 return 1;
3919 }
3920 0
3921 }
3922 }
3923
3924 impl fidl::encoding::ValueTypeMarker for ConnectedClientInformation {
3925 type Borrowed<'a> = &'a Self;
3926 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3927 value
3928 }
3929 }
3930
3931 unsafe impl fidl::encoding::TypeMarker for ConnectedClientInformation {
3932 type Owned = Self;
3933
3934 #[inline(always)]
3935 fn inline_align(_context: fidl::encoding::Context) -> usize {
3936 8
3937 }
3938
3939 #[inline(always)]
3940 fn inline_size(_context: fidl::encoding::Context) -> usize {
3941 16
3942 }
3943 }
3944
3945 unsafe impl<D: fidl::encoding::ResourceDialect>
3946 fidl::encoding::Encode<ConnectedClientInformation, D> for &ConnectedClientInformation
3947 {
3948 unsafe fn encode(
3949 self,
3950 encoder: &mut fidl::encoding::Encoder<'_, D>,
3951 offset: usize,
3952 mut depth: fidl::encoding::Depth,
3953 ) -> fidl::Result<()> {
3954 encoder.debug_check_bounds::<ConnectedClientInformation>(offset);
3955 let max_ordinal: u64 = self.max_ordinal_present();
3957 encoder.write_num(max_ordinal, offset);
3958 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
3959 if max_ordinal == 0 {
3961 return Ok(());
3962 }
3963 depth.increment()?;
3964 let envelope_size = 8;
3965 let bytes_len = max_ordinal as usize * envelope_size;
3966 #[allow(unused_variables)]
3967 let offset = encoder.out_of_line_offset(bytes_len);
3968 let mut _prev_end_offset: usize = 0;
3969 if 1 > max_ordinal {
3970 return Ok(());
3971 }
3972
3973 let cur_offset: usize = (1 - 1) * envelope_size;
3976
3977 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3979
3980 fidl::encoding::encode_in_envelope_optional::<u8, D>(
3985 self.count.as_ref().map(<u8 as fidl::encoding::ValueTypeMarker>::borrow),
3986 encoder,
3987 offset + cur_offset,
3988 depth,
3989 )?;
3990
3991 _prev_end_offset = cur_offset + envelope_size;
3992
3993 Ok(())
3994 }
3995 }
3996
3997 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3998 for ConnectedClientInformation
3999 {
4000 #[inline(always)]
4001 fn new_empty() -> Self {
4002 Self::default()
4003 }
4004
4005 unsafe fn decode(
4006 &mut self,
4007 decoder: &mut fidl::encoding::Decoder<'_, D>,
4008 offset: usize,
4009 mut depth: fidl::encoding::Depth,
4010 ) -> fidl::Result<()> {
4011 decoder.debug_check_bounds::<Self>(offset);
4012 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4013 None => return Err(fidl::Error::NotNullable),
4014 Some(len) => len,
4015 };
4016 if len == 0 {
4018 return Ok(());
4019 };
4020 depth.increment()?;
4021 let envelope_size = 8;
4022 let bytes_len = len * envelope_size;
4023 let offset = decoder.out_of_line_offset(bytes_len)?;
4024 let mut _next_ordinal_to_read = 0;
4026 let mut next_offset = offset;
4027 let end_offset = offset + bytes_len;
4028 _next_ordinal_to_read += 1;
4029 if next_offset >= end_offset {
4030 return Ok(());
4031 }
4032
4033 while _next_ordinal_to_read < 1 {
4035 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4036 _next_ordinal_to_read += 1;
4037 next_offset += envelope_size;
4038 }
4039
4040 let next_out_of_line = decoder.next_out_of_line();
4041 let handles_before = decoder.remaining_handles();
4042 if let Some((inlined, num_bytes, num_handles)) =
4043 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4044 {
4045 let member_inline_size =
4046 <u8 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4047 if inlined != (member_inline_size <= 4) {
4048 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4049 }
4050 let inner_offset;
4051 let mut inner_depth = depth.clone();
4052 if inlined {
4053 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4054 inner_offset = next_offset;
4055 } else {
4056 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4057 inner_depth.increment()?;
4058 }
4059 let val_ref = self.count.get_or_insert_with(|| fidl::new_empty!(u8, D));
4060 fidl::decode!(u8, D, val_ref, decoder, inner_offset, inner_depth)?;
4061 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4062 {
4063 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4064 }
4065 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4066 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4067 }
4068 }
4069
4070 next_offset += envelope_size;
4071
4072 while next_offset < end_offset {
4074 _next_ordinal_to_read += 1;
4075 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4076 next_offset += envelope_size;
4077 }
4078
4079 Ok(())
4080 }
4081 }
4082
4083 impl NetworkConfig {
4084 #[inline(always)]
4085 fn max_ordinal_present(&self) -> u64 {
4086 if let Some(_) = self.credential {
4087 return 2;
4088 }
4089 if let Some(_) = self.id {
4090 return 1;
4091 }
4092 0
4093 }
4094 }
4095
4096 impl fidl::encoding::ValueTypeMarker for NetworkConfig {
4097 type Borrowed<'a> = &'a Self;
4098 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4099 value
4100 }
4101 }
4102
4103 unsafe impl fidl::encoding::TypeMarker for NetworkConfig {
4104 type Owned = Self;
4105
4106 #[inline(always)]
4107 fn inline_align(_context: fidl::encoding::Context) -> usize {
4108 8
4109 }
4110
4111 #[inline(always)]
4112 fn inline_size(_context: fidl::encoding::Context) -> usize {
4113 16
4114 }
4115 }
4116
4117 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<NetworkConfig, D>
4118 for &NetworkConfig
4119 {
4120 unsafe fn encode(
4121 self,
4122 encoder: &mut fidl::encoding::Encoder<'_, D>,
4123 offset: usize,
4124 mut depth: fidl::encoding::Depth,
4125 ) -> fidl::Result<()> {
4126 encoder.debug_check_bounds::<NetworkConfig>(offset);
4127 let max_ordinal: u64 = self.max_ordinal_present();
4129 encoder.write_num(max_ordinal, offset);
4130 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4131 if max_ordinal == 0 {
4133 return Ok(());
4134 }
4135 depth.increment()?;
4136 let envelope_size = 8;
4137 let bytes_len = max_ordinal as usize * envelope_size;
4138 #[allow(unused_variables)]
4139 let offset = encoder.out_of_line_offset(bytes_len);
4140 let mut _prev_end_offset: usize = 0;
4141 if 1 > max_ordinal {
4142 return Ok(());
4143 }
4144
4145 let cur_offset: usize = (1 - 1) * envelope_size;
4148
4149 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4151
4152 fidl::encoding::encode_in_envelope_optional::<NetworkIdentifier, D>(
4157 self.id
4158 .as_ref()
4159 .map(<NetworkIdentifier as fidl::encoding::ValueTypeMarker>::borrow),
4160 encoder,
4161 offset + cur_offset,
4162 depth,
4163 )?;
4164
4165 _prev_end_offset = cur_offset + envelope_size;
4166 if 2 > max_ordinal {
4167 return Ok(());
4168 }
4169
4170 let cur_offset: usize = (2 - 1) * envelope_size;
4173
4174 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4176
4177 fidl::encoding::encode_in_envelope_optional::<Credential, D>(
4182 self.credential
4183 .as_ref()
4184 .map(<Credential as fidl::encoding::ValueTypeMarker>::borrow),
4185 encoder,
4186 offset + cur_offset,
4187 depth,
4188 )?;
4189
4190 _prev_end_offset = cur_offset + envelope_size;
4191
4192 Ok(())
4193 }
4194 }
4195
4196 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for NetworkConfig {
4197 #[inline(always)]
4198 fn new_empty() -> Self {
4199 Self::default()
4200 }
4201
4202 unsafe fn decode(
4203 &mut self,
4204 decoder: &mut fidl::encoding::Decoder<'_, D>,
4205 offset: usize,
4206 mut depth: fidl::encoding::Depth,
4207 ) -> fidl::Result<()> {
4208 decoder.debug_check_bounds::<Self>(offset);
4209 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4210 None => return Err(fidl::Error::NotNullable),
4211 Some(len) => len,
4212 };
4213 if len == 0 {
4215 return Ok(());
4216 };
4217 depth.increment()?;
4218 let envelope_size = 8;
4219 let bytes_len = len * envelope_size;
4220 let offset = decoder.out_of_line_offset(bytes_len)?;
4221 let mut _next_ordinal_to_read = 0;
4223 let mut next_offset = offset;
4224 let end_offset = offset + bytes_len;
4225 _next_ordinal_to_read += 1;
4226 if next_offset >= end_offset {
4227 return Ok(());
4228 }
4229
4230 while _next_ordinal_to_read < 1 {
4232 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4233 _next_ordinal_to_read += 1;
4234 next_offset += envelope_size;
4235 }
4236
4237 let next_out_of_line = decoder.next_out_of_line();
4238 let handles_before = decoder.remaining_handles();
4239 if let Some((inlined, num_bytes, num_handles)) =
4240 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4241 {
4242 let member_inline_size =
4243 <NetworkIdentifier as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4244 if inlined != (member_inline_size <= 4) {
4245 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4246 }
4247 let inner_offset;
4248 let mut inner_depth = depth.clone();
4249 if inlined {
4250 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4251 inner_offset = next_offset;
4252 } else {
4253 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4254 inner_depth.increment()?;
4255 }
4256 let val_ref = self.id.get_or_insert_with(|| fidl::new_empty!(NetworkIdentifier, D));
4257 fidl::decode!(NetworkIdentifier, D, val_ref, decoder, inner_offset, inner_depth)?;
4258 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4259 {
4260 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4261 }
4262 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4263 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4264 }
4265 }
4266
4267 next_offset += envelope_size;
4268 _next_ordinal_to_read += 1;
4269 if next_offset >= end_offset {
4270 return Ok(());
4271 }
4272
4273 while _next_ordinal_to_read < 2 {
4275 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4276 _next_ordinal_to_read += 1;
4277 next_offset += envelope_size;
4278 }
4279
4280 let next_out_of_line = decoder.next_out_of_line();
4281 let handles_before = decoder.remaining_handles();
4282 if let Some((inlined, num_bytes, num_handles)) =
4283 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4284 {
4285 let member_inline_size =
4286 <Credential as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4287 if inlined != (member_inline_size <= 4) {
4288 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4289 }
4290 let inner_offset;
4291 let mut inner_depth = depth.clone();
4292 if inlined {
4293 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4294 inner_offset = next_offset;
4295 } else {
4296 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4297 inner_depth.increment()?;
4298 }
4299 let val_ref =
4300 self.credential.get_or_insert_with(|| fidl::new_empty!(Credential, D));
4301 fidl::decode!(Credential, D, val_ref, decoder, inner_offset, inner_depth)?;
4302 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4303 {
4304 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4305 }
4306 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4307 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4308 }
4309 }
4310
4311 next_offset += envelope_size;
4312
4313 while next_offset < end_offset {
4315 _next_ordinal_to_read += 1;
4316 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4317 next_offset += envelope_size;
4318 }
4319
4320 Ok(())
4321 }
4322 }
4323
4324 impl NetworkState {
4325 #[inline(always)]
4326 fn max_ordinal_present(&self) -> u64 {
4327 if let Some(_) = self.status {
4328 return 3;
4329 }
4330 if let Some(_) = self.state {
4331 return 2;
4332 }
4333 if let Some(_) = self.id {
4334 return 1;
4335 }
4336 0
4337 }
4338 }
4339
4340 impl fidl::encoding::ValueTypeMarker for NetworkState {
4341 type Borrowed<'a> = &'a Self;
4342 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4343 value
4344 }
4345 }
4346
4347 unsafe impl fidl::encoding::TypeMarker for NetworkState {
4348 type Owned = Self;
4349
4350 #[inline(always)]
4351 fn inline_align(_context: fidl::encoding::Context) -> usize {
4352 8
4353 }
4354
4355 #[inline(always)]
4356 fn inline_size(_context: fidl::encoding::Context) -> usize {
4357 16
4358 }
4359 }
4360
4361 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<NetworkState, D>
4362 for &NetworkState
4363 {
4364 unsafe fn encode(
4365 self,
4366 encoder: &mut fidl::encoding::Encoder<'_, D>,
4367 offset: usize,
4368 mut depth: fidl::encoding::Depth,
4369 ) -> fidl::Result<()> {
4370 encoder.debug_check_bounds::<NetworkState>(offset);
4371 let max_ordinal: u64 = self.max_ordinal_present();
4373 encoder.write_num(max_ordinal, offset);
4374 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4375 if max_ordinal == 0 {
4377 return Ok(());
4378 }
4379 depth.increment()?;
4380 let envelope_size = 8;
4381 let bytes_len = max_ordinal as usize * envelope_size;
4382 #[allow(unused_variables)]
4383 let offset = encoder.out_of_line_offset(bytes_len);
4384 let mut _prev_end_offset: usize = 0;
4385 if 1 > max_ordinal {
4386 return Ok(());
4387 }
4388
4389 let cur_offset: usize = (1 - 1) * envelope_size;
4392
4393 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4395
4396 fidl::encoding::encode_in_envelope_optional::<NetworkIdentifier, D>(
4401 self.id
4402 .as_ref()
4403 .map(<NetworkIdentifier as fidl::encoding::ValueTypeMarker>::borrow),
4404 encoder,
4405 offset + cur_offset,
4406 depth,
4407 )?;
4408
4409 _prev_end_offset = cur_offset + envelope_size;
4410 if 2 > max_ordinal {
4411 return Ok(());
4412 }
4413
4414 let cur_offset: usize = (2 - 1) * envelope_size;
4417
4418 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4420
4421 fidl::encoding::encode_in_envelope_optional::<ConnectionState, D>(
4426 self.state
4427 .as_ref()
4428 .map(<ConnectionState as fidl::encoding::ValueTypeMarker>::borrow),
4429 encoder,
4430 offset + cur_offset,
4431 depth,
4432 )?;
4433
4434 _prev_end_offset = cur_offset + envelope_size;
4435 if 3 > max_ordinal {
4436 return Ok(());
4437 }
4438
4439 let cur_offset: usize = (3 - 1) * envelope_size;
4442
4443 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4445
4446 fidl::encoding::encode_in_envelope_optional::<DisconnectStatus, D>(
4451 self.status
4452 .as_ref()
4453 .map(<DisconnectStatus as fidl::encoding::ValueTypeMarker>::borrow),
4454 encoder,
4455 offset + cur_offset,
4456 depth,
4457 )?;
4458
4459 _prev_end_offset = cur_offset + envelope_size;
4460
4461 Ok(())
4462 }
4463 }
4464
4465 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for NetworkState {
4466 #[inline(always)]
4467 fn new_empty() -> Self {
4468 Self::default()
4469 }
4470
4471 unsafe fn decode(
4472 &mut self,
4473 decoder: &mut fidl::encoding::Decoder<'_, D>,
4474 offset: usize,
4475 mut depth: fidl::encoding::Depth,
4476 ) -> fidl::Result<()> {
4477 decoder.debug_check_bounds::<Self>(offset);
4478 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4479 None => return Err(fidl::Error::NotNullable),
4480 Some(len) => len,
4481 };
4482 if len == 0 {
4484 return Ok(());
4485 };
4486 depth.increment()?;
4487 let envelope_size = 8;
4488 let bytes_len = len * envelope_size;
4489 let offset = decoder.out_of_line_offset(bytes_len)?;
4490 let mut _next_ordinal_to_read = 0;
4492 let mut next_offset = offset;
4493 let end_offset = offset + bytes_len;
4494 _next_ordinal_to_read += 1;
4495 if next_offset >= end_offset {
4496 return Ok(());
4497 }
4498
4499 while _next_ordinal_to_read < 1 {
4501 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4502 _next_ordinal_to_read += 1;
4503 next_offset += envelope_size;
4504 }
4505
4506 let next_out_of_line = decoder.next_out_of_line();
4507 let handles_before = decoder.remaining_handles();
4508 if let Some((inlined, num_bytes, num_handles)) =
4509 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4510 {
4511 let member_inline_size =
4512 <NetworkIdentifier as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4513 if inlined != (member_inline_size <= 4) {
4514 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4515 }
4516 let inner_offset;
4517 let mut inner_depth = depth.clone();
4518 if inlined {
4519 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4520 inner_offset = next_offset;
4521 } else {
4522 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4523 inner_depth.increment()?;
4524 }
4525 let val_ref = self.id.get_or_insert_with(|| fidl::new_empty!(NetworkIdentifier, D));
4526 fidl::decode!(NetworkIdentifier, D, val_ref, decoder, inner_offset, inner_depth)?;
4527 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4528 {
4529 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4530 }
4531 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4532 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4533 }
4534 }
4535
4536 next_offset += envelope_size;
4537 _next_ordinal_to_read += 1;
4538 if next_offset >= end_offset {
4539 return Ok(());
4540 }
4541
4542 while _next_ordinal_to_read < 2 {
4544 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4545 _next_ordinal_to_read += 1;
4546 next_offset += envelope_size;
4547 }
4548
4549 let next_out_of_line = decoder.next_out_of_line();
4550 let handles_before = decoder.remaining_handles();
4551 if let Some((inlined, num_bytes, num_handles)) =
4552 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4553 {
4554 let member_inline_size =
4555 <ConnectionState as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4556 if inlined != (member_inline_size <= 4) {
4557 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4558 }
4559 let inner_offset;
4560 let mut inner_depth = depth.clone();
4561 if inlined {
4562 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4563 inner_offset = next_offset;
4564 } else {
4565 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4566 inner_depth.increment()?;
4567 }
4568 let val_ref =
4569 self.state.get_or_insert_with(|| fidl::new_empty!(ConnectionState, D));
4570 fidl::decode!(ConnectionState, D, val_ref, decoder, inner_offset, inner_depth)?;
4571 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4572 {
4573 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4574 }
4575 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4576 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4577 }
4578 }
4579
4580 next_offset += envelope_size;
4581 _next_ordinal_to_read += 1;
4582 if next_offset >= end_offset {
4583 return Ok(());
4584 }
4585
4586 while _next_ordinal_to_read < 3 {
4588 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4589 _next_ordinal_to_read += 1;
4590 next_offset += envelope_size;
4591 }
4592
4593 let next_out_of_line = decoder.next_out_of_line();
4594 let handles_before = decoder.remaining_handles();
4595 if let Some((inlined, num_bytes, num_handles)) =
4596 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4597 {
4598 let member_inline_size =
4599 <DisconnectStatus as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4600 if inlined != (member_inline_size <= 4) {
4601 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4602 }
4603 let inner_offset;
4604 let mut inner_depth = depth.clone();
4605 if inlined {
4606 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4607 inner_offset = next_offset;
4608 } else {
4609 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4610 inner_depth.increment()?;
4611 }
4612 let val_ref =
4613 self.status.get_or_insert_with(|| fidl::new_empty!(DisconnectStatus, D));
4614 fidl::decode!(DisconnectStatus, D, val_ref, decoder, inner_offset, inner_depth)?;
4615 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4616 {
4617 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4618 }
4619 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4620 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4621 }
4622 }
4623
4624 next_offset += envelope_size;
4625
4626 while next_offset < end_offset {
4628 _next_ordinal_to_read += 1;
4629 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4630 next_offset += envelope_size;
4631 }
4632
4633 Ok(())
4634 }
4635 }
4636
4637 impl ScanResult {
4638 #[inline(always)]
4639 fn max_ordinal_present(&self) -> u64 {
4640 if let Some(_) = self.compatibility {
4641 return 3;
4642 }
4643 if let Some(_) = self.entries {
4644 return 2;
4645 }
4646 if let Some(_) = self.id {
4647 return 1;
4648 }
4649 0
4650 }
4651 }
4652
4653 impl fidl::encoding::ValueTypeMarker for ScanResult {
4654 type Borrowed<'a> = &'a Self;
4655 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4656 value
4657 }
4658 }
4659
4660 unsafe impl fidl::encoding::TypeMarker for ScanResult {
4661 type Owned = Self;
4662
4663 #[inline(always)]
4664 fn inline_align(_context: fidl::encoding::Context) -> usize {
4665 8
4666 }
4667
4668 #[inline(always)]
4669 fn inline_size(_context: fidl::encoding::Context) -> usize {
4670 16
4671 }
4672 }
4673
4674 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ScanResult, D>
4675 for &ScanResult
4676 {
4677 unsafe fn encode(
4678 self,
4679 encoder: &mut fidl::encoding::Encoder<'_, D>,
4680 offset: usize,
4681 mut depth: fidl::encoding::Depth,
4682 ) -> fidl::Result<()> {
4683 encoder.debug_check_bounds::<ScanResult>(offset);
4684 let max_ordinal: u64 = self.max_ordinal_present();
4686 encoder.write_num(max_ordinal, offset);
4687 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4688 if max_ordinal == 0 {
4690 return Ok(());
4691 }
4692 depth.increment()?;
4693 let envelope_size = 8;
4694 let bytes_len = max_ordinal as usize * envelope_size;
4695 #[allow(unused_variables)]
4696 let offset = encoder.out_of_line_offset(bytes_len);
4697 let mut _prev_end_offset: usize = 0;
4698 if 1 > max_ordinal {
4699 return Ok(());
4700 }
4701
4702 let cur_offset: usize = (1 - 1) * envelope_size;
4705
4706 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4708
4709 fidl::encoding::encode_in_envelope_optional::<NetworkIdentifier, D>(
4714 self.id
4715 .as_ref()
4716 .map(<NetworkIdentifier as fidl::encoding::ValueTypeMarker>::borrow),
4717 encoder,
4718 offset + cur_offset,
4719 depth,
4720 )?;
4721
4722 _prev_end_offset = cur_offset + envelope_size;
4723 if 2 > max_ordinal {
4724 return Ok(());
4725 }
4726
4727 let cur_offset: usize = (2 - 1) * envelope_size;
4730
4731 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4733
4734 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedVector<Bss>, D>(
4739 self.entries.as_ref().map(<fidl::encoding::UnboundedVector<Bss> as fidl::encoding::ValueTypeMarker>::borrow),
4740 encoder, offset + cur_offset, depth
4741 )?;
4742
4743 _prev_end_offset = cur_offset + envelope_size;
4744 if 3 > max_ordinal {
4745 return Ok(());
4746 }
4747
4748 let cur_offset: usize = (3 - 1) * envelope_size;
4751
4752 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4754
4755 fidl::encoding::encode_in_envelope_optional::<Compatibility, D>(
4760 self.compatibility
4761 .as_ref()
4762 .map(<Compatibility as fidl::encoding::ValueTypeMarker>::borrow),
4763 encoder,
4764 offset + cur_offset,
4765 depth,
4766 )?;
4767
4768 _prev_end_offset = cur_offset + envelope_size;
4769
4770 Ok(())
4771 }
4772 }
4773
4774 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanResult {
4775 #[inline(always)]
4776 fn new_empty() -> Self {
4777 Self::default()
4778 }
4779
4780 unsafe fn decode(
4781 &mut self,
4782 decoder: &mut fidl::encoding::Decoder<'_, D>,
4783 offset: usize,
4784 mut depth: fidl::encoding::Depth,
4785 ) -> fidl::Result<()> {
4786 decoder.debug_check_bounds::<Self>(offset);
4787 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4788 None => return Err(fidl::Error::NotNullable),
4789 Some(len) => len,
4790 };
4791 if len == 0 {
4793 return Ok(());
4794 };
4795 depth.increment()?;
4796 let envelope_size = 8;
4797 let bytes_len = len * envelope_size;
4798 let offset = decoder.out_of_line_offset(bytes_len)?;
4799 let mut _next_ordinal_to_read = 0;
4801 let mut next_offset = offset;
4802 let end_offset = offset + bytes_len;
4803 _next_ordinal_to_read += 1;
4804 if next_offset >= end_offset {
4805 return Ok(());
4806 }
4807
4808 while _next_ordinal_to_read < 1 {
4810 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4811 _next_ordinal_to_read += 1;
4812 next_offset += envelope_size;
4813 }
4814
4815 let next_out_of_line = decoder.next_out_of_line();
4816 let handles_before = decoder.remaining_handles();
4817 if let Some((inlined, num_bytes, num_handles)) =
4818 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4819 {
4820 let member_inline_size =
4821 <NetworkIdentifier as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4822 if inlined != (member_inline_size <= 4) {
4823 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4824 }
4825 let inner_offset;
4826 let mut inner_depth = depth.clone();
4827 if inlined {
4828 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4829 inner_offset = next_offset;
4830 } else {
4831 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4832 inner_depth.increment()?;
4833 }
4834 let val_ref = self.id.get_or_insert_with(|| fidl::new_empty!(NetworkIdentifier, D));
4835 fidl::decode!(NetworkIdentifier, D, val_ref, decoder, inner_offset, inner_depth)?;
4836 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4837 {
4838 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4839 }
4840 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4841 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4842 }
4843 }
4844
4845 next_offset += envelope_size;
4846 _next_ordinal_to_read += 1;
4847 if next_offset >= end_offset {
4848 return Ok(());
4849 }
4850
4851 while _next_ordinal_to_read < 2 {
4853 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4854 _next_ordinal_to_read += 1;
4855 next_offset += envelope_size;
4856 }
4857
4858 let next_out_of_line = decoder.next_out_of_line();
4859 let handles_before = decoder.remaining_handles();
4860 if let Some((inlined, num_bytes, num_handles)) =
4861 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4862 {
4863 let member_inline_size = <fidl::encoding::UnboundedVector<Bss> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4864 if inlined != (member_inline_size <= 4) {
4865 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4866 }
4867 let inner_offset;
4868 let mut inner_depth = depth.clone();
4869 if inlined {
4870 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4871 inner_offset = next_offset;
4872 } else {
4873 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4874 inner_depth.increment()?;
4875 }
4876 let val_ref = self.entries.get_or_insert_with(|| {
4877 fidl::new_empty!(fidl::encoding::UnboundedVector<Bss>, D)
4878 });
4879 fidl::decode!(
4880 fidl::encoding::UnboundedVector<Bss>,
4881 D,
4882 val_ref,
4883 decoder,
4884 inner_offset,
4885 inner_depth
4886 )?;
4887 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4888 {
4889 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4890 }
4891 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4892 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4893 }
4894 }
4895
4896 next_offset += envelope_size;
4897 _next_ordinal_to_read += 1;
4898 if next_offset >= end_offset {
4899 return Ok(());
4900 }
4901
4902 while _next_ordinal_to_read < 3 {
4904 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4905 _next_ordinal_to_read += 1;
4906 next_offset += envelope_size;
4907 }
4908
4909 let next_out_of_line = decoder.next_out_of_line();
4910 let handles_before = decoder.remaining_handles();
4911 if let Some((inlined, num_bytes, num_handles)) =
4912 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4913 {
4914 let member_inline_size =
4915 <Compatibility as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4916 if inlined != (member_inline_size <= 4) {
4917 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4918 }
4919 let inner_offset;
4920 let mut inner_depth = depth.clone();
4921 if inlined {
4922 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4923 inner_offset = next_offset;
4924 } else {
4925 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4926 inner_depth.increment()?;
4927 }
4928 let val_ref =
4929 self.compatibility.get_or_insert_with(|| fidl::new_empty!(Compatibility, D));
4930 fidl::decode!(Compatibility, D, val_ref, decoder, inner_offset, inner_depth)?;
4931 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4932 {
4933 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4934 }
4935 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4936 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4937 }
4938 }
4939
4940 next_offset += envelope_size;
4941
4942 while next_offset < end_offset {
4944 _next_ordinal_to_read += 1;
4945 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4946 next_offset += envelope_size;
4947 }
4948
4949 Ok(())
4950 }
4951 }
4952
4953 impl fidl::encoding::ValueTypeMarker for Credential {
4954 type Borrowed<'a> = &'a Self;
4955 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4956 value
4957 }
4958 }
4959
4960 unsafe impl fidl::encoding::TypeMarker for Credential {
4961 type Owned = Self;
4962
4963 #[inline(always)]
4964 fn inline_align(_context: fidl::encoding::Context) -> usize {
4965 8
4966 }
4967
4968 #[inline(always)]
4969 fn inline_size(_context: fidl::encoding::Context) -> usize {
4970 16
4971 }
4972 }
4973
4974 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Credential, D>
4975 for &Credential
4976 {
4977 #[inline]
4978 unsafe fn encode(
4979 self,
4980 encoder: &mut fidl::encoding::Encoder<'_, D>,
4981 offset: usize,
4982 _depth: fidl::encoding::Depth,
4983 ) -> fidl::Result<()> {
4984 encoder.debug_check_bounds::<Credential>(offset);
4985 encoder.write_num::<u64>(self.ordinal(), offset);
4986 match self {
4987 Credential::None(ref val) => {
4988 fidl::encoding::encode_in_envelope::<Empty, D>(
4989 <Empty as fidl::encoding::ValueTypeMarker>::borrow(val),
4990 encoder, offset + 8, _depth
4991 )
4992 }
4993 Credential::Password(ref val) => {
4994 fidl::encoding::encode_in_envelope::<fidl::encoding::UnboundedVector<u8>, D>(
4995 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(val),
4996 encoder, offset + 8, _depth
4997 )
4998 }
4999 Credential::Psk(ref val) => {
5000 fidl::encoding::encode_in_envelope::<fidl::encoding::UnboundedVector<u8>, D>(
5001 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(val),
5002 encoder, offset + 8, _depth
5003 )
5004 }
5005 Credential::__SourceBreaking { .. } => Err(fidl::Error::UnknownUnionTag),
5006 }
5007 }
5008 }
5009
5010 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Credential {
5011 #[inline(always)]
5012 fn new_empty() -> Self {
5013 Self::__SourceBreaking { unknown_ordinal: 0 }
5014 }
5015
5016 #[inline]
5017 unsafe fn decode(
5018 &mut self,
5019 decoder: &mut fidl::encoding::Decoder<'_, D>,
5020 offset: usize,
5021 mut depth: fidl::encoding::Depth,
5022 ) -> fidl::Result<()> {
5023 decoder.debug_check_bounds::<Self>(offset);
5024 #[allow(unused_variables)]
5025 let next_out_of_line = decoder.next_out_of_line();
5026 let handles_before = decoder.remaining_handles();
5027 let (ordinal, inlined, num_bytes, num_handles) =
5028 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
5029
5030 let member_inline_size = match ordinal {
5031 1 => <Empty as fidl::encoding::TypeMarker>::inline_size(decoder.context),
5032 2 => {
5033 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::TypeMarker>::inline_size(
5034 decoder.context,
5035 )
5036 }
5037 3 => {
5038 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::TypeMarker>::inline_size(
5039 decoder.context,
5040 )
5041 }
5042 0 => return Err(fidl::Error::UnknownUnionTag),
5043 _ => num_bytes as usize,
5044 };
5045
5046 if inlined != (member_inline_size <= 4) {
5047 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5048 }
5049 let _inner_offset;
5050 if inlined {
5051 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
5052 _inner_offset = offset + 8;
5053 } else {
5054 depth.increment()?;
5055 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5056 }
5057 match ordinal {
5058 1 => {
5059 #[allow(irrefutable_let_patterns)]
5060 if let Credential::None(_) = self {
5061 } else {
5063 *self = Credential::None(fidl::new_empty!(Empty, D));
5065 }
5066 #[allow(irrefutable_let_patterns)]
5067 if let Credential::None(ref mut val) = self {
5068 fidl::decode!(Empty, D, val, decoder, _inner_offset, depth)?;
5069 } else {
5070 unreachable!()
5071 }
5072 }
5073 2 => {
5074 #[allow(irrefutable_let_patterns)]
5075 if let Credential::Password(_) = self {
5076 } else {
5078 *self = Credential::Password(fidl::new_empty!(
5080 fidl::encoding::UnboundedVector<u8>,
5081 D
5082 ));
5083 }
5084 #[allow(irrefutable_let_patterns)]
5085 if let Credential::Password(ref mut val) = self {
5086 fidl::decode!(
5087 fidl::encoding::UnboundedVector<u8>,
5088 D,
5089 val,
5090 decoder,
5091 _inner_offset,
5092 depth
5093 )?;
5094 } else {
5095 unreachable!()
5096 }
5097 }
5098 3 => {
5099 #[allow(irrefutable_let_patterns)]
5100 if let Credential::Psk(_) = self {
5101 } else {
5103 *self = Credential::Psk(fidl::new_empty!(
5105 fidl::encoding::UnboundedVector<u8>,
5106 D
5107 ));
5108 }
5109 #[allow(irrefutable_let_patterns)]
5110 if let Credential::Psk(ref mut val) = self {
5111 fidl::decode!(
5112 fidl::encoding::UnboundedVector<u8>,
5113 D,
5114 val,
5115 decoder,
5116 _inner_offset,
5117 depth
5118 )?;
5119 } else {
5120 unreachable!()
5121 }
5122 }
5123 #[allow(deprecated)]
5124 ordinal => {
5125 for _ in 0..num_handles {
5126 decoder.drop_next_handle()?;
5127 }
5128 *self = Credential::__SourceBreaking { unknown_ordinal: ordinal };
5129 }
5130 }
5131 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
5132 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5133 }
5134 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5135 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5136 }
5137 Ok(())
5138 }
5139 }
5140}