1#![warn(clippy::all)]
3#![allow(unused_parens, unused_variables, unused_mut, unused_imports, unreachable_code)]
4
5pub mod natural {
6
7 #[doc = " The kinds of offers that can target the children in a collection.\n"]
8 #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
9 #[repr(u32)]
10 pub enum AllowedOffers {
11 StaticOnly = 1,
12 StaticAndDynamic = 2,
13 }
14 impl ::core::convert::TryFrom<u32> for AllowedOffers {
15 type Error = ::fidl_next::UnknownStrictEnumMemberError;
16 fn try_from(
17 value: u32,
18 ) -> ::core::result::Result<Self, ::fidl_next::UnknownStrictEnumMemberError> {
19 match value {
20 1 => Ok(Self::StaticOnly),
21 2 => Ok(Self::StaticAndDynamic),
22
23 _ => Err(::fidl_next::UnknownStrictEnumMemberError::new(value.into())),
24 }
25 }
26 }
27
28 unsafe impl<___E> ::fidl_next::Encode<crate::wire::AllowedOffers, ___E> for AllowedOffers
29 where
30 ___E: ?Sized,
31 {
32 #[inline]
33 fn encode(
34 self,
35 encoder: &mut ___E,
36 out: &mut ::core::mem::MaybeUninit<crate::wire::AllowedOffers>,
37 _: (),
38 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
39 ::fidl_next::Encode::encode(&self, encoder, out, ())
40 }
41 }
42
43 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::AllowedOffers, ___E> for &'a AllowedOffers
44 where
45 ___E: ?Sized,
46 {
47 #[inline]
48 fn encode(
49 self,
50 encoder: &mut ___E,
51 out: &mut ::core::mem::MaybeUninit<crate::wire::AllowedOffers>,
52 _: (),
53 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
54 ::fidl_next::munge!(let crate::wire::AllowedOffers { value } = out);
55 let _ = value.write(::fidl_next::WireU32::from(match *self {
56 AllowedOffers::StaticOnly => 1,
57
58 AllowedOffers::StaticAndDynamic => 2,
59 }));
60
61 Ok(())
62 }
63 }
64
65 impl ::core::convert::From<crate::wire::AllowedOffers> for AllowedOffers {
66 fn from(wire: crate::wire::AllowedOffers) -> Self {
67 match u32::from(wire.value) {
68 1 => Self::StaticOnly,
69
70 2 => Self::StaticAndDynamic,
71
72 _ => unsafe { ::core::hint::unreachable_unchecked() },
73 }
74 }
75 }
76
77 impl ::fidl_next::FromWire<crate::wire::AllowedOffers> for AllowedOffers {
78 #[inline]
79 fn from_wire(wire: crate::wire::AllowedOffers) -> Self {
80 Self::from(wire)
81 }
82 }
83
84 impl ::fidl_next::FromWireRef<crate::wire::AllowedOffers> for AllowedOffers {
85 #[inline]
86 fn from_wire_ref(wire: &crate::wire::AllowedOffers) -> Self {
87 Self::from(*wire)
88 }
89 }
90
91 #[doc = " Describes the expected availability of the capability.\n\n Some capabilities may not be present on all system configurations. In those\n cases, the availability will be declared as `OPTIONAL` along the chains of\n exposes/offers/uses, and the capability would be routed from `void` on\n system configurations where it does not make sense to route or provide a\n particular capability (e.g. graphical capabilities on a headless system).\n"]
92 #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
93 #[repr(u32)]
94 pub enum Availability {
95 Required = 1,
96 Optional = 2,
97 SameAsTarget = 3,
98 Transitional = 4,
99 }
100 impl ::core::convert::TryFrom<u32> for Availability {
101 type Error = ::fidl_next::UnknownStrictEnumMemberError;
102 fn try_from(
103 value: u32,
104 ) -> ::core::result::Result<Self, ::fidl_next::UnknownStrictEnumMemberError> {
105 match value {
106 1 => Ok(Self::Required),
107 2 => Ok(Self::Optional),
108 3 => Ok(Self::SameAsTarget),
109 4 => Ok(Self::Transitional),
110
111 _ => Err(::fidl_next::UnknownStrictEnumMemberError::new(value.into())),
112 }
113 }
114 }
115
116 unsafe impl<___E> ::fidl_next::Encode<crate::wire::Availability, ___E> for Availability
117 where
118 ___E: ?Sized,
119 {
120 #[inline]
121 fn encode(
122 self,
123 encoder: &mut ___E,
124 out: &mut ::core::mem::MaybeUninit<crate::wire::Availability>,
125 _: (),
126 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
127 ::fidl_next::Encode::encode(&self, encoder, out, ())
128 }
129 }
130
131 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::Availability, ___E> for &'a Availability
132 where
133 ___E: ?Sized,
134 {
135 #[inline]
136 fn encode(
137 self,
138 encoder: &mut ___E,
139 out: &mut ::core::mem::MaybeUninit<crate::wire::Availability>,
140 _: (),
141 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
142 ::fidl_next::munge!(let crate::wire::Availability { value } = out);
143 let _ = value.write(::fidl_next::WireU32::from(match *self {
144 Availability::Required => 1,
145
146 Availability::Optional => 2,
147
148 Availability::SameAsTarget => 3,
149
150 Availability::Transitional => 4,
151 }));
152
153 Ok(())
154 }
155 }
156
157 impl ::core::convert::From<crate::wire::Availability> for Availability {
158 fn from(wire: crate::wire::Availability) -> Self {
159 match u32::from(wire.value) {
160 1 => Self::Required,
161
162 2 => Self::Optional,
163
164 3 => Self::SameAsTarget,
165
166 4 => Self::Transitional,
167
168 _ => unsafe { ::core::hint::unreachable_unchecked() },
169 }
170 }
171 }
172
173 impl ::fidl_next::FromWire<crate::wire::Availability> for Availability {
174 #[inline]
175 fn from_wire(wire: crate::wire::Availability) -> Self {
176 Self::from(wire)
177 }
178 }
179
180 impl ::fidl_next::FromWireRef<crate::wire::Availability> for Availability {
181 #[inline]
182 fn from_wire_ref(wire: &crate::wire::Availability) -> Self {
183 Self::from(*wire)
184 }
185 }
186
187 pub type Name = ::std::string::String;
188
189 #[doc = " Declares a service capability backed by this component.\n\n To learn more about services, see:\n https://fuchsia.dev/fuchsia-src/glossary#service\n"]
190 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
191 pub struct Service {
192 pub name: ::core::option::Option<::std::string::String>,
193
194 pub source_path: ::core::option::Option<::std::string::String>,
195 }
196
197 impl Service {
198 fn __max_ordinal(&self) -> usize {
199 if self.source_path.is_some() {
200 return 2;
201 }
202
203 if self.name.is_some() {
204 return 1;
205 }
206
207 0
208 }
209 }
210
211 unsafe impl<___E> ::fidl_next::Encode<crate::wire::Service<'static>, ___E> for Service
212 where
213 ___E: ::fidl_next::Encoder + ?Sized,
214 {
215 #[inline]
216 fn encode(
217 mut self,
218 encoder: &mut ___E,
219 out: &mut ::core::mem::MaybeUninit<crate::wire::Service<'static>>,
220 _: (),
221 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
222 ::fidl_next::munge!(let crate::wire::Service { table } = out);
223
224 let max_ord = self.__max_ordinal();
225
226 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
227 ::fidl_next::Wire::zero_padding(&mut out);
228
229 let mut preallocated =
230 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
231
232 for i in 1..=max_ord {
233 match i {
234 2 => {
235 if let Some(value) = self.source_path.take() {
236 ::fidl_next::WireEnvelope::encode_value::<
237 ::fidl_next::WireString<'static>,
238 ___E,
239 >(
240 value, preallocated.encoder, &mut out, 1024
241 )?;
242 } else {
243 ::fidl_next::WireEnvelope::encode_zero(&mut out)
244 }
245 }
246
247 1 => {
248 if let Some(value) = self.name.take() {
249 ::fidl_next::WireEnvelope::encode_value::<
250 ::fidl_next::WireString<'static>,
251 ___E,
252 >(
253 value, preallocated.encoder, &mut out, 100
254 )?;
255 } else {
256 ::fidl_next::WireEnvelope::encode_zero(&mut out)
257 }
258 }
259
260 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
261 }
262 unsafe {
263 preallocated.write_next(out.assume_init_ref());
264 }
265 }
266
267 ::fidl_next::WireTable::encode_len(table, max_ord);
268
269 Ok(())
270 }
271 }
272
273 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::Service<'static>, ___E> for &'a Service
274 where
275 ___E: ::fidl_next::Encoder + ?Sized,
276 {
277 #[inline]
278 fn encode(
279 self,
280 encoder: &mut ___E,
281 out: &mut ::core::mem::MaybeUninit<crate::wire::Service<'static>>,
282 _: (),
283 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
284 ::fidl_next::munge!(let crate::wire::Service { table } = out);
285
286 let max_ord = self.__max_ordinal();
287
288 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
289 ::fidl_next::Wire::zero_padding(&mut out);
290
291 let mut preallocated =
292 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
293
294 for i in 1..=max_ord {
295 match i {
296 2 => {
297 if let Some(value) = &self.source_path {
298 ::fidl_next::WireEnvelope::encode_value::<
299 ::fidl_next::WireString<'static>,
300 ___E,
301 >(
302 value, preallocated.encoder, &mut out, 1024
303 )?;
304 } else {
305 ::fidl_next::WireEnvelope::encode_zero(&mut out)
306 }
307 }
308
309 1 => {
310 if let Some(value) = &self.name {
311 ::fidl_next::WireEnvelope::encode_value::<
312 ::fidl_next::WireString<'static>,
313 ___E,
314 >(
315 value, preallocated.encoder, &mut out, 100
316 )?;
317 } else {
318 ::fidl_next::WireEnvelope::encode_zero(&mut out)
319 }
320 }
321
322 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
323 }
324 unsafe {
325 preallocated.write_next(out.assume_init_ref());
326 }
327 }
328
329 ::fidl_next::WireTable::encode_len(table, max_ord);
330
331 Ok(())
332 }
333 }
334
335 impl<'de> ::fidl_next::FromWire<crate::wire::Service<'de>> for Service {
336 #[inline]
337 fn from_wire(wire_: crate::wire::Service<'de>) -> Self {
338 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
339
340 let name = wire_.table.get(1);
341
342 let source_path = wire_.table.get(2);
343
344 Self {
345 name: name.map(|envelope| {
346 ::fidl_next::FromWire::from_wire(unsafe {
347 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
348 })
349 }),
350
351 source_path: source_path.map(|envelope| {
352 ::fidl_next::FromWire::from_wire(unsafe {
353 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
354 })
355 }),
356 }
357 }
358 }
359
360 impl<'de> ::fidl_next::FromWireRef<crate::wire::Service<'de>> for Service {
361 #[inline]
362 fn from_wire_ref(wire: &crate::wire::Service<'de>) -> Self {
363 Self {
364 name: wire.table.get(1).map(|envelope| {
365 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
366 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
367 })
368 }),
369
370 source_path: wire.table.get(2).map(|envelope| {
371 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
372 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
373 })
374 }),
375 }
376 }
377 }
378
379 #[doc = " Declares a directory capability backed by this component.\n\n To learn more about directories, see:\n https://fuchsia.dev/fuchsia-src/glossary#directory\n"]
380 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
381 pub struct Directory {
382 pub name: ::core::option::Option<::std::string::String>,
383
384 pub source_path: ::core::option::Option<::std::string::String>,
385
386 pub rights: ::core::option::Option<::fidl_next_common_fuchsia_io::natural::Operations>,
387 }
388
389 impl Directory {
390 fn __max_ordinal(&self) -> usize {
391 if self.rights.is_some() {
392 return 3;
393 }
394
395 if self.source_path.is_some() {
396 return 2;
397 }
398
399 if self.name.is_some() {
400 return 1;
401 }
402
403 0
404 }
405 }
406
407 unsafe impl<___E> ::fidl_next::Encode<crate::wire::Directory<'static>, ___E> for Directory
408 where
409 ___E: ::fidl_next::Encoder + ?Sized,
410 {
411 #[inline]
412 fn encode(
413 mut self,
414 encoder: &mut ___E,
415 out: &mut ::core::mem::MaybeUninit<crate::wire::Directory<'static>>,
416 _: (),
417 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
418 ::fidl_next::munge!(let crate::wire::Directory { table } = out);
419
420 let max_ord = self.__max_ordinal();
421
422 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
423 ::fidl_next::Wire::zero_padding(&mut out);
424
425 let mut preallocated =
426 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
427
428 for i in 1..=max_ord {
429 match i {
430 3 => {
431 if let Some(value) = self.rights.take() {
432 ::fidl_next::WireEnvelope::encode_value::<
433 ::fidl_next_common_fuchsia_io::wire::Operations,
434 ___E,
435 >(
436 value, preallocated.encoder, &mut out, ()
437 )?;
438 } else {
439 ::fidl_next::WireEnvelope::encode_zero(&mut out)
440 }
441 }
442
443 2 => {
444 if let Some(value) = self.source_path.take() {
445 ::fidl_next::WireEnvelope::encode_value::<
446 ::fidl_next::WireString<'static>,
447 ___E,
448 >(
449 value, preallocated.encoder, &mut out, 1024
450 )?;
451 } else {
452 ::fidl_next::WireEnvelope::encode_zero(&mut out)
453 }
454 }
455
456 1 => {
457 if let Some(value) = self.name.take() {
458 ::fidl_next::WireEnvelope::encode_value::<
459 ::fidl_next::WireString<'static>,
460 ___E,
461 >(
462 value, preallocated.encoder, &mut out, 100
463 )?;
464 } else {
465 ::fidl_next::WireEnvelope::encode_zero(&mut out)
466 }
467 }
468
469 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
470 }
471 unsafe {
472 preallocated.write_next(out.assume_init_ref());
473 }
474 }
475
476 ::fidl_next::WireTable::encode_len(table, max_ord);
477
478 Ok(())
479 }
480 }
481
482 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::Directory<'static>, ___E> for &'a Directory
483 where
484 ___E: ::fidl_next::Encoder + ?Sized,
485 {
486 #[inline]
487 fn encode(
488 self,
489 encoder: &mut ___E,
490 out: &mut ::core::mem::MaybeUninit<crate::wire::Directory<'static>>,
491 _: (),
492 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
493 ::fidl_next::munge!(let crate::wire::Directory { table } = out);
494
495 let max_ord = self.__max_ordinal();
496
497 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
498 ::fidl_next::Wire::zero_padding(&mut out);
499
500 let mut preallocated =
501 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
502
503 for i in 1..=max_ord {
504 match i {
505 3 => {
506 if let Some(value) = &self.rights {
507 ::fidl_next::WireEnvelope::encode_value::<
508 ::fidl_next_common_fuchsia_io::wire::Operations,
509 ___E,
510 >(
511 value, preallocated.encoder, &mut out, ()
512 )?;
513 } else {
514 ::fidl_next::WireEnvelope::encode_zero(&mut out)
515 }
516 }
517
518 2 => {
519 if let Some(value) = &self.source_path {
520 ::fidl_next::WireEnvelope::encode_value::<
521 ::fidl_next::WireString<'static>,
522 ___E,
523 >(
524 value, preallocated.encoder, &mut out, 1024
525 )?;
526 } else {
527 ::fidl_next::WireEnvelope::encode_zero(&mut out)
528 }
529 }
530
531 1 => {
532 if let Some(value) = &self.name {
533 ::fidl_next::WireEnvelope::encode_value::<
534 ::fidl_next::WireString<'static>,
535 ___E,
536 >(
537 value, preallocated.encoder, &mut out, 100
538 )?;
539 } else {
540 ::fidl_next::WireEnvelope::encode_zero(&mut out)
541 }
542 }
543
544 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
545 }
546 unsafe {
547 preallocated.write_next(out.assume_init_ref());
548 }
549 }
550
551 ::fidl_next::WireTable::encode_len(table, max_ord);
552
553 Ok(())
554 }
555 }
556
557 impl<'de> ::fidl_next::FromWire<crate::wire::Directory<'de>> for Directory {
558 #[inline]
559 fn from_wire(wire_: crate::wire::Directory<'de>) -> Self {
560 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
561
562 let name = wire_.table.get(1);
563
564 let source_path = wire_.table.get(2);
565
566 let rights = wire_.table.get(3);
567
568 Self {
569 name: name.map(|envelope| {
570 ::fidl_next::FromWire::from_wire(unsafe {
571 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
572 })
573 }),
574
575 source_path: source_path.map(|envelope| {
576 ::fidl_next::FromWire::from_wire(unsafe {
577 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
578 })
579 }),
580
581 rights: rights.map(|envelope| {
582 ::fidl_next::FromWire::from_wire(unsafe {
583 envelope.read_unchecked::<::fidl_next_common_fuchsia_io::wire::Operations>()
584 })
585 }),
586 }
587 }
588 }
589
590 impl<'de> ::fidl_next::FromWireRef<crate::wire::Directory<'de>> for Directory {
591 #[inline]
592 fn from_wire_ref(wire: &crate::wire::Directory<'de>) -> Self {
593 Self {
594 name: wire.table.get(1).map(|envelope| {
595 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
596 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
597 })
598 }),
599
600 source_path: wire.table.get(2).map(|envelope| {
601 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
602 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
603 })
604 }),
605
606 rights: wire.table.get(3).map(|envelope| {
607 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
608 envelope
609 .deref_unchecked::<::fidl_next_common_fuchsia_io::wire::Operations>()
610 })
611 }),
612 }
613 }
614 }
615
616 #[doc = " A reference to a component\'s parent instance.\n"]
617 #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
618 #[repr(C)]
619 pub struct ParentRef {}
620
621 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ParentRef, ___E> for ParentRef
622 where
623 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
624 {
625 #[inline]
626 fn encode(
627 self,
628 encoder_: &mut ___E,
629 out_: &mut ::core::mem::MaybeUninit<crate::wire::ParentRef>,
630 _: (),
631 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
632 *out_ = ::core::mem::MaybeUninit::zeroed();
633
634 Ok(())
635 }
636 }
637
638 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ParentRef, ___E> for &'a ParentRef
639 where
640 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
641 {
642 #[inline]
643 fn encode(
644 self,
645 encoder_: &mut ___E,
646 out_: &mut ::core::mem::MaybeUninit<crate::wire::ParentRef>,
647 _: (),
648 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
649 ::fidl_next::munge! {
650 let crate::wire::ParentRef {
651
652 _empty,
653
654
655 } = out_;
656 }
657
658 Ok(())
659 }
660 }
661
662 unsafe impl<___E>
663 ::fidl_next::EncodeOption<::fidl_next::WireBox<'static, crate::wire::ParentRef>, ___E>
664 for ParentRef
665 where
666 ___E: ::fidl_next::Encoder + ?Sized,
667 ParentRef: ::fidl_next::Encode<crate::wire::ParentRef, ___E>,
668 {
669 #[inline]
670 fn encode_option(
671 this: ::core::option::Option<Self>,
672 encoder: &mut ___E,
673 out: &mut ::core::mem::MaybeUninit<
674 ::fidl_next::WireBox<'static, crate::wire::ParentRef>,
675 >,
676 _: (),
677 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
678 if let Some(inner) = this {
679 ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
680 ::fidl_next::WireBox::encode_present(out);
681 } else {
682 ::fidl_next::WireBox::encode_absent(out);
683 }
684
685 Ok(())
686 }
687 }
688
689 unsafe impl<'a, ___E>
690 ::fidl_next::EncodeOption<::fidl_next::WireBox<'static, crate::wire::ParentRef>, ___E>
691 for &'a ParentRef
692 where
693 ___E: ::fidl_next::Encoder + ?Sized,
694 &'a ParentRef: ::fidl_next::Encode<crate::wire::ParentRef, ___E>,
695 {
696 #[inline]
697 fn encode_option(
698 this: ::core::option::Option<Self>,
699 encoder: &mut ___E,
700 out: &mut ::core::mem::MaybeUninit<
701 ::fidl_next::WireBox<'static, crate::wire::ParentRef>,
702 >,
703 _: (),
704 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
705 if let Some(inner) = this {
706 ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
707 ::fidl_next::WireBox::encode_present(out);
708 } else {
709 ::fidl_next::WireBox::encode_absent(out);
710 }
711
712 Ok(())
713 }
714 }
715
716 impl ::fidl_next::FromWire<crate::wire::ParentRef> for ParentRef {
717 const COPY_OPTIMIZATION: ::fidl_next::CopyOptimization<crate::wire::ParentRef, Self> =
718 unsafe { ::fidl_next::CopyOptimization::enable_if(true) };
719
720 #[inline]
721 fn from_wire(wire: crate::wire::ParentRef) -> Self {
722 Self {}
723 }
724 }
725
726 impl ::fidl_next::FromWireRef<crate::wire::ParentRef> for ParentRef {
727 #[inline]
728 fn from_wire_ref(wire: &crate::wire::ParentRef) -> Self {
729 Self {}
730 }
731 }
732
733 #[doc = " A reference to the component itself.\n"]
734 #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
735 #[repr(C)]
736 pub struct SelfRef {}
737
738 unsafe impl<___E> ::fidl_next::Encode<crate::wire::SelfRef, ___E> for SelfRef
739 where
740 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
741 {
742 #[inline]
743 fn encode(
744 self,
745 encoder_: &mut ___E,
746 out_: &mut ::core::mem::MaybeUninit<crate::wire::SelfRef>,
747 _: (),
748 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
749 *out_ = ::core::mem::MaybeUninit::zeroed();
750
751 Ok(())
752 }
753 }
754
755 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::SelfRef, ___E> for &'a SelfRef
756 where
757 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
758 {
759 #[inline]
760 fn encode(
761 self,
762 encoder_: &mut ___E,
763 out_: &mut ::core::mem::MaybeUninit<crate::wire::SelfRef>,
764 _: (),
765 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
766 ::fidl_next::munge! {
767 let crate::wire::SelfRef {
768
769 _empty,
770
771
772 } = out_;
773 }
774
775 Ok(())
776 }
777 }
778
779 unsafe impl<___E>
780 ::fidl_next::EncodeOption<::fidl_next::WireBox<'static, crate::wire::SelfRef>, ___E>
781 for SelfRef
782 where
783 ___E: ::fidl_next::Encoder + ?Sized,
784 SelfRef: ::fidl_next::Encode<crate::wire::SelfRef, ___E>,
785 {
786 #[inline]
787 fn encode_option(
788 this: ::core::option::Option<Self>,
789 encoder: &mut ___E,
790 out: &mut ::core::mem::MaybeUninit<::fidl_next::WireBox<'static, crate::wire::SelfRef>>,
791 _: (),
792 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
793 if let Some(inner) = this {
794 ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
795 ::fidl_next::WireBox::encode_present(out);
796 } else {
797 ::fidl_next::WireBox::encode_absent(out);
798 }
799
800 Ok(())
801 }
802 }
803
804 unsafe impl<'a, ___E>
805 ::fidl_next::EncodeOption<::fidl_next::WireBox<'static, crate::wire::SelfRef>, ___E>
806 for &'a SelfRef
807 where
808 ___E: ::fidl_next::Encoder + ?Sized,
809 &'a SelfRef: ::fidl_next::Encode<crate::wire::SelfRef, ___E>,
810 {
811 #[inline]
812 fn encode_option(
813 this: ::core::option::Option<Self>,
814 encoder: &mut ___E,
815 out: &mut ::core::mem::MaybeUninit<::fidl_next::WireBox<'static, crate::wire::SelfRef>>,
816 _: (),
817 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
818 if let Some(inner) = this {
819 ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
820 ::fidl_next::WireBox::encode_present(out);
821 } else {
822 ::fidl_next::WireBox::encode_absent(out);
823 }
824
825 Ok(())
826 }
827 }
828
829 impl ::fidl_next::FromWire<crate::wire::SelfRef> for SelfRef {
830 const COPY_OPTIMIZATION: ::fidl_next::CopyOptimization<crate::wire::SelfRef, Self> =
831 unsafe { ::fidl_next::CopyOptimization::enable_if(true) };
832
833 #[inline]
834 fn from_wire(wire: crate::wire::SelfRef) -> Self {
835 Self {}
836 }
837 }
838
839 impl ::fidl_next::FromWireRef<crate::wire::SelfRef> for SelfRef {
840 #[inline]
841 fn from_wire_ref(wire: &crate::wire::SelfRef) -> Self {
842 Self {}
843 }
844 }
845
846 pub type ChildName = ::std::string::String;
847
848 #[doc = " A reference to one of the component\'s child instances.\n"]
849 #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
850 pub struct ChildRef {
851 pub name: ::std::string::String,
852
853 pub collection: ::core::option::Option<::std::string::String>,
854 }
855
856 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ChildRef<'static>, ___E> for ChildRef
857 where
858 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
859 ___E: ::fidl_next::Encoder,
860 {
861 #[inline]
862 fn encode(
863 self,
864 encoder_: &mut ___E,
865 out_: &mut ::core::mem::MaybeUninit<crate::wire::ChildRef<'static>>,
866 _: (),
867 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
868 ::fidl_next::munge! {
869 let crate::wire::ChildRef {
870 name,
871 collection,
872
873 } = out_;
874 }
875
876 ::fidl_next::Encode::encode(self.name, encoder_, name, 1024)?;
877
878 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(name.as_mut_ptr()) };
879 ::fidl_next::Constrained::validate(_field, 1024)?;
880
881 ::fidl_next::Encode::encode(self.collection, encoder_, collection, 100)?;
882
883 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(collection.as_mut_ptr()) };
884 ::fidl_next::Constrained::validate(_field, 100)?;
885
886 Ok(())
887 }
888 }
889
890 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ChildRef<'static>, ___E> for &'a ChildRef
891 where
892 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
893 ___E: ::fidl_next::Encoder,
894 {
895 #[inline]
896 fn encode(
897 self,
898 encoder_: &mut ___E,
899 out_: &mut ::core::mem::MaybeUninit<crate::wire::ChildRef<'static>>,
900 _: (),
901 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
902 ::fidl_next::munge! {
903 let crate::wire::ChildRef {
904
905 name,
906 collection,
907
908 } = out_;
909 }
910
911 ::fidl_next::Encode::encode(&self.name, encoder_, name, 1024)?;
912
913 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(name.as_mut_ptr()) };
914 ::fidl_next::Constrained::validate(_field, 1024)?;
915
916 ::fidl_next::Encode::encode(&self.collection, encoder_, collection, 100)?;
917
918 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(collection.as_mut_ptr()) };
919 ::fidl_next::Constrained::validate(_field, 100)?;
920
921 Ok(())
922 }
923 }
924
925 unsafe impl<___E>
926 ::fidl_next::EncodeOption<
927 ::fidl_next::WireBox<'static, crate::wire::ChildRef<'static>>,
928 ___E,
929 > for ChildRef
930 where
931 ___E: ::fidl_next::Encoder + ?Sized,
932 ChildRef: ::fidl_next::Encode<crate::wire::ChildRef<'static>, ___E>,
933 {
934 #[inline]
935 fn encode_option(
936 this: ::core::option::Option<Self>,
937 encoder: &mut ___E,
938 out: &mut ::core::mem::MaybeUninit<
939 ::fidl_next::WireBox<'static, crate::wire::ChildRef<'static>>,
940 >,
941 _: (),
942 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
943 if let Some(inner) = this {
944 ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
945 ::fidl_next::WireBox::encode_present(out);
946 } else {
947 ::fidl_next::WireBox::encode_absent(out);
948 }
949
950 Ok(())
951 }
952 }
953
954 unsafe impl<'a, ___E>
955 ::fidl_next::EncodeOption<
956 ::fidl_next::WireBox<'static, crate::wire::ChildRef<'static>>,
957 ___E,
958 > for &'a ChildRef
959 where
960 ___E: ::fidl_next::Encoder + ?Sized,
961 &'a ChildRef: ::fidl_next::Encode<crate::wire::ChildRef<'static>, ___E>,
962 {
963 #[inline]
964 fn encode_option(
965 this: ::core::option::Option<Self>,
966 encoder: &mut ___E,
967 out: &mut ::core::mem::MaybeUninit<
968 ::fidl_next::WireBox<'static, crate::wire::ChildRef<'static>>,
969 >,
970 _: (),
971 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
972 if let Some(inner) = this {
973 ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
974 ::fidl_next::WireBox::encode_present(out);
975 } else {
976 ::fidl_next::WireBox::encode_absent(out);
977 }
978
979 Ok(())
980 }
981 }
982
983 impl<'de> ::fidl_next::FromWire<crate::wire::ChildRef<'de>> for ChildRef {
984 #[inline]
985 fn from_wire(wire: crate::wire::ChildRef<'de>) -> Self {
986 Self {
987 name: ::fidl_next::FromWire::from_wire(wire.name),
988
989 collection: ::fidl_next::FromWire::from_wire(wire.collection),
990 }
991 }
992 }
993
994 impl<'de> ::fidl_next::FromWireRef<crate::wire::ChildRef<'de>> for ChildRef {
995 #[inline]
996 fn from_wire_ref(wire: &crate::wire::ChildRef<'de>) -> Self {
997 Self {
998 name: ::fidl_next::FromWireRef::from_wire_ref(&wire.name),
999
1000 collection: ::fidl_next::FromWireRef::from_wire_ref(&wire.collection),
1001 }
1002 }
1003 }
1004
1005 #[doc = " A reference to one of the component\'s collections.\n"]
1006 #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1007 pub struct CollectionRef {
1008 pub name: ::std::string::String,
1009 }
1010
1011 unsafe impl<___E> ::fidl_next::Encode<crate::wire::CollectionRef<'static>, ___E> for CollectionRef
1012 where
1013 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
1014 ___E: ::fidl_next::Encoder,
1015 {
1016 #[inline]
1017 fn encode(
1018 self,
1019 encoder_: &mut ___E,
1020 out_: &mut ::core::mem::MaybeUninit<crate::wire::CollectionRef<'static>>,
1021 _: (),
1022 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1023 ::fidl_next::munge! {
1024 let crate::wire::CollectionRef {
1025 name,
1026
1027 } = out_;
1028 }
1029
1030 ::fidl_next::Encode::encode(self.name, encoder_, name, 100)?;
1031
1032 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(name.as_mut_ptr()) };
1033 ::fidl_next::Constrained::validate(_field, 100)?;
1034
1035 Ok(())
1036 }
1037 }
1038
1039 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::CollectionRef<'static>, ___E>
1040 for &'a CollectionRef
1041 where
1042 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
1043 ___E: ::fidl_next::Encoder,
1044 {
1045 #[inline]
1046 fn encode(
1047 self,
1048 encoder_: &mut ___E,
1049 out_: &mut ::core::mem::MaybeUninit<crate::wire::CollectionRef<'static>>,
1050 _: (),
1051 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1052 ::fidl_next::munge! {
1053 let crate::wire::CollectionRef {
1054
1055 name,
1056
1057 } = out_;
1058 }
1059
1060 ::fidl_next::Encode::encode(&self.name, encoder_, name, 100)?;
1061
1062 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(name.as_mut_ptr()) };
1063 ::fidl_next::Constrained::validate(_field, 100)?;
1064
1065 Ok(())
1066 }
1067 }
1068
1069 unsafe impl<___E>
1070 ::fidl_next::EncodeOption<
1071 ::fidl_next::WireBox<'static, crate::wire::CollectionRef<'static>>,
1072 ___E,
1073 > for CollectionRef
1074 where
1075 ___E: ::fidl_next::Encoder + ?Sized,
1076 CollectionRef: ::fidl_next::Encode<crate::wire::CollectionRef<'static>, ___E>,
1077 {
1078 #[inline]
1079 fn encode_option(
1080 this: ::core::option::Option<Self>,
1081 encoder: &mut ___E,
1082 out: &mut ::core::mem::MaybeUninit<
1083 ::fidl_next::WireBox<'static, crate::wire::CollectionRef<'static>>,
1084 >,
1085 _: (),
1086 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1087 if let Some(inner) = this {
1088 ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
1089 ::fidl_next::WireBox::encode_present(out);
1090 } else {
1091 ::fidl_next::WireBox::encode_absent(out);
1092 }
1093
1094 Ok(())
1095 }
1096 }
1097
1098 unsafe impl<'a, ___E>
1099 ::fidl_next::EncodeOption<
1100 ::fidl_next::WireBox<'static, crate::wire::CollectionRef<'static>>,
1101 ___E,
1102 > for &'a CollectionRef
1103 where
1104 ___E: ::fidl_next::Encoder + ?Sized,
1105 &'a CollectionRef: ::fidl_next::Encode<crate::wire::CollectionRef<'static>, ___E>,
1106 {
1107 #[inline]
1108 fn encode_option(
1109 this: ::core::option::Option<Self>,
1110 encoder: &mut ___E,
1111 out: &mut ::core::mem::MaybeUninit<
1112 ::fidl_next::WireBox<'static, crate::wire::CollectionRef<'static>>,
1113 >,
1114 _: (),
1115 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1116 if let Some(inner) = this {
1117 ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
1118 ::fidl_next::WireBox::encode_present(out);
1119 } else {
1120 ::fidl_next::WireBox::encode_absent(out);
1121 }
1122
1123 Ok(())
1124 }
1125 }
1126
1127 impl<'de> ::fidl_next::FromWire<crate::wire::CollectionRef<'de>> for CollectionRef {
1128 #[inline]
1129 fn from_wire(wire: crate::wire::CollectionRef<'de>) -> Self {
1130 Self { name: ::fidl_next::FromWire::from_wire(wire.name) }
1131 }
1132 }
1133
1134 impl<'de> ::fidl_next::FromWireRef<crate::wire::CollectionRef<'de>> for CollectionRef {
1135 #[inline]
1136 fn from_wire_ref(wire: &crate::wire::CollectionRef<'de>) -> Self {
1137 Self { name: ::fidl_next::FromWireRef::from_wire_ref(&wire.name) }
1138 }
1139 }
1140
1141 #[doc = " A reference to the component framework itself.\n"]
1142 #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1143 #[repr(C)]
1144 pub struct FrameworkRef {}
1145
1146 unsafe impl<___E> ::fidl_next::Encode<crate::wire::FrameworkRef, ___E> for FrameworkRef
1147 where
1148 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
1149 {
1150 #[inline]
1151 fn encode(
1152 self,
1153 encoder_: &mut ___E,
1154 out_: &mut ::core::mem::MaybeUninit<crate::wire::FrameworkRef>,
1155 _: (),
1156 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1157 *out_ = ::core::mem::MaybeUninit::zeroed();
1158
1159 Ok(())
1160 }
1161 }
1162
1163 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::FrameworkRef, ___E> for &'a FrameworkRef
1164 where
1165 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
1166 {
1167 #[inline]
1168 fn encode(
1169 self,
1170 encoder_: &mut ___E,
1171 out_: &mut ::core::mem::MaybeUninit<crate::wire::FrameworkRef>,
1172 _: (),
1173 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1174 ::fidl_next::munge! {
1175 let crate::wire::FrameworkRef {
1176
1177 _empty,
1178
1179
1180 } = out_;
1181 }
1182
1183 Ok(())
1184 }
1185 }
1186
1187 unsafe impl<___E>
1188 ::fidl_next::EncodeOption<::fidl_next::WireBox<'static, crate::wire::FrameworkRef>, ___E>
1189 for FrameworkRef
1190 where
1191 ___E: ::fidl_next::Encoder + ?Sized,
1192 FrameworkRef: ::fidl_next::Encode<crate::wire::FrameworkRef, ___E>,
1193 {
1194 #[inline]
1195 fn encode_option(
1196 this: ::core::option::Option<Self>,
1197 encoder: &mut ___E,
1198 out: &mut ::core::mem::MaybeUninit<
1199 ::fidl_next::WireBox<'static, crate::wire::FrameworkRef>,
1200 >,
1201 _: (),
1202 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1203 if let Some(inner) = this {
1204 ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
1205 ::fidl_next::WireBox::encode_present(out);
1206 } else {
1207 ::fidl_next::WireBox::encode_absent(out);
1208 }
1209
1210 Ok(())
1211 }
1212 }
1213
1214 unsafe impl<'a, ___E>
1215 ::fidl_next::EncodeOption<::fidl_next::WireBox<'static, crate::wire::FrameworkRef>, ___E>
1216 for &'a FrameworkRef
1217 where
1218 ___E: ::fidl_next::Encoder + ?Sized,
1219 &'a FrameworkRef: ::fidl_next::Encode<crate::wire::FrameworkRef, ___E>,
1220 {
1221 #[inline]
1222 fn encode_option(
1223 this: ::core::option::Option<Self>,
1224 encoder: &mut ___E,
1225 out: &mut ::core::mem::MaybeUninit<
1226 ::fidl_next::WireBox<'static, crate::wire::FrameworkRef>,
1227 >,
1228 _: (),
1229 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1230 if let Some(inner) = this {
1231 ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
1232 ::fidl_next::WireBox::encode_present(out);
1233 } else {
1234 ::fidl_next::WireBox::encode_absent(out);
1235 }
1236
1237 Ok(())
1238 }
1239 }
1240
1241 impl ::fidl_next::FromWire<crate::wire::FrameworkRef> for FrameworkRef {
1242 const COPY_OPTIMIZATION: ::fidl_next::CopyOptimization<crate::wire::FrameworkRef, Self> =
1243 unsafe { ::fidl_next::CopyOptimization::enable_if(true) };
1244
1245 #[inline]
1246 fn from_wire(wire: crate::wire::FrameworkRef) -> Self {
1247 Self {}
1248 }
1249 }
1250
1251 impl ::fidl_next::FromWireRef<crate::wire::FrameworkRef> for FrameworkRef {
1252 #[inline]
1253 fn from_wire_ref(wire: &crate::wire::FrameworkRef) -> Self {
1254 Self {}
1255 }
1256 }
1257
1258 #[doc = " A reference to a capability declared in this component.\n"]
1259 #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1260 pub struct CapabilityRef {
1261 pub name: ::std::string::String,
1262 }
1263
1264 unsafe impl<___E> ::fidl_next::Encode<crate::wire::CapabilityRef<'static>, ___E> for CapabilityRef
1265 where
1266 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
1267 ___E: ::fidl_next::Encoder,
1268 {
1269 #[inline]
1270 fn encode(
1271 self,
1272 encoder_: &mut ___E,
1273 out_: &mut ::core::mem::MaybeUninit<crate::wire::CapabilityRef<'static>>,
1274 _: (),
1275 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1276 ::fidl_next::munge! {
1277 let crate::wire::CapabilityRef {
1278 name,
1279
1280 } = out_;
1281 }
1282
1283 ::fidl_next::Encode::encode(self.name, encoder_, name, 100)?;
1284
1285 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(name.as_mut_ptr()) };
1286 ::fidl_next::Constrained::validate(_field, 100)?;
1287
1288 Ok(())
1289 }
1290 }
1291
1292 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::CapabilityRef<'static>, ___E>
1293 for &'a CapabilityRef
1294 where
1295 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
1296 ___E: ::fidl_next::Encoder,
1297 {
1298 #[inline]
1299 fn encode(
1300 self,
1301 encoder_: &mut ___E,
1302 out_: &mut ::core::mem::MaybeUninit<crate::wire::CapabilityRef<'static>>,
1303 _: (),
1304 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1305 ::fidl_next::munge! {
1306 let crate::wire::CapabilityRef {
1307
1308 name,
1309
1310 } = out_;
1311 }
1312
1313 ::fidl_next::Encode::encode(&self.name, encoder_, name, 100)?;
1314
1315 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(name.as_mut_ptr()) };
1316 ::fidl_next::Constrained::validate(_field, 100)?;
1317
1318 Ok(())
1319 }
1320 }
1321
1322 unsafe impl<___E>
1323 ::fidl_next::EncodeOption<
1324 ::fidl_next::WireBox<'static, crate::wire::CapabilityRef<'static>>,
1325 ___E,
1326 > for CapabilityRef
1327 where
1328 ___E: ::fidl_next::Encoder + ?Sized,
1329 CapabilityRef: ::fidl_next::Encode<crate::wire::CapabilityRef<'static>, ___E>,
1330 {
1331 #[inline]
1332 fn encode_option(
1333 this: ::core::option::Option<Self>,
1334 encoder: &mut ___E,
1335 out: &mut ::core::mem::MaybeUninit<
1336 ::fidl_next::WireBox<'static, crate::wire::CapabilityRef<'static>>,
1337 >,
1338 _: (),
1339 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1340 if let Some(inner) = this {
1341 ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
1342 ::fidl_next::WireBox::encode_present(out);
1343 } else {
1344 ::fidl_next::WireBox::encode_absent(out);
1345 }
1346
1347 Ok(())
1348 }
1349 }
1350
1351 unsafe impl<'a, ___E>
1352 ::fidl_next::EncodeOption<
1353 ::fidl_next::WireBox<'static, crate::wire::CapabilityRef<'static>>,
1354 ___E,
1355 > for &'a CapabilityRef
1356 where
1357 ___E: ::fidl_next::Encoder + ?Sized,
1358 &'a CapabilityRef: ::fidl_next::Encode<crate::wire::CapabilityRef<'static>, ___E>,
1359 {
1360 #[inline]
1361 fn encode_option(
1362 this: ::core::option::Option<Self>,
1363 encoder: &mut ___E,
1364 out: &mut ::core::mem::MaybeUninit<
1365 ::fidl_next::WireBox<'static, crate::wire::CapabilityRef<'static>>,
1366 >,
1367 _: (),
1368 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1369 if let Some(inner) = this {
1370 ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
1371 ::fidl_next::WireBox::encode_present(out);
1372 } else {
1373 ::fidl_next::WireBox::encode_absent(out);
1374 }
1375
1376 Ok(())
1377 }
1378 }
1379
1380 impl<'de> ::fidl_next::FromWire<crate::wire::CapabilityRef<'de>> for CapabilityRef {
1381 #[inline]
1382 fn from_wire(wire: crate::wire::CapabilityRef<'de>) -> Self {
1383 Self { name: ::fidl_next::FromWire::from_wire(wire.name) }
1384 }
1385 }
1386
1387 impl<'de> ::fidl_next::FromWireRef<crate::wire::CapabilityRef<'de>> for CapabilityRef {
1388 #[inline]
1389 fn from_wire_ref(wire: &crate::wire::CapabilityRef<'de>) -> Self {
1390 Self { name: ::fidl_next::FromWireRef::from_wire_ref(&wire.name) }
1391 }
1392 }
1393
1394 #[doc = " A reference to the environment\'s debug capabilities.\n"]
1395 #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1396 #[repr(C)]
1397 pub struct DebugRef {}
1398
1399 unsafe impl<___E> ::fidl_next::Encode<crate::wire::DebugRef, ___E> for DebugRef
1400 where
1401 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
1402 {
1403 #[inline]
1404 fn encode(
1405 self,
1406 encoder_: &mut ___E,
1407 out_: &mut ::core::mem::MaybeUninit<crate::wire::DebugRef>,
1408 _: (),
1409 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1410 *out_ = ::core::mem::MaybeUninit::zeroed();
1411
1412 Ok(())
1413 }
1414 }
1415
1416 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::DebugRef, ___E> for &'a DebugRef
1417 where
1418 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
1419 {
1420 #[inline]
1421 fn encode(
1422 self,
1423 encoder_: &mut ___E,
1424 out_: &mut ::core::mem::MaybeUninit<crate::wire::DebugRef>,
1425 _: (),
1426 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1427 ::fidl_next::munge! {
1428 let crate::wire::DebugRef {
1429
1430 _empty,
1431
1432
1433 } = out_;
1434 }
1435
1436 Ok(())
1437 }
1438 }
1439
1440 unsafe impl<___E>
1441 ::fidl_next::EncodeOption<::fidl_next::WireBox<'static, crate::wire::DebugRef>, ___E>
1442 for DebugRef
1443 where
1444 ___E: ::fidl_next::Encoder + ?Sized,
1445 DebugRef: ::fidl_next::Encode<crate::wire::DebugRef, ___E>,
1446 {
1447 #[inline]
1448 fn encode_option(
1449 this: ::core::option::Option<Self>,
1450 encoder: &mut ___E,
1451 out: &mut ::core::mem::MaybeUninit<
1452 ::fidl_next::WireBox<'static, crate::wire::DebugRef>,
1453 >,
1454 _: (),
1455 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1456 if let Some(inner) = this {
1457 ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
1458 ::fidl_next::WireBox::encode_present(out);
1459 } else {
1460 ::fidl_next::WireBox::encode_absent(out);
1461 }
1462
1463 Ok(())
1464 }
1465 }
1466
1467 unsafe impl<'a, ___E>
1468 ::fidl_next::EncodeOption<::fidl_next::WireBox<'static, crate::wire::DebugRef>, ___E>
1469 for &'a DebugRef
1470 where
1471 ___E: ::fidl_next::Encoder + ?Sized,
1472 &'a DebugRef: ::fidl_next::Encode<crate::wire::DebugRef, ___E>,
1473 {
1474 #[inline]
1475 fn encode_option(
1476 this: ::core::option::Option<Self>,
1477 encoder: &mut ___E,
1478 out: &mut ::core::mem::MaybeUninit<
1479 ::fidl_next::WireBox<'static, crate::wire::DebugRef>,
1480 >,
1481 _: (),
1482 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1483 if let Some(inner) = this {
1484 ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
1485 ::fidl_next::WireBox::encode_present(out);
1486 } else {
1487 ::fidl_next::WireBox::encode_absent(out);
1488 }
1489
1490 Ok(())
1491 }
1492 }
1493
1494 impl ::fidl_next::FromWire<crate::wire::DebugRef> for DebugRef {
1495 const COPY_OPTIMIZATION: ::fidl_next::CopyOptimization<crate::wire::DebugRef, Self> =
1496 unsafe { ::fidl_next::CopyOptimization::enable_if(true) };
1497
1498 #[inline]
1499 fn from_wire(wire: crate::wire::DebugRef) -> Self {
1500 Self {}
1501 }
1502 }
1503
1504 impl ::fidl_next::FromWireRef<crate::wire::DebugRef> for DebugRef {
1505 #[inline]
1506 fn from_wire_ref(wire: &crate::wire::DebugRef) -> Self {
1507 Self {}
1508 }
1509 }
1510
1511 #[doc = " A reference to an intentionally missing offer source.\n"]
1512 #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1513 #[repr(C)]
1514 pub struct VoidRef {}
1515
1516 unsafe impl<___E> ::fidl_next::Encode<crate::wire::VoidRef, ___E> for VoidRef
1517 where
1518 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
1519 {
1520 #[inline]
1521 fn encode(
1522 self,
1523 encoder_: &mut ___E,
1524 out_: &mut ::core::mem::MaybeUninit<crate::wire::VoidRef>,
1525 _: (),
1526 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1527 *out_ = ::core::mem::MaybeUninit::zeroed();
1528
1529 Ok(())
1530 }
1531 }
1532
1533 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::VoidRef, ___E> for &'a VoidRef
1534 where
1535 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
1536 {
1537 #[inline]
1538 fn encode(
1539 self,
1540 encoder_: &mut ___E,
1541 out_: &mut ::core::mem::MaybeUninit<crate::wire::VoidRef>,
1542 _: (),
1543 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1544 ::fidl_next::munge! {
1545 let crate::wire::VoidRef {
1546
1547 _empty,
1548
1549
1550 } = out_;
1551 }
1552
1553 Ok(())
1554 }
1555 }
1556
1557 unsafe impl<___E>
1558 ::fidl_next::EncodeOption<::fidl_next::WireBox<'static, crate::wire::VoidRef>, ___E>
1559 for VoidRef
1560 where
1561 ___E: ::fidl_next::Encoder + ?Sized,
1562 VoidRef: ::fidl_next::Encode<crate::wire::VoidRef, ___E>,
1563 {
1564 #[inline]
1565 fn encode_option(
1566 this: ::core::option::Option<Self>,
1567 encoder: &mut ___E,
1568 out: &mut ::core::mem::MaybeUninit<::fidl_next::WireBox<'static, crate::wire::VoidRef>>,
1569 _: (),
1570 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1571 if let Some(inner) = this {
1572 ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
1573 ::fidl_next::WireBox::encode_present(out);
1574 } else {
1575 ::fidl_next::WireBox::encode_absent(out);
1576 }
1577
1578 Ok(())
1579 }
1580 }
1581
1582 unsafe impl<'a, ___E>
1583 ::fidl_next::EncodeOption<::fidl_next::WireBox<'static, crate::wire::VoidRef>, ___E>
1584 for &'a VoidRef
1585 where
1586 ___E: ::fidl_next::Encoder + ?Sized,
1587 &'a VoidRef: ::fidl_next::Encode<crate::wire::VoidRef, ___E>,
1588 {
1589 #[inline]
1590 fn encode_option(
1591 this: ::core::option::Option<Self>,
1592 encoder: &mut ___E,
1593 out: &mut ::core::mem::MaybeUninit<::fidl_next::WireBox<'static, crate::wire::VoidRef>>,
1594 _: (),
1595 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1596 if let Some(inner) = this {
1597 ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
1598 ::fidl_next::WireBox::encode_present(out);
1599 } else {
1600 ::fidl_next::WireBox::encode_absent(out);
1601 }
1602
1603 Ok(())
1604 }
1605 }
1606
1607 impl ::fidl_next::FromWire<crate::wire::VoidRef> for VoidRef {
1608 const COPY_OPTIMIZATION: ::fidl_next::CopyOptimization<crate::wire::VoidRef, Self> =
1609 unsafe { ::fidl_next::CopyOptimization::enable_if(true) };
1610
1611 #[inline]
1612 fn from_wire(wire: crate::wire::VoidRef) -> Self {
1613 Self {}
1614 }
1615 }
1616
1617 impl ::fidl_next::FromWireRef<crate::wire::VoidRef> for VoidRef {
1618 #[inline]
1619 fn from_wire_ref(wire: &crate::wire::VoidRef) -> Self {
1620 Self {}
1621 }
1622 }
1623
1624 #[doc = " Declares which identifier to use to key a component\'s isolated storage\n directory.\n"]
1625 #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1626 #[repr(u32)]
1627 pub enum StorageId {
1628 StaticInstanceId = 1,
1629 StaticInstanceIdOrMoniker = 2,
1630 }
1631 impl ::core::convert::TryFrom<u32> for StorageId {
1632 type Error = ::fidl_next::UnknownStrictEnumMemberError;
1633 fn try_from(
1634 value: u32,
1635 ) -> ::core::result::Result<Self, ::fidl_next::UnknownStrictEnumMemberError> {
1636 match value {
1637 1 => Ok(Self::StaticInstanceId),
1638 2 => Ok(Self::StaticInstanceIdOrMoniker),
1639
1640 _ => Err(::fidl_next::UnknownStrictEnumMemberError::new(value.into())),
1641 }
1642 }
1643 }
1644
1645 unsafe impl<___E> ::fidl_next::Encode<crate::wire::StorageId, ___E> for StorageId
1646 where
1647 ___E: ?Sized,
1648 {
1649 #[inline]
1650 fn encode(
1651 self,
1652 encoder: &mut ___E,
1653 out: &mut ::core::mem::MaybeUninit<crate::wire::StorageId>,
1654 _: (),
1655 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1656 ::fidl_next::Encode::encode(&self, encoder, out, ())
1657 }
1658 }
1659
1660 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::StorageId, ___E> for &'a StorageId
1661 where
1662 ___E: ?Sized,
1663 {
1664 #[inline]
1665 fn encode(
1666 self,
1667 encoder: &mut ___E,
1668 out: &mut ::core::mem::MaybeUninit<crate::wire::StorageId>,
1669 _: (),
1670 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1671 ::fidl_next::munge!(let crate::wire::StorageId { value } = out);
1672 let _ = value.write(::fidl_next::WireU32::from(match *self {
1673 StorageId::StaticInstanceId => 1,
1674
1675 StorageId::StaticInstanceIdOrMoniker => 2,
1676 }));
1677
1678 Ok(())
1679 }
1680 }
1681
1682 impl ::core::convert::From<crate::wire::StorageId> for StorageId {
1683 fn from(wire: crate::wire::StorageId) -> Self {
1684 match u32::from(wire.value) {
1685 1 => Self::StaticInstanceId,
1686
1687 2 => Self::StaticInstanceIdOrMoniker,
1688
1689 _ => unsafe { ::core::hint::unreachable_unchecked() },
1690 }
1691 }
1692 }
1693
1694 impl ::fidl_next::FromWire<crate::wire::StorageId> for StorageId {
1695 #[inline]
1696 fn from_wire(wire: crate::wire::StorageId) -> Self {
1697 Self::from(wire)
1698 }
1699 }
1700
1701 impl ::fidl_next::FromWireRef<crate::wire::StorageId> for StorageId {
1702 #[inline]
1703 fn from_wire_ref(wire: &crate::wire::StorageId) -> Self {
1704 Self::from(*wire)
1705 }
1706 }
1707
1708 #[doc = " Declares a runner capability backed by a service.\n"]
1709 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1710 pub struct Runner {
1711 pub name: ::core::option::Option<::std::string::String>,
1712
1713 pub source_path: ::core::option::Option<::std::string::String>,
1714 }
1715
1716 impl Runner {
1717 fn __max_ordinal(&self) -> usize {
1718 if self.source_path.is_some() {
1719 return 2;
1720 }
1721
1722 if self.name.is_some() {
1723 return 1;
1724 }
1725
1726 0
1727 }
1728 }
1729
1730 unsafe impl<___E> ::fidl_next::Encode<crate::wire::Runner<'static>, ___E> for Runner
1731 where
1732 ___E: ::fidl_next::Encoder + ?Sized,
1733 {
1734 #[inline]
1735 fn encode(
1736 mut self,
1737 encoder: &mut ___E,
1738 out: &mut ::core::mem::MaybeUninit<crate::wire::Runner<'static>>,
1739 _: (),
1740 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1741 ::fidl_next::munge!(let crate::wire::Runner { table } = out);
1742
1743 let max_ord = self.__max_ordinal();
1744
1745 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
1746 ::fidl_next::Wire::zero_padding(&mut out);
1747
1748 let mut preallocated =
1749 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
1750
1751 for i in 1..=max_ord {
1752 match i {
1753 2 => {
1754 if let Some(value) = self.source_path.take() {
1755 ::fidl_next::WireEnvelope::encode_value::<
1756 ::fidl_next::WireString<'static>,
1757 ___E,
1758 >(
1759 value, preallocated.encoder, &mut out, 1024
1760 )?;
1761 } else {
1762 ::fidl_next::WireEnvelope::encode_zero(&mut out)
1763 }
1764 }
1765
1766 1 => {
1767 if let Some(value) = self.name.take() {
1768 ::fidl_next::WireEnvelope::encode_value::<
1769 ::fidl_next::WireString<'static>,
1770 ___E,
1771 >(
1772 value, preallocated.encoder, &mut out, 100
1773 )?;
1774 } else {
1775 ::fidl_next::WireEnvelope::encode_zero(&mut out)
1776 }
1777 }
1778
1779 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
1780 }
1781 unsafe {
1782 preallocated.write_next(out.assume_init_ref());
1783 }
1784 }
1785
1786 ::fidl_next::WireTable::encode_len(table, max_ord);
1787
1788 Ok(())
1789 }
1790 }
1791
1792 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::Runner<'static>, ___E> for &'a Runner
1793 where
1794 ___E: ::fidl_next::Encoder + ?Sized,
1795 {
1796 #[inline]
1797 fn encode(
1798 self,
1799 encoder: &mut ___E,
1800 out: &mut ::core::mem::MaybeUninit<crate::wire::Runner<'static>>,
1801 _: (),
1802 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1803 ::fidl_next::munge!(let crate::wire::Runner { table } = out);
1804
1805 let max_ord = self.__max_ordinal();
1806
1807 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
1808 ::fidl_next::Wire::zero_padding(&mut out);
1809
1810 let mut preallocated =
1811 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
1812
1813 for i in 1..=max_ord {
1814 match i {
1815 2 => {
1816 if let Some(value) = &self.source_path {
1817 ::fidl_next::WireEnvelope::encode_value::<
1818 ::fidl_next::WireString<'static>,
1819 ___E,
1820 >(
1821 value, preallocated.encoder, &mut out, 1024
1822 )?;
1823 } else {
1824 ::fidl_next::WireEnvelope::encode_zero(&mut out)
1825 }
1826 }
1827
1828 1 => {
1829 if let Some(value) = &self.name {
1830 ::fidl_next::WireEnvelope::encode_value::<
1831 ::fidl_next::WireString<'static>,
1832 ___E,
1833 >(
1834 value, preallocated.encoder, &mut out, 100
1835 )?;
1836 } else {
1837 ::fidl_next::WireEnvelope::encode_zero(&mut out)
1838 }
1839 }
1840
1841 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
1842 }
1843 unsafe {
1844 preallocated.write_next(out.assume_init_ref());
1845 }
1846 }
1847
1848 ::fidl_next::WireTable::encode_len(table, max_ord);
1849
1850 Ok(())
1851 }
1852 }
1853
1854 impl<'de> ::fidl_next::FromWire<crate::wire::Runner<'de>> for Runner {
1855 #[inline]
1856 fn from_wire(wire_: crate::wire::Runner<'de>) -> Self {
1857 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
1858
1859 let name = wire_.table.get(1);
1860
1861 let source_path = wire_.table.get(2);
1862
1863 Self {
1864 name: name.map(|envelope| {
1865 ::fidl_next::FromWire::from_wire(unsafe {
1866 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
1867 })
1868 }),
1869
1870 source_path: source_path.map(|envelope| {
1871 ::fidl_next::FromWire::from_wire(unsafe {
1872 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
1873 })
1874 }),
1875 }
1876 }
1877 }
1878
1879 impl<'de> ::fidl_next::FromWireRef<crate::wire::Runner<'de>> for Runner {
1880 #[inline]
1881 fn from_wire_ref(wire: &crate::wire::Runner<'de>) -> Self {
1882 Self {
1883 name: wire.table.get(1).map(|envelope| {
1884 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
1885 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
1886 })
1887 }),
1888
1889 source_path: wire.table.get(2).map(|envelope| {
1890 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
1891 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
1892 })
1893 }),
1894 }
1895 }
1896 }
1897
1898 #[doc = " Declares a resolver which is responsible for resolving component URLs to\n actual components. See `fuchsia.component.resolution.Resolver` for the\n protocol resolvers are expected to implement.\n"]
1899 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1900 pub struct Resolver {
1901 pub name: ::core::option::Option<::std::string::String>,
1902
1903 pub source_path: ::core::option::Option<::std::string::String>,
1904 }
1905
1906 impl Resolver {
1907 fn __max_ordinal(&self) -> usize {
1908 if self.source_path.is_some() {
1909 return 2;
1910 }
1911
1912 if self.name.is_some() {
1913 return 1;
1914 }
1915
1916 0
1917 }
1918 }
1919
1920 unsafe impl<___E> ::fidl_next::Encode<crate::wire::Resolver<'static>, ___E> for Resolver
1921 where
1922 ___E: ::fidl_next::Encoder + ?Sized,
1923 {
1924 #[inline]
1925 fn encode(
1926 mut self,
1927 encoder: &mut ___E,
1928 out: &mut ::core::mem::MaybeUninit<crate::wire::Resolver<'static>>,
1929 _: (),
1930 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1931 ::fidl_next::munge!(let crate::wire::Resolver { table } = out);
1932
1933 let max_ord = self.__max_ordinal();
1934
1935 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
1936 ::fidl_next::Wire::zero_padding(&mut out);
1937
1938 let mut preallocated =
1939 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
1940
1941 for i in 1..=max_ord {
1942 match i {
1943 2 => {
1944 if let Some(value) = self.source_path.take() {
1945 ::fidl_next::WireEnvelope::encode_value::<
1946 ::fidl_next::WireString<'static>,
1947 ___E,
1948 >(
1949 value, preallocated.encoder, &mut out, 1024
1950 )?;
1951 } else {
1952 ::fidl_next::WireEnvelope::encode_zero(&mut out)
1953 }
1954 }
1955
1956 1 => {
1957 if let Some(value) = self.name.take() {
1958 ::fidl_next::WireEnvelope::encode_value::<
1959 ::fidl_next::WireString<'static>,
1960 ___E,
1961 >(
1962 value, preallocated.encoder, &mut out, 100
1963 )?;
1964 } else {
1965 ::fidl_next::WireEnvelope::encode_zero(&mut out)
1966 }
1967 }
1968
1969 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
1970 }
1971 unsafe {
1972 preallocated.write_next(out.assume_init_ref());
1973 }
1974 }
1975
1976 ::fidl_next::WireTable::encode_len(table, max_ord);
1977
1978 Ok(())
1979 }
1980 }
1981
1982 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::Resolver<'static>, ___E> for &'a Resolver
1983 where
1984 ___E: ::fidl_next::Encoder + ?Sized,
1985 {
1986 #[inline]
1987 fn encode(
1988 self,
1989 encoder: &mut ___E,
1990 out: &mut ::core::mem::MaybeUninit<crate::wire::Resolver<'static>>,
1991 _: (),
1992 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1993 ::fidl_next::munge!(let crate::wire::Resolver { table } = out);
1994
1995 let max_ord = self.__max_ordinal();
1996
1997 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
1998 ::fidl_next::Wire::zero_padding(&mut out);
1999
2000 let mut preallocated =
2001 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
2002
2003 for i in 1..=max_ord {
2004 match i {
2005 2 => {
2006 if let Some(value) = &self.source_path {
2007 ::fidl_next::WireEnvelope::encode_value::<
2008 ::fidl_next::WireString<'static>,
2009 ___E,
2010 >(
2011 value, preallocated.encoder, &mut out, 1024
2012 )?;
2013 } else {
2014 ::fidl_next::WireEnvelope::encode_zero(&mut out)
2015 }
2016 }
2017
2018 1 => {
2019 if let Some(value) = &self.name {
2020 ::fidl_next::WireEnvelope::encode_value::<
2021 ::fidl_next::WireString<'static>,
2022 ___E,
2023 >(
2024 value, preallocated.encoder, &mut out, 100
2025 )?;
2026 } else {
2027 ::fidl_next::WireEnvelope::encode_zero(&mut out)
2028 }
2029 }
2030
2031 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
2032 }
2033 unsafe {
2034 preallocated.write_next(out.assume_init_ref());
2035 }
2036 }
2037
2038 ::fidl_next::WireTable::encode_len(table, max_ord);
2039
2040 Ok(())
2041 }
2042 }
2043
2044 impl<'de> ::fidl_next::FromWire<crate::wire::Resolver<'de>> for Resolver {
2045 #[inline]
2046 fn from_wire(wire_: crate::wire::Resolver<'de>) -> Self {
2047 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
2048
2049 let name = wire_.table.get(1);
2050
2051 let source_path = wire_.table.get(2);
2052
2053 Self {
2054 name: name.map(|envelope| {
2055 ::fidl_next::FromWire::from_wire(unsafe {
2056 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
2057 })
2058 }),
2059
2060 source_path: source_path.map(|envelope| {
2061 ::fidl_next::FromWire::from_wire(unsafe {
2062 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
2063 })
2064 }),
2065 }
2066 }
2067 }
2068
2069 impl<'de> ::fidl_next::FromWireRef<crate::wire::Resolver<'de>> for Resolver {
2070 #[inline]
2071 fn from_wire_ref(wire: &crate::wire::Resolver<'de>) -> Self {
2072 Self {
2073 name: wire.table.get(1).map(|envelope| {
2074 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
2075 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
2076 })
2077 }),
2078
2079 source_path: wire.table.get(2).map(|envelope| {
2080 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
2081 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
2082 })
2083 }),
2084 }
2085 }
2086 }
2087
2088 #[doc = " Declares an event_stream capability\n\n This type cannot be used in `fuchsia.component.decl.Component`. It is only\n used for the framework\'s built-in capabilities declared in\n `internal.Config`.\n"]
2089 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2090 pub struct EventStream {
2091 pub name: ::core::option::Option<::std::string::String>,
2092 }
2093
2094 impl EventStream {
2095 fn __max_ordinal(&self) -> usize {
2096 if self.name.is_some() {
2097 return 1;
2098 }
2099
2100 0
2101 }
2102 }
2103
2104 unsafe impl<___E> ::fidl_next::Encode<crate::wire::EventStream<'static>, ___E> for EventStream
2105 where
2106 ___E: ::fidl_next::Encoder + ?Sized,
2107 {
2108 #[inline]
2109 fn encode(
2110 mut self,
2111 encoder: &mut ___E,
2112 out: &mut ::core::mem::MaybeUninit<crate::wire::EventStream<'static>>,
2113 _: (),
2114 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
2115 ::fidl_next::munge!(let crate::wire::EventStream { table } = out);
2116
2117 let max_ord = self.__max_ordinal();
2118
2119 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
2120 ::fidl_next::Wire::zero_padding(&mut out);
2121
2122 let mut preallocated =
2123 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
2124
2125 for i in 1..=max_ord {
2126 match i {
2127 1 => {
2128 if let Some(value) = self.name.take() {
2129 ::fidl_next::WireEnvelope::encode_value::<
2130 ::fidl_next::WireString<'static>,
2131 ___E,
2132 >(
2133 value, preallocated.encoder, &mut out, 100
2134 )?;
2135 } else {
2136 ::fidl_next::WireEnvelope::encode_zero(&mut out)
2137 }
2138 }
2139
2140 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
2141 }
2142 unsafe {
2143 preallocated.write_next(out.assume_init_ref());
2144 }
2145 }
2146
2147 ::fidl_next::WireTable::encode_len(table, max_ord);
2148
2149 Ok(())
2150 }
2151 }
2152
2153 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::EventStream<'static>, ___E>
2154 for &'a EventStream
2155 where
2156 ___E: ::fidl_next::Encoder + ?Sized,
2157 {
2158 #[inline]
2159 fn encode(
2160 self,
2161 encoder: &mut ___E,
2162 out: &mut ::core::mem::MaybeUninit<crate::wire::EventStream<'static>>,
2163 _: (),
2164 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
2165 ::fidl_next::munge!(let crate::wire::EventStream { table } = out);
2166
2167 let max_ord = self.__max_ordinal();
2168
2169 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
2170 ::fidl_next::Wire::zero_padding(&mut out);
2171
2172 let mut preallocated =
2173 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
2174
2175 for i in 1..=max_ord {
2176 match i {
2177 1 => {
2178 if let Some(value) = &self.name {
2179 ::fidl_next::WireEnvelope::encode_value::<
2180 ::fidl_next::WireString<'static>,
2181 ___E,
2182 >(
2183 value, preallocated.encoder, &mut out, 100
2184 )?;
2185 } else {
2186 ::fidl_next::WireEnvelope::encode_zero(&mut out)
2187 }
2188 }
2189
2190 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
2191 }
2192 unsafe {
2193 preallocated.write_next(out.assume_init_ref());
2194 }
2195 }
2196
2197 ::fidl_next::WireTable::encode_len(table, max_ord);
2198
2199 Ok(())
2200 }
2201 }
2202
2203 impl<'de> ::fidl_next::FromWire<crate::wire::EventStream<'de>> for EventStream {
2204 #[inline]
2205 fn from_wire(wire_: crate::wire::EventStream<'de>) -> Self {
2206 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
2207
2208 let name = wire_.table.get(1);
2209
2210 Self {
2211 name: name.map(|envelope| {
2212 ::fidl_next::FromWire::from_wire(unsafe {
2213 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
2214 })
2215 }),
2216 }
2217 }
2218 }
2219
2220 impl<'de> ::fidl_next::FromWireRef<crate::wire::EventStream<'de>> for EventStream {
2221 #[inline]
2222 fn from_wire_ref(wire: &crate::wire::EventStream<'de>) -> Self {
2223 Self {
2224 name: wire.table.get(1).map(|envelope| {
2225 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
2226 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
2227 })
2228 }),
2229 }
2230 }
2231 }
2232
2233 #[doc = " A single configuration value.\n"]
2234 #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2235 pub enum ConfigSingleValue {
2236 Bool(bool),
2237
2238 Uint8(u8),
2239
2240 Uint16(u16),
2241
2242 Uint32(u32),
2243
2244 Uint64(u64),
2245
2246 Int8(i8),
2247
2248 Int16(i16),
2249
2250 Int32(i32),
2251
2252 Int64(i64),
2253
2254 String(::std::string::String),
2255
2256 UnknownOrdinal_(u64),
2257 }
2258
2259 impl ConfigSingleValue {
2260 pub fn is_unknown(&self) -> bool {
2261 #[allow(unreachable_patterns)]
2262 match self {
2263 Self::UnknownOrdinal_(_) => true,
2264 _ => false,
2265 }
2266 }
2267 }
2268
2269 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ConfigSingleValue<'static>, ___E>
2270 for ConfigSingleValue
2271 where
2272 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
2273 ___E: ::fidl_next::Encoder,
2274 {
2275 #[inline]
2276 fn encode(
2277 self,
2278 encoder: &mut ___E,
2279 out: &mut ::core::mem::MaybeUninit<crate::wire::ConfigSingleValue<'static>>,
2280 _: (),
2281 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
2282 ::fidl_next::munge!(let crate::wire::ConfigSingleValue { raw, _phantom: _ } = out);
2283
2284 match self {
2285 Self::Bool(value) => {
2286 ::fidl_next::RawWireUnion::encode_as::<___E, bool>(value, 1, encoder, raw, ())?
2287 }
2288
2289 Self::Uint8(value) => {
2290 ::fidl_next::RawWireUnion::encode_as::<___E, u8>(value, 2, encoder, raw, ())?
2291 }
2292
2293 Self::Uint16(value) => ::fidl_next::RawWireUnion::encode_as::<
2294 ___E,
2295 ::fidl_next::WireU16,
2296 >(value, 3, encoder, raw, ())?,
2297
2298 Self::Uint32(value) => ::fidl_next::RawWireUnion::encode_as::<
2299 ___E,
2300 ::fidl_next::WireU32,
2301 >(value, 4, encoder, raw, ())?,
2302
2303 Self::Uint64(value) => ::fidl_next::RawWireUnion::encode_as::<
2304 ___E,
2305 ::fidl_next::WireU64,
2306 >(value, 5, encoder, raw, ())?,
2307
2308 Self::Int8(value) => {
2309 ::fidl_next::RawWireUnion::encode_as::<___E, i8>(value, 6, encoder, raw, ())?
2310 }
2311
2312 Self::Int16(value) => ::fidl_next::RawWireUnion::encode_as::<
2313 ___E,
2314 ::fidl_next::WireI16,
2315 >(value, 7, encoder, raw, ())?,
2316
2317 Self::Int32(value) => ::fidl_next::RawWireUnion::encode_as::<
2318 ___E,
2319 ::fidl_next::WireI32,
2320 >(value, 8, encoder, raw, ())?,
2321
2322 Self::Int64(value) => ::fidl_next::RawWireUnion::encode_as::<
2323 ___E,
2324 ::fidl_next::WireI64,
2325 >(value, 9, encoder, raw, ())?,
2326
2327 Self::String(value) => ::fidl_next::RawWireUnion::encode_as::<
2328 ___E,
2329 ::fidl_next::WireString<'static>,
2330 >(value, 10, encoder, raw, 4294967295)?,
2331
2332 Self::UnknownOrdinal_(ordinal) => {
2333 return Err(::fidl_next::EncodeError::UnknownUnionOrdinal(ordinal as usize));
2334 }
2335 }
2336
2337 Ok(())
2338 }
2339 }
2340
2341 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ConfigSingleValue<'static>, ___E>
2342 for &'a ConfigSingleValue
2343 where
2344 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
2345 ___E: ::fidl_next::Encoder,
2346 {
2347 #[inline]
2348 fn encode(
2349 self,
2350 encoder: &mut ___E,
2351 out: &mut ::core::mem::MaybeUninit<crate::wire::ConfigSingleValue<'static>>,
2352 _: (),
2353 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
2354 ::fidl_next::munge!(let crate::wire::ConfigSingleValue { raw, _phantom: _ } = out);
2355
2356 match self {
2357 ConfigSingleValue::Bool(value) => {
2358 ::fidl_next::RawWireUnion::encode_as::<___E, bool>(value, 1, encoder, raw, ())?
2359 }
2360
2361 ConfigSingleValue::Uint8(value) => {
2362 ::fidl_next::RawWireUnion::encode_as::<___E, u8>(value, 2, encoder, raw, ())?
2363 }
2364
2365 ConfigSingleValue::Uint16(value) => ::fidl_next::RawWireUnion::encode_as::<
2366 ___E,
2367 ::fidl_next::WireU16,
2368 >(value, 3, encoder, raw, ())?,
2369
2370 ConfigSingleValue::Uint32(value) => ::fidl_next::RawWireUnion::encode_as::<
2371 ___E,
2372 ::fidl_next::WireU32,
2373 >(value, 4, encoder, raw, ())?,
2374
2375 ConfigSingleValue::Uint64(value) => ::fidl_next::RawWireUnion::encode_as::<
2376 ___E,
2377 ::fidl_next::WireU64,
2378 >(value, 5, encoder, raw, ())?,
2379
2380 ConfigSingleValue::Int8(value) => {
2381 ::fidl_next::RawWireUnion::encode_as::<___E, i8>(value, 6, encoder, raw, ())?
2382 }
2383
2384 ConfigSingleValue::Int16(value) => ::fidl_next::RawWireUnion::encode_as::<
2385 ___E,
2386 ::fidl_next::WireI16,
2387 >(value, 7, encoder, raw, ())?,
2388
2389 ConfigSingleValue::Int32(value) => ::fidl_next::RawWireUnion::encode_as::<
2390 ___E,
2391 ::fidl_next::WireI32,
2392 >(value, 8, encoder, raw, ())?,
2393
2394 ConfigSingleValue::Int64(value) => ::fidl_next::RawWireUnion::encode_as::<
2395 ___E,
2396 ::fidl_next::WireI64,
2397 >(value, 9, encoder, raw, ())?,
2398
2399 ConfigSingleValue::String(value) => {
2400 ::fidl_next::RawWireUnion::encode_as::<___E, ::fidl_next::WireString<'static>>(
2401 value, 10, encoder, raw, 4294967295,
2402 )?
2403 }
2404
2405 ConfigSingleValue::UnknownOrdinal_(ordinal) => {
2406 return Err(::fidl_next::EncodeError::UnknownUnionOrdinal(*ordinal as usize));
2407 }
2408 }
2409
2410 Ok(())
2411 }
2412 }
2413
2414 unsafe impl<___E>
2415 ::fidl_next::EncodeOption<crate::wire_optional::ConfigSingleValue<'static>, ___E>
2416 for ConfigSingleValue
2417 where
2418 ___E: ?Sized,
2419 ConfigSingleValue: ::fidl_next::Encode<crate::wire::ConfigSingleValue<'static>, ___E>,
2420 {
2421 #[inline]
2422 fn encode_option(
2423 this: ::core::option::Option<Self>,
2424 encoder: &mut ___E,
2425 out: &mut ::core::mem::MaybeUninit<crate::wire_optional::ConfigSingleValue<'static>>,
2426 _: (),
2427 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
2428 ::fidl_next::munge!(let crate::wire_optional::ConfigSingleValue { raw, _phantom: _ } = &mut *out);
2429
2430 if let Some(inner) = this {
2431 let value_out = unsafe { &mut *out.as_mut_ptr().cast() };
2432 ::fidl_next::Encode::encode(inner, encoder, value_out, ())?;
2433 } else {
2434 ::fidl_next::RawWireUnion::encode_absent(raw);
2435 }
2436
2437 Ok(())
2438 }
2439 }
2440
2441 unsafe impl<'a, ___E>
2442 ::fidl_next::EncodeOption<crate::wire_optional::ConfigSingleValue<'static>, ___E>
2443 for &'a ConfigSingleValue
2444 where
2445 ___E: ?Sized,
2446 &'a ConfigSingleValue: ::fidl_next::Encode<crate::wire::ConfigSingleValue<'static>, ___E>,
2447 {
2448 #[inline]
2449 fn encode_option(
2450 this: ::core::option::Option<Self>,
2451 encoder: &mut ___E,
2452 out: &mut ::core::mem::MaybeUninit<crate::wire_optional::ConfigSingleValue<'static>>,
2453 _: (),
2454 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
2455 ::fidl_next::munge!(let crate::wire_optional::ConfigSingleValue { raw, _phantom: _ } = &mut *out);
2456
2457 if let Some(inner) = this {
2458 let value_out = unsafe { &mut *out.as_mut_ptr().cast() };
2459 ::fidl_next::Encode::encode(inner, encoder, value_out, ())?;
2460 } else {
2461 ::fidl_next::RawWireUnion::encode_absent(raw);
2462 }
2463
2464 Ok(())
2465 }
2466 }
2467
2468 impl<'de> ::fidl_next::FromWire<crate::wire::ConfigSingleValue<'de>> for ConfigSingleValue {
2469 #[inline]
2470 fn from_wire(wire: crate::wire::ConfigSingleValue<'de>) -> Self {
2471 let wire = ::core::mem::ManuallyDrop::new(wire);
2472 match wire.raw.ordinal() {
2473 1 => Self::Bool(::fidl_next::FromWire::from_wire(unsafe {
2474 wire.raw.get().read_unchecked::<bool>()
2475 })),
2476
2477 2 => Self::Uint8(::fidl_next::FromWire::from_wire(unsafe {
2478 wire.raw.get().read_unchecked::<u8>()
2479 })),
2480
2481 3 => Self::Uint16(::fidl_next::FromWire::from_wire(unsafe {
2482 wire.raw.get().read_unchecked::<::fidl_next::WireU16>()
2483 })),
2484
2485 4 => Self::Uint32(::fidl_next::FromWire::from_wire(unsafe {
2486 wire.raw.get().read_unchecked::<::fidl_next::WireU32>()
2487 })),
2488
2489 5 => Self::Uint64(::fidl_next::FromWire::from_wire(unsafe {
2490 wire.raw.get().read_unchecked::<::fidl_next::WireU64>()
2491 })),
2492
2493 6 => Self::Int8(::fidl_next::FromWire::from_wire(unsafe {
2494 wire.raw.get().read_unchecked::<i8>()
2495 })),
2496
2497 7 => Self::Int16(::fidl_next::FromWire::from_wire(unsafe {
2498 wire.raw.get().read_unchecked::<::fidl_next::WireI16>()
2499 })),
2500
2501 8 => Self::Int32(::fidl_next::FromWire::from_wire(unsafe {
2502 wire.raw.get().read_unchecked::<::fidl_next::WireI32>()
2503 })),
2504
2505 9 => Self::Int64(::fidl_next::FromWire::from_wire(unsafe {
2506 wire.raw.get().read_unchecked::<::fidl_next::WireI64>()
2507 })),
2508
2509 10 => Self::String(::fidl_next::FromWire::from_wire(unsafe {
2510 wire.raw.get().read_unchecked::<::fidl_next::WireString<'de>>()
2511 })),
2512
2513 ord => return Self::UnknownOrdinal_(ord as u64),
2514 }
2515 }
2516 }
2517
2518 impl<'de> ::fidl_next::FromWireRef<crate::wire::ConfigSingleValue<'de>> for ConfigSingleValue {
2519 #[inline]
2520 fn from_wire_ref(wire: &crate::wire::ConfigSingleValue<'de>) -> Self {
2521 match wire.raw.ordinal() {
2522 1 => Self::Bool(::fidl_next::FromWireRef::from_wire_ref(unsafe {
2523 wire.raw.get().deref_unchecked::<bool>()
2524 })),
2525
2526 2 => Self::Uint8(::fidl_next::FromWireRef::from_wire_ref(unsafe {
2527 wire.raw.get().deref_unchecked::<u8>()
2528 })),
2529
2530 3 => Self::Uint16(::fidl_next::FromWireRef::from_wire_ref(unsafe {
2531 wire.raw.get().deref_unchecked::<::fidl_next::WireU16>()
2532 })),
2533
2534 4 => Self::Uint32(::fidl_next::FromWireRef::from_wire_ref(unsafe {
2535 wire.raw.get().deref_unchecked::<::fidl_next::WireU32>()
2536 })),
2537
2538 5 => Self::Uint64(::fidl_next::FromWireRef::from_wire_ref(unsafe {
2539 wire.raw.get().deref_unchecked::<::fidl_next::WireU64>()
2540 })),
2541
2542 6 => Self::Int8(::fidl_next::FromWireRef::from_wire_ref(unsafe {
2543 wire.raw.get().deref_unchecked::<i8>()
2544 })),
2545
2546 7 => Self::Int16(::fidl_next::FromWireRef::from_wire_ref(unsafe {
2547 wire.raw.get().deref_unchecked::<::fidl_next::WireI16>()
2548 })),
2549
2550 8 => Self::Int32(::fidl_next::FromWireRef::from_wire_ref(unsafe {
2551 wire.raw.get().deref_unchecked::<::fidl_next::WireI32>()
2552 })),
2553
2554 9 => Self::Int64(::fidl_next::FromWireRef::from_wire_ref(unsafe {
2555 wire.raw.get().deref_unchecked::<::fidl_next::WireI64>()
2556 })),
2557
2558 10 => Self::String(::fidl_next::FromWireRef::from_wire_ref(unsafe {
2559 wire.raw.get().deref_unchecked::<::fidl_next::WireString<'de>>()
2560 })),
2561
2562 ord => return Self::UnknownOrdinal_(ord as u64),
2563 }
2564 }
2565 }
2566
2567 impl<'de> ::fidl_next::FromWireOption<crate::wire_optional::ConfigSingleValue<'de>>
2568 for ConfigSingleValue
2569 {
2570 #[inline]
2571 fn from_wire_option(
2572 wire: crate::wire_optional::ConfigSingleValue<'de>,
2573 ) -> ::core::option::Option<Self> {
2574 if let Some(inner) = wire.into_option() {
2575 Some(::fidl_next::FromWire::from_wire(inner))
2576 } else {
2577 None
2578 }
2579 }
2580 }
2581
2582 impl<'de> ::fidl_next::FromWireOption<crate::wire_optional::ConfigSingleValue<'de>>
2583 for Box<ConfigSingleValue>
2584 {
2585 #[inline]
2586 fn from_wire_option(
2587 wire: crate::wire_optional::ConfigSingleValue<'de>,
2588 ) -> ::core::option::Option<Self> {
2589 <ConfigSingleValue as ::fidl_next::FromWireOption<
2590 crate::wire_optional::ConfigSingleValue<'de>,
2591 >>::from_wire_option(wire)
2592 .map(Box::new)
2593 }
2594 }
2595
2596 impl<'de> ::fidl_next::FromWireOptionRef<crate::wire_optional::ConfigSingleValue<'de>>
2597 for Box<ConfigSingleValue>
2598 {
2599 #[inline]
2600 fn from_wire_option_ref(
2601 wire: &crate::wire_optional::ConfigSingleValue<'de>,
2602 ) -> ::core::option::Option<Self> {
2603 if let Some(inner) = wire.as_ref() {
2604 Some(Box::new(::fidl_next::FromWireRef::from_wire_ref(inner)))
2605 } else {
2606 None
2607 }
2608 }
2609 }
2610
2611 #[doc = " A vector configuration value.\n"]
2612 #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2613 pub enum ConfigVectorValue {
2614 BoolVector(::std::vec::Vec<bool>),
2615
2616 Uint8Vector(::std::vec::Vec<u8>),
2617
2618 Uint16Vector(::std::vec::Vec<u16>),
2619
2620 Uint32Vector(::std::vec::Vec<u32>),
2621
2622 Uint64Vector(::std::vec::Vec<u64>),
2623
2624 Int8Vector(::std::vec::Vec<i8>),
2625
2626 Int16Vector(::std::vec::Vec<i16>),
2627
2628 Int32Vector(::std::vec::Vec<i32>),
2629
2630 Int64Vector(::std::vec::Vec<i64>),
2631
2632 StringVector(::std::vec::Vec<::std::string::String>),
2633
2634 UnknownOrdinal_(u64),
2635 }
2636
2637 impl ConfigVectorValue {
2638 pub fn is_unknown(&self) -> bool {
2639 #[allow(unreachable_patterns)]
2640 match self {
2641 Self::UnknownOrdinal_(_) => true,
2642 _ => false,
2643 }
2644 }
2645 }
2646
2647 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ConfigVectorValue<'static>, ___E>
2648 for ConfigVectorValue
2649 where
2650 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
2651 ___E: ::fidl_next::Encoder,
2652 {
2653 #[inline]
2654 fn encode(
2655 self,
2656 encoder: &mut ___E,
2657 out: &mut ::core::mem::MaybeUninit<crate::wire::ConfigVectorValue<'static>>,
2658 _: (),
2659 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
2660 ::fidl_next::munge!(let crate::wire::ConfigVectorValue { raw, _phantom: _ } = out);
2661
2662 match self {
2663 Self::BoolVector(value) => {
2664 ::fidl_next::RawWireUnion::encode_as::<
2665 ___E,
2666 ::fidl_next::WireVector<'static, bool>,
2667 >(value, 1, encoder, raw, (4294967295, ()))?
2668 }
2669
2670 Self::Uint8Vector(value) => {
2671 ::fidl_next::RawWireUnion::encode_as::<
2672 ___E,
2673 ::fidl_next::WireVector<'static, u8>,
2674 >(value, 2, encoder, raw, (4294967295, ()))?
2675 }
2676
2677 Self::Uint16Vector(value) => {
2678 ::fidl_next::RawWireUnion::encode_as::<
2679 ___E,
2680 ::fidl_next::WireVector<'static, ::fidl_next::WireU16>,
2681 >(value, 3, encoder, raw, (4294967295, ()))?
2682 }
2683
2684 Self::Uint32Vector(value) => {
2685 ::fidl_next::RawWireUnion::encode_as::<
2686 ___E,
2687 ::fidl_next::WireVector<'static, ::fidl_next::WireU32>,
2688 >(value, 4, encoder, raw, (4294967295, ()))?
2689 }
2690
2691 Self::Uint64Vector(value) => {
2692 ::fidl_next::RawWireUnion::encode_as::<
2693 ___E,
2694 ::fidl_next::WireVector<'static, ::fidl_next::WireU64>,
2695 >(value, 5, encoder, raw, (4294967295, ()))?
2696 }
2697
2698 Self::Int8Vector(value) => {
2699 ::fidl_next::RawWireUnion::encode_as::<
2700 ___E,
2701 ::fidl_next::WireVector<'static, i8>,
2702 >(value, 6, encoder, raw, (4294967295, ()))?
2703 }
2704
2705 Self::Int16Vector(value) => {
2706 ::fidl_next::RawWireUnion::encode_as::<
2707 ___E,
2708 ::fidl_next::WireVector<'static, ::fidl_next::WireI16>,
2709 >(value, 7, encoder, raw, (4294967295, ()))?
2710 }
2711
2712 Self::Int32Vector(value) => {
2713 ::fidl_next::RawWireUnion::encode_as::<
2714 ___E,
2715 ::fidl_next::WireVector<'static, ::fidl_next::WireI32>,
2716 >(value, 8, encoder, raw, (4294967295, ()))?
2717 }
2718
2719 Self::Int64Vector(value) => {
2720 ::fidl_next::RawWireUnion::encode_as::<
2721 ___E,
2722 ::fidl_next::WireVector<'static, ::fidl_next::WireI64>,
2723 >(value, 9, encoder, raw, (4294967295, ()))?
2724 }
2725
2726 Self::StringVector(value) => {
2727 ::fidl_next::RawWireUnion::encode_as::<
2728 ___E,
2729 ::fidl_next::WireVector<'static, ::fidl_next::WireString<'static>>,
2730 >(value, 10, encoder, raw, (4294967295, 4294967295))?
2731 }
2732
2733 Self::UnknownOrdinal_(ordinal) => {
2734 return Err(::fidl_next::EncodeError::UnknownUnionOrdinal(ordinal as usize));
2735 }
2736 }
2737
2738 Ok(())
2739 }
2740 }
2741
2742 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ConfigVectorValue<'static>, ___E>
2743 for &'a ConfigVectorValue
2744 where
2745 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
2746 ___E: ::fidl_next::Encoder,
2747 {
2748 #[inline]
2749 fn encode(
2750 self,
2751 encoder: &mut ___E,
2752 out: &mut ::core::mem::MaybeUninit<crate::wire::ConfigVectorValue<'static>>,
2753 _: (),
2754 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
2755 ::fidl_next::munge!(let crate::wire::ConfigVectorValue { raw, _phantom: _ } = out);
2756
2757 match self {
2758 ConfigVectorValue::BoolVector(value) => {
2759 ::fidl_next::RawWireUnion::encode_as::<
2760 ___E,
2761 ::fidl_next::WireVector<'static, bool>,
2762 >(value, 1, encoder, raw, (4294967295, ()))?
2763 }
2764
2765 ConfigVectorValue::Uint8Vector(value) => {
2766 ::fidl_next::RawWireUnion::encode_as::<
2767 ___E,
2768 ::fidl_next::WireVector<'static, u8>,
2769 >(value, 2, encoder, raw, (4294967295, ()))?
2770 }
2771
2772 ConfigVectorValue::Uint16Vector(value) => {
2773 ::fidl_next::RawWireUnion::encode_as::<
2774 ___E,
2775 ::fidl_next::WireVector<'static, ::fidl_next::WireU16>,
2776 >(value, 3, encoder, raw, (4294967295, ()))?
2777 }
2778
2779 ConfigVectorValue::Uint32Vector(value) => {
2780 ::fidl_next::RawWireUnion::encode_as::<
2781 ___E,
2782 ::fidl_next::WireVector<'static, ::fidl_next::WireU32>,
2783 >(value, 4, encoder, raw, (4294967295, ()))?
2784 }
2785
2786 ConfigVectorValue::Uint64Vector(value) => {
2787 ::fidl_next::RawWireUnion::encode_as::<
2788 ___E,
2789 ::fidl_next::WireVector<'static, ::fidl_next::WireU64>,
2790 >(value, 5, encoder, raw, (4294967295, ()))?
2791 }
2792
2793 ConfigVectorValue::Int8Vector(value) => {
2794 ::fidl_next::RawWireUnion::encode_as::<
2795 ___E,
2796 ::fidl_next::WireVector<'static, i8>,
2797 >(value, 6, encoder, raw, (4294967295, ()))?
2798 }
2799
2800 ConfigVectorValue::Int16Vector(value) => {
2801 ::fidl_next::RawWireUnion::encode_as::<
2802 ___E,
2803 ::fidl_next::WireVector<'static, ::fidl_next::WireI16>,
2804 >(value, 7, encoder, raw, (4294967295, ()))?
2805 }
2806
2807 ConfigVectorValue::Int32Vector(value) => {
2808 ::fidl_next::RawWireUnion::encode_as::<
2809 ___E,
2810 ::fidl_next::WireVector<'static, ::fidl_next::WireI32>,
2811 >(value, 8, encoder, raw, (4294967295, ()))?
2812 }
2813
2814 ConfigVectorValue::Int64Vector(value) => {
2815 ::fidl_next::RawWireUnion::encode_as::<
2816 ___E,
2817 ::fidl_next::WireVector<'static, ::fidl_next::WireI64>,
2818 >(value, 9, encoder, raw, (4294967295, ()))?
2819 }
2820
2821 ConfigVectorValue::StringVector(value) => {
2822 ::fidl_next::RawWireUnion::encode_as::<
2823 ___E,
2824 ::fidl_next::WireVector<'static, ::fidl_next::WireString<'static>>,
2825 >(value, 10, encoder, raw, (4294967295, 4294967295))?
2826 }
2827
2828 ConfigVectorValue::UnknownOrdinal_(ordinal) => {
2829 return Err(::fidl_next::EncodeError::UnknownUnionOrdinal(*ordinal as usize));
2830 }
2831 }
2832
2833 Ok(())
2834 }
2835 }
2836
2837 unsafe impl<___E>
2838 ::fidl_next::EncodeOption<crate::wire_optional::ConfigVectorValue<'static>, ___E>
2839 for ConfigVectorValue
2840 where
2841 ___E: ?Sized,
2842 ConfigVectorValue: ::fidl_next::Encode<crate::wire::ConfigVectorValue<'static>, ___E>,
2843 {
2844 #[inline]
2845 fn encode_option(
2846 this: ::core::option::Option<Self>,
2847 encoder: &mut ___E,
2848 out: &mut ::core::mem::MaybeUninit<crate::wire_optional::ConfigVectorValue<'static>>,
2849 _: (),
2850 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
2851 ::fidl_next::munge!(let crate::wire_optional::ConfigVectorValue { raw, _phantom: _ } = &mut *out);
2852
2853 if let Some(inner) = this {
2854 let value_out = unsafe { &mut *out.as_mut_ptr().cast() };
2855 ::fidl_next::Encode::encode(inner, encoder, value_out, ())?;
2856 } else {
2857 ::fidl_next::RawWireUnion::encode_absent(raw);
2858 }
2859
2860 Ok(())
2861 }
2862 }
2863
2864 unsafe impl<'a, ___E>
2865 ::fidl_next::EncodeOption<crate::wire_optional::ConfigVectorValue<'static>, ___E>
2866 for &'a ConfigVectorValue
2867 where
2868 ___E: ?Sized,
2869 &'a ConfigVectorValue: ::fidl_next::Encode<crate::wire::ConfigVectorValue<'static>, ___E>,
2870 {
2871 #[inline]
2872 fn encode_option(
2873 this: ::core::option::Option<Self>,
2874 encoder: &mut ___E,
2875 out: &mut ::core::mem::MaybeUninit<crate::wire_optional::ConfigVectorValue<'static>>,
2876 _: (),
2877 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
2878 ::fidl_next::munge!(let crate::wire_optional::ConfigVectorValue { raw, _phantom: _ } = &mut *out);
2879
2880 if let Some(inner) = this {
2881 let value_out = unsafe { &mut *out.as_mut_ptr().cast() };
2882 ::fidl_next::Encode::encode(inner, encoder, value_out, ())?;
2883 } else {
2884 ::fidl_next::RawWireUnion::encode_absent(raw);
2885 }
2886
2887 Ok(())
2888 }
2889 }
2890
2891 impl<'de> ::fidl_next::FromWire<crate::wire::ConfigVectorValue<'de>> for ConfigVectorValue {
2892 #[inline]
2893 fn from_wire(wire: crate::wire::ConfigVectorValue<'de>) -> Self {
2894 let wire = ::core::mem::ManuallyDrop::new(wire);
2895 match wire.raw.ordinal() {
2896 1 => Self::BoolVector(::fidl_next::FromWire::from_wire(unsafe {
2897 wire.raw.get().read_unchecked::<::fidl_next::WireVector<'de, bool>>()
2898 })),
2899
2900 2 => Self::Uint8Vector(::fidl_next::FromWire::from_wire(unsafe {
2901 wire.raw.get().read_unchecked::<::fidl_next::WireVector<'de, u8>>()
2902 })),
2903
2904 3 => Self::Uint16Vector(::fidl_next::FromWire::from_wire(unsafe {
2905 wire.raw
2906 .get()
2907 .read_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireU16>>()
2908 })),
2909
2910 4 => Self::Uint32Vector(::fidl_next::FromWire::from_wire(unsafe {
2911 wire.raw
2912 .get()
2913 .read_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireU32>>()
2914 })),
2915
2916 5 => Self::Uint64Vector(::fidl_next::FromWire::from_wire(unsafe {
2917 wire.raw
2918 .get()
2919 .read_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireU64>>()
2920 })),
2921
2922 6 => Self::Int8Vector(::fidl_next::FromWire::from_wire(unsafe {
2923 wire.raw.get().read_unchecked::<::fidl_next::WireVector<'de, i8>>()
2924 })),
2925
2926 7 => Self::Int16Vector(::fidl_next::FromWire::from_wire(unsafe {
2927 wire.raw
2928 .get()
2929 .read_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireI16>>()
2930 })),
2931
2932 8 => Self::Int32Vector(::fidl_next::FromWire::from_wire(unsafe {
2933 wire.raw
2934 .get()
2935 .read_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireI32>>()
2936 })),
2937
2938 9 => Self::Int64Vector(::fidl_next::FromWire::from_wire(unsafe {
2939 wire.raw
2940 .get()
2941 .read_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireI64>>()
2942 })),
2943
2944 10 => Self::StringVector(::fidl_next::FromWire::from_wire(unsafe {
2945 wire.raw.get().read_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireString<'de>>>()
2946 })),
2947
2948 ord => return Self::UnknownOrdinal_(ord as u64),
2949 }
2950 }
2951 }
2952
2953 impl<'de> ::fidl_next::FromWireRef<crate::wire::ConfigVectorValue<'de>> for ConfigVectorValue {
2954 #[inline]
2955 fn from_wire_ref(wire: &crate::wire::ConfigVectorValue<'de>) -> Self {
2956 match wire.raw.ordinal() {
2957 1 => Self::BoolVector(::fidl_next::FromWireRef::from_wire_ref(unsafe {
2958 wire.raw.get().deref_unchecked::<::fidl_next::WireVector<'de, bool>>()
2959 })),
2960
2961 2 => Self::Uint8Vector(::fidl_next::FromWireRef::from_wire_ref(unsafe {
2962 wire.raw.get().deref_unchecked::<::fidl_next::WireVector<'de, u8>>()
2963 })),
2964
2965 3 => Self::Uint16Vector(::fidl_next::FromWireRef::from_wire_ref(unsafe {
2966 wire.raw
2967 .get()
2968 .deref_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireU16>>()
2969 })),
2970
2971 4 => Self::Uint32Vector(::fidl_next::FromWireRef::from_wire_ref(unsafe {
2972 wire.raw
2973 .get()
2974 .deref_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireU32>>()
2975 })),
2976
2977 5 => Self::Uint64Vector(::fidl_next::FromWireRef::from_wire_ref(unsafe {
2978 wire.raw
2979 .get()
2980 .deref_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireU64>>()
2981 })),
2982
2983 6 => Self::Int8Vector(::fidl_next::FromWireRef::from_wire_ref(unsafe {
2984 wire.raw.get().deref_unchecked::<::fidl_next::WireVector<'de, i8>>()
2985 })),
2986
2987 7 => Self::Int16Vector(::fidl_next::FromWireRef::from_wire_ref(unsafe {
2988 wire.raw
2989 .get()
2990 .deref_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireI16>>()
2991 })),
2992
2993 8 => Self::Int32Vector(::fidl_next::FromWireRef::from_wire_ref(unsafe {
2994 wire.raw
2995 .get()
2996 .deref_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireI32>>()
2997 })),
2998
2999 9 => Self::Int64Vector(::fidl_next::FromWireRef::from_wire_ref(unsafe {
3000 wire.raw
3001 .get()
3002 .deref_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireI64>>()
3003 })),
3004
3005 10 => Self::StringVector(::fidl_next::FromWireRef::from_wire_ref(unsafe {
3006 wire.raw.get().deref_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireString<'de>>>()
3007 })),
3008
3009 ord => return Self::UnknownOrdinal_(ord as u64),
3010 }
3011 }
3012 }
3013
3014 impl<'de> ::fidl_next::FromWireOption<crate::wire_optional::ConfigVectorValue<'de>>
3015 for ConfigVectorValue
3016 {
3017 #[inline]
3018 fn from_wire_option(
3019 wire: crate::wire_optional::ConfigVectorValue<'de>,
3020 ) -> ::core::option::Option<Self> {
3021 if let Some(inner) = wire.into_option() {
3022 Some(::fidl_next::FromWire::from_wire(inner))
3023 } else {
3024 None
3025 }
3026 }
3027 }
3028
3029 impl<'de> ::fidl_next::FromWireOption<crate::wire_optional::ConfigVectorValue<'de>>
3030 for Box<ConfigVectorValue>
3031 {
3032 #[inline]
3033 fn from_wire_option(
3034 wire: crate::wire_optional::ConfigVectorValue<'de>,
3035 ) -> ::core::option::Option<Self> {
3036 <ConfigVectorValue as ::fidl_next::FromWireOption<
3037 crate::wire_optional::ConfigVectorValue<'de>,
3038 >>::from_wire_option(wire)
3039 .map(Box::new)
3040 }
3041 }
3042
3043 impl<'de> ::fidl_next::FromWireOptionRef<crate::wire_optional::ConfigVectorValue<'de>>
3044 for Box<ConfigVectorValue>
3045 {
3046 #[inline]
3047 fn from_wire_option_ref(
3048 wire: &crate::wire_optional::ConfigVectorValue<'de>,
3049 ) -> ::core::option::Option<Self> {
3050 if let Some(inner) = wire.as_ref() {
3051 Some(Box::new(::fidl_next::FromWireRef::from_wire_ref(inner)))
3052 } else {
3053 None
3054 }
3055 }
3056 }
3057
3058 #[doc = " A configuration value which can be provided to a component.\n\n Used both for storing configuration at-rest and in runtime configuration APIs.\n"]
3059 #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
3060 pub enum ConfigValue {
3061 Single(crate::natural::ConfigSingleValue),
3062
3063 Vector(crate::natural::ConfigVectorValue),
3064
3065 UnknownOrdinal_(u64),
3066 }
3067
3068 impl ConfigValue {
3069 pub fn is_unknown(&self) -> bool {
3070 #[allow(unreachable_patterns)]
3071 match self {
3072 Self::UnknownOrdinal_(_) => true,
3073 _ => false,
3074 }
3075 }
3076 }
3077
3078 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ConfigValue<'static>, ___E> for ConfigValue
3079 where
3080 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
3081 ___E: ::fidl_next::Encoder,
3082 {
3083 #[inline]
3084 fn encode(
3085 self,
3086 encoder: &mut ___E,
3087 out: &mut ::core::mem::MaybeUninit<crate::wire::ConfigValue<'static>>,
3088 _: (),
3089 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
3090 ::fidl_next::munge!(let crate::wire::ConfigValue { raw, _phantom: _ } = out);
3091
3092 match self {
3093 Self::Single(value) => ::fidl_next::RawWireUnion::encode_as::<
3094 ___E,
3095 crate::wire::ConfigSingleValue<'static>,
3096 >(value, 1, encoder, raw, ())?,
3097
3098 Self::Vector(value) => ::fidl_next::RawWireUnion::encode_as::<
3099 ___E,
3100 crate::wire::ConfigVectorValue<'static>,
3101 >(value, 2, encoder, raw, ())?,
3102
3103 Self::UnknownOrdinal_(ordinal) => {
3104 return Err(::fidl_next::EncodeError::UnknownUnionOrdinal(ordinal as usize));
3105 }
3106 }
3107
3108 Ok(())
3109 }
3110 }
3111
3112 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ConfigValue<'static>, ___E>
3113 for &'a ConfigValue
3114 where
3115 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
3116 ___E: ::fidl_next::Encoder,
3117 {
3118 #[inline]
3119 fn encode(
3120 self,
3121 encoder: &mut ___E,
3122 out: &mut ::core::mem::MaybeUninit<crate::wire::ConfigValue<'static>>,
3123 _: (),
3124 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
3125 ::fidl_next::munge!(let crate::wire::ConfigValue { raw, _phantom: _ } = out);
3126
3127 match self {
3128 ConfigValue::Single(value) => ::fidl_next::RawWireUnion::encode_as::<
3129 ___E,
3130 crate::wire::ConfigSingleValue<'static>,
3131 >(value, 1, encoder, raw, ())?,
3132
3133 ConfigValue::Vector(value) => ::fidl_next::RawWireUnion::encode_as::<
3134 ___E,
3135 crate::wire::ConfigVectorValue<'static>,
3136 >(value, 2, encoder, raw, ())?,
3137
3138 ConfigValue::UnknownOrdinal_(ordinal) => {
3139 return Err(::fidl_next::EncodeError::UnknownUnionOrdinal(*ordinal as usize));
3140 }
3141 }
3142
3143 Ok(())
3144 }
3145 }
3146
3147 unsafe impl<___E> ::fidl_next::EncodeOption<crate::wire_optional::ConfigValue<'static>, ___E>
3148 for ConfigValue
3149 where
3150 ___E: ?Sized,
3151 ConfigValue: ::fidl_next::Encode<crate::wire::ConfigValue<'static>, ___E>,
3152 {
3153 #[inline]
3154 fn encode_option(
3155 this: ::core::option::Option<Self>,
3156 encoder: &mut ___E,
3157 out: &mut ::core::mem::MaybeUninit<crate::wire_optional::ConfigValue<'static>>,
3158 _: (),
3159 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
3160 ::fidl_next::munge!(let crate::wire_optional::ConfigValue { raw, _phantom: _ } = &mut *out);
3161
3162 if let Some(inner) = this {
3163 let value_out = unsafe { &mut *out.as_mut_ptr().cast() };
3164 ::fidl_next::Encode::encode(inner, encoder, value_out, ())?;
3165 } else {
3166 ::fidl_next::RawWireUnion::encode_absent(raw);
3167 }
3168
3169 Ok(())
3170 }
3171 }
3172
3173 unsafe impl<'a, ___E>
3174 ::fidl_next::EncodeOption<crate::wire_optional::ConfigValue<'static>, ___E>
3175 for &'a ConfigValue
3176 where
3177 ___E: ?Sized,
3178 &'a ConfigValue: ::fidl_next::Encode<crate::wire::ConfigValue<'static>, ___E>,
3179 {
3180 #[inline]
3181 fn encode_option(
3182 this: ::core::option::Option<Self>,
3183 encoder: &mut ___E,
3184 out: &mut ::core::mem::MaybeUninit<crate::wire_optional::ConfigValue<'static>>,
3185 _: (),
3186 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
3187 ::fidl_next::munge!(let crate::wire_optional::ConfigValue { raw, _phantom: _ } = &mut *out);
3188
3189 if let Some(inner) = this {
3190 let value_out = unsafe { &mut *out.as_mut_ptr().cast() };
3191 ::fidl_next::Encode::encode(inner, encoder, value_out, ())?;
3192 } else {
3193 ::fidl_next::RawWireUnion::encode_absent(raw);
3194 }
3195
3196 Ok(())
3197 }
3198 }
3199
3200 impl<'de> ::fidl_next::FromWire<crate::wire::ConfigValue<'de>> for ConfigValue {
3201 #[inline]
3202 fn from_wire(wire: crate::wire::ConfigValue<'de>) -> Self {
3203 let wire = ::core::mem::ManuallyDrop::new(wire);
3204 match wire.raw.ordinal() {
3205 1 => Self::Single(::fidl_next::FromWire::from_wire(unsafe {
3206 wire.raw.get().read_unchecked::<crate::wire::ConfigSingleValue<'de>>()
3207 })),
3208
3209 2 => Self::Vector(::fidl_next::FromWire::from_wire(unsafe {
3210 wire.raw.get().read_unchecked::<crate::wire::ConfigVectorValue<'de>>()
3211 })),
3212
3213 ord => return Self::UnknownOrdinal_(ord as u64),
3214 }
3215 }
3216 }
3217
3218 impl<'de> ::fidl_next::FromWireRef<crate::wire::ConfigValue<'de>> for ConfigValue {
3219 #[inline]
3220 fn from_wire_ref(wire: &crate::wire::ConfigValue<'de>) -> Self {
3221 match wire.raw.ordinal() {
3222 1 => Self::Single(::fidl_next::FromWireRef::from_wire_ref(unsafe {
3223 wire.raw.get().deref_unchecked::<crate::wire::ConfigSingleValue<'de>>()
3224 })),
3225
3226 2 => Self::Vector(::fidl_next::FromWireRef::from_wire_ref(unsafe {
3227 wire.raw.get().deref_unchecked::<crate::wire::ConfigVectorValue<'de>>()
3228 })),
3229
3230 ord => return Self::UnknownOrdinal_(ord as u64),
3231 }
3232 }
3233 }
3234
3235 impl<'de> ::fidl_next::FromWireOption<crate::wire_optional::ConfigValue<'de>> for ConfigValue {
3236 #[inline]
3237 fn from_wire_option(
3238 wire: crate::wire_optional::ConfigValue<'de>,
3239 ) -> ::core::option::Option<Self> {
3240 if let Some(inner) = wire.into_option() {
3241 Some(::fidl_next::FromWire::from_wire(inner))
3242 } else {
3243 None
3244 }
3245 }
3246 }
3247
3248 impl<'de> ::fidl_next::FromWireOption<crate::wire_optional::ConfigValue<'de>> for Box<ConfigValue> {
3249 #[inline]
3250 fn from_wire_option(
3251 wire: crate::wire_optional::ConfigValue<'de>,
3252 ) -> ::core::option::Option<Self> {
3253 <
3254 ConfigValue as ::fidl_next::FromWireOption<crate::wire_optional::ConfigValue<'de>>
3255 >::from_wire_option(wire).map(Box::new)
3256 }
3257 }
3258
3259 impl<'de> ::fidl_next::FromWireOptionRef<crate::wire_optional::ConfigValue<'de>>
3260 for Box<ConfigValue>
3261 {
3262 #[inline]
3263 fn from_wire_option_ref(
3264 wire: &crate::wire_optional::ConfigValue<'de>,
3265 ) -> ::core::option::Option<Self> {
3266 if let Some(inner) = wire.as_ref() {
3267 Some(Box::new(::fidl_next::FromWireRef::from_wire_ref(inner)))
3268 } else {
3269 None
3270 }
3271 }
3272 }
3273
3274 #[doc = " Declares a configuration capability.\n\n To learn more about configuration capabilities, see:\n https://fuchsia.dev/fuchsia-src/glossary#configuration-capability\n or:\n https://fuchsia.dev/fuchsia-src/docs/concepts/components/v2/capabilities/configuration\n"]
3275 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
3276 pub struct Configuration {
3277 pub name: ::core::option::Option<::std::string::String>,
3278
3279 pub value: ::core::option::Option<crate::natural::ConfigValue>,
3280 }
3281
3282 impl Configuration {
3283 fn __max_ordinal(&self) -> usize {
3284 if self.value.is_some() {
3285 return 2;
3286 }
3287
3288 if self.name.is_some() {
3289 return 1;
3290 }
3291
3292 0
3293 }
3294 }
3295
3296 unsafe impl<___E> ::fidl_next::Encode<crate::wire::Configuration<'static>, ___E> for Configuration
3297 where
3298 ___E: ::fidl_next::Encoder + ?Sized,
3299 {
3300 #[inline]
3301 fn encode(
3302 mut self,
3303 encoder: &mut ___E,
3304 out: &mut ::core::mem::MaybeUninit<crate::wire::Configuration<'static>>,
3305 _: (),
3306 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
3307 ::fidl_next::munge!(let crate::wire::Configuration { table } = out);
3308
3309 let max_ord = self.__max_ordinal();
3310
3311 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
3312 ::fidl_next::Wire::zero_padding(&mut out);
3313
3314 let mut preallocated =
3315 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
3316
3317 for i in 1..=max_ord {
3318 match i {
3319 2 => {
3320 if let Some(value) = self.value.take() {
3321 ::fidl_next::WireEnvelope::encode_value::<
3322 crate::wire::ConfigValue<'static>,
3323 ___E,
3324 >(
3325 value, preallocated.encoder, &mut out, ()
3326 )?;
3327 } else {
3328 ::fidl_next::WireEnvelope::encode_zero(&mut out)
3329 }
3330 }
3331
3332 1 => {
3333 if let Some(value) = self.name.take() {
3334 ::fidl_next::WireEnvelope::encode_value::<
3335 ::fidl_next::WireString<'static>,
3336 ___E,
3337 >(
3338 value, preallocated.encoder, &mut out, 100
3339 )?;
3340 } else {
3341 ::fidl_next::WireEnvelope::encode_zero(&mut out)
3342 }
3343 }
3344
3345 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
3346 }
3347 unsafe {
3348 preallocated.write_next(out.assume_init_ref());
3349 }
3350 }
3351
3352 ::fidl_next::WireTable::encode_len(table, max_ord);
3353
3354 Ok(())
3355 }
3356 }
3357
3358 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::Configuration<'static>, ___E>
3359 for &'a Configuration
3360 where
3361 ___E: ::fidl_next::Encoder + ?Sized,
3362 {
3363 #[inline]
3364 fn encode(
3365 self,
3366 encoder: &mut ___E,
3367 out: &mut ::core::mem::MaybeUninit<crate::wire::Configuration<'static>>,
3368 _: (),
3369 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
3370 ::fidl_next::munge!(let crate::wire::Configuration { table } = out);
3371
3372 let max_ord = self.__max_ordinal();
3373
3374 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
3375 ::fidl_next::Wire::zero_padding(&mut out);
3376
3377 let mut preallocated =
3378 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
3379
3380 for i in 1..=max_ord {
3381 match i {
3382 2 => {
3383 if let Some(value) = &self.value {
3384 ::fidl_next::WireEnvelope::encode_value::<
3385 crate::wire::ConfigValue<'static>,
3386 ___E,
3387 >(
3388 value, preallocated.encoder, &mut out, ()
3389 )?;
3390 } else {
3391 ::fidl_next::WireEnvelope::encode_zero(&mut out)
3392 }
3393 }
3394
3395 1 => {
3396 if let Some(value) = &self.name {
3397 ::fidl_next::WireEnvelope::encode_value::<
3398 ::fidl_next::WireString<'static>,
3399 ___E,
3400 >(
3401 value, preallocated.encoder, &mut out, 100
3402 )?;
3403 } else {
3404 ::fidl_next::WireEnvelope::encode_zero(&mut out)
3405 }
3406 }
3407
3408 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
3409 }
3410 unsafe {
3411 preallocated.write_next(out.assume_init_ref());
3412 }
3413 }
3414
3415 ::fidl_next::WireTable::encode_len(table, max_ord);
3416
3417 Ok(())
3418 }
3419 }
3420
3421 impl<'de> ::fidl_next::FromWire<crate::wire::Configuration<'de>> for Configuration {
3422 #[inline]
3423 fn from_wire(wire_: crate::wire::Configuration<'de>) -> Self {
3424 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
3425
3426 let name = wire_.table.get(1);
3427
3428 let value = wire_.table.get(2);
3429
3430 Self {
3431 name: name.map(|envelope| {
3432 ::fidl_next::FromWire::from_wire(unsafe {
3433 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
3434 })
3435 }),
3436
3437 value: value.map(|envelope| {
3438 ::fidl_next::FromWire::from_wire(unsafe {
3439 envelope.read_unchecked::<crate::wire::ConfigValue<'de>>()
3440 })
3441 }),
3442 }
3443 }
3444 }
3445
3446 impl<'de> ::fidl_next::FromWireRef<crate::wire::Configuration<'de>> for Configuration {
3447 #[inline]
3448 fn from_wire_ref(wire: &crate::wire::Configuration<'de>) -> Self {
3449 Self {
3450 name: wire.table.get(1).map(|envelope| {
3451 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
3452 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
3453 })
3454 }),
3455
3456 value: wire.table.get(2).map(|envelope| {
3457 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
3458 envelope.deref_unchecked::<crate::wire::ConfigValue<'de>>()
3459 })
3460 }),
3461 }
3462 }
3463 }
3464
3465 #[doc = " Path in a dictionary. The format is similar to a directory path, except no `.` or `..`.\n is allowed and each path segment must conform to the format of the `name` type.\n\n The \"dirname\" (first to the penultimate segment, or empty if there is one\n segment) represents a sequence of nested dictionaries.\n The \"basename\" (last segment) identifies a capability in the last nested\n dictionary.\n"]
3466 pub type DictionaryPath = ::std::string::String;
3467
3468 #[doc = " `DeliveryType` may be used when declaring a capability, and specifies under\n what conditions the framework will open the capability from the provider\n component\'s outgoing directory when there is a request for this capability.\n"]
3469 #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
3470 #[repr(u32)]
3471 pub enum DeliveryType {
3472 Immediate = 0,
3473 OnReadable = 1,
3474 UnknownOrdinal_(u32) = 2,
3475 }
3476 impl ::std::convert::From<u32> for DeliveryType {
3477 fn from(value: u32) -> Self {
3478 match value {
3479 0 => Self::Immediate,
3480 1 => Self::OnReadable,
3481
3482 _ => Self::UnknownOrdinal_(value),
3483 }
3484 }
3485 }
3486
3487 unsafe impl<___E> ::fidl_next::Encode<crate::wire::DeliveryType, ___E> for DeliveryType
3488 where
3489 ___E: ?Sized,
3490 {
3491 #[inline]
3492 fn encode(
3493 self,
3494 encoder: &mut ___E,
3495 out: &mut ::core::mem::MaybeUninit<crate::wire::DeliveryType>,
3496 _: (),
3497 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
3498 ::fidl_next::Encode::encode(&self, encoder, out, ())
3499 }
3500 }
3501
3502 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::DeliveryType, ___E> for &'a DeliveryType
3503 where
3504 ___E: ?Sized,
3505 {
3506 #[inline]
3507 fn encode(
3508 self,
3509 encoder: &mut ___E,
3510 out: &mut ::core::mem::MaybeUninit<crate::wire::DeliveryType>,
3511 _: (),
3512 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
3513 ::fidl_next::munge!(let crate::wire::DeliveryType { value } = out);
3514 let _ = value.write(::fidl_next::WireU32::from(match *self {
3515 DeliveryType::Immediate => 0,
3516
3517 DeliveryType::OnReadable => 1,
3518
3519 DeliveryType::UnknownOrdinal_(value) => value,
3520 }));
3521
3522 Ok(())
3523 }
3524 }
3525
3526 impl ::core::convert::From<crate::wire::DeliveryType> for DeliveryType {
3527 fn from(wire: crate::wire::DeliveryType) -> Self {
3528 match u32::from(wire.value) {
3529 0 => Self::Immediate,
3530
3531 1 => Self::OnReadable,
3532
3533 value => Self::UnknownOrdinal_(value),
3534 }
3535 }
3536 }
3537
3538 impl ::fidl_next::FromWire<crate::wire::DeliveryType> for DeliveryType {
3539 #[inline]
3540 fn from_wire(wire: crate::wire::DeliveryType) -> Self {
3541 Self::from(wire)
3542 }
3543 }
3544
3545 impl ::fidl_next::FromWireRef<crate::wire::DeliveryType> for DeliveryType {
3546 #[inline]
3547 fn from_wire_ref(wire: &crate::wire::DeliveryType) -> Self {
3548 Self::from(*wire)
3549 }
3550 }
3551
3552 #[doc = " Declares a protocol capability backed by this component.\n\n To learn more about protocols, see:\n https://fuchsia.dev/fuchsia-src/glossary#protocol\n"]
3553 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
3554 pub struct Protocol {
3555 pub name: ::core::option::Option<::std::string::String>,
3556
3557 pub source_path: ::core::option::Option<::std::string::String>,
3558
3559 pub delivery: ::core::option::Option<crate::natural::DeliveryType>,
3560 }
3561
3562 impl Protocol {
3563 fn __max_ordinal(&self) -> usize {
3564 if self.delivery.is_some() {
3565 return 3;
3566 }
3567
3568 if self.source_path.is_some() {
3569 return 2;
3570 }
3571
3572 if self.name.is_some() {
3573 return 1;
3574 }
3575
3576 0
3577 }
3578 }
3579
3580 unsafe impl<___E> ::fidl_next::Encode<crate::wire::Protocol<'static>, ___E> for Protocol
3581 where
3582 ___E: ::fidl_next::Encoder + ?Sized,
3583 {
3584 #[inline]
3585 fn encode(
3586 mut self,
3587 encoder: &mut ___E,
3588 out: &mut ::core::mem::MaybeUninit<crate::wire::Protocol<'static>>,
3589 _: (),
3590 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
3591 ::fidl_next::munge!(let crate::wire::Protocol { table } = out);
3592
3593 let max_ord = self.__max_ordinal();
3594
3595 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
3596 ::fidl_next::Wire::zero_padding(&mut out);
3597
3598 let mut preallocated =
3599 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
3600
3601 for i in 1..=max_ord {
3602 match i {
3603 3 => {
3604 if let Some(value) = self.delivery.take() {
3605 ::fidl_next::WireEnvelope::encode_value::<
3606 crate::wire::DeliveryType,
3607 ___E,
3608 >(
3609 value, preallocated.encoder, &mut out, ()
3610 )?;
3611 } else {
3612 ::fidl_next::WireEnvelope::encode_zero(&mut out)
3613 }
3614 }
3615
3616 2 => {
3617 if let Some(value) = self.source_path.take() {
3618 ::fidl_next::WireEnvelope::encode_value::<
3619 ::fidl_next::WireString<'static>,
3620 ___E,
3621 >(
3622 value, preallocated.encoder, &mut out, 1024
3623 )?;
3624 } else {
3625 ::fidl_next::WireEnvelope::encode_zero(&mut out)
3626 }
3627 }
3628
3629 1 => {
3630 if let Some(value) = self.name.take() {
3631 ::fidl_next::WireEnvelope::encode_value::<
3632 ::fidl_next::WireString<'static>,
3633 ___E,
3634 >(
3635 value, preallocated.encoder, &mut out, 100
3636 )?;
3637 } else {
3638 ::fidl_next::WireEnvelope::encode_zero(&mut out)
3639 }
3640 }
3641
3642 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
3643 }
3644 unsafe {
3645 preallocated.write_next(out.assume_init_ref());
3646 }
3647 }
3648
3649 ::fidl_next::WireTable::encode_len(table, max_ord);
3650
3651 Ok(())
3652 }
3653 }
3654
3655 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::Protocol<'static>, ___E> for &'a Protocol
3656 where
3657 ___E: ::fidl_next::Encoder + ?Sized,
3658 {
3659 #[inline]
3660 fn encode(
3661 self,
3662 encoder: &mut ___E,
3663 out: &mut ::core::mem::MaybeUninit<crate::wire::Protocol<'static>>,
3664 _: (),
3665 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
3666 ::fidl_next::munge!(let crate::wire::Protocol { table } = out);
3667
3668 let max_ord = self.__max_ordinal();
3669
3670 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
3671 ::fidl_next::Wire::zero_padding(&mut out);
3672
3673 let mut preallocated =
3674 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
3675
3676 for i in 1..=max_ord {
3677 match i {
3678 3 => {
3679 if let Some(value) = &self.delivery {
3680 ::fidl_next::WireEnvelope::encode_value::<
3681 crate::wire::DeliveryType,
3682 ___E,
3683 >(
3684 value, preallocated.encoder, &mut out, ()
3685 )?;
3686 } else {
3687 ::fidl_next::WireEnvelope::encode_zero(&mut out)
3688 }
3689 }
3690
3691 2 => {
3692 if let Some(value) = &self.source_path {
3693 ::fidl_next::WireEnvelope::encode_value::<
3694 ::fidl_next::WireString<'static>,
3695 ___E,
3696 >(
3697 value, preallocated.encoder, &mut out, 1024
3698 )?;
3699 } else {
3700 ::fidl_next::WireEnvelope::encode_zero(&mut out)
3701 }
3702 }
3703
3704 1 => {
3705 if let Some(value) = &self.name {
3706 ::fidl_next::WireEnvelope::encode_value::<
3707 ::fidl_next::WireString<'static>,
3708 ___E,
3709 >(
3710 value, preallocated.encoder, &mut out, 100
3711 )?;
3712 } else {
3713 ::fidl_next::WireEnvelope::encode_zero(&mut out)
3714 }
3715 }
3716
3717 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
3718 }
3719 unsafe {
3720 preallocated.write_next(out.assume_init_ref());
3721 }
3722 }
3723
3724 ::fidl_next::WireTable::encode_len(table, max_ord);
3725
3726 Ok(())
3727 }
3728 }
3729
3730 impl<'de> ::fidl_next::FromWire<crate::wire::Protocol<'de>> for Protocol {
3731 #[inline]
3732 fn from_wire(wire_: crate::wire::Protocol<'de>) -> Self {
3733 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
3734
3735 let name = wire_.table.get(1);
3736
3737 let source_path = wire_.table.get(2);
3738
3739 let delivery = wire_.table.get(3);
3740
3741 Self {
3742 name: name.map(|envelope| {
3743 ::fidl_next::FromWire::from_wire(unsafe {
3744 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
3745 })
3746 }),
3747
3748 source_path: source_path.map(|envelope| {
3749 ::fidl_next::FromWire::from_wire(unsafe {
3750 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
3751 })
3752 }),
3753
3754 delivery: delivery.map(|envelope| {
3755 ::fidl_next::FromWire::from_wire(unsafe {
3756 envelope.read_unchecked::<crate::wire::DeliveryType>()
3757 })
3758 }),
3759 }
3760 }
3761 }
3762
3763 impl<'de> ::fidl_next::FromWireRef<crate::wire::Protocol<'de>> for Protocol {
3764 #[inline]
3765 fn from_wire_ref(wire: &crate::wire::Protocol<'de>) -> Self {
3766 Self {
3767 name: wire.table.get(1).map(|envelope| {
3768 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
3769 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
3770 })
3771 }),
3772
3773 source_path: wire.table.get(2).map(|envelope| {
3774 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
3775 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
3776 })
3777 }),
3778
3779 delivery: wire.table.get(3).map(|envelope| {
3780 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
3781 envelope.deref_unchecked::<crate::wire::DeliveryType>()
3782 })
3783 }),
3784 }
3785 }
3786 }
3787
3788 #[doc = " A reference to the environment.\n"]
3789 #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
3790 #[repr(C)]
3791 pub struct EnvironmentRef {}
3792
3793 unsafe impl<___E> ::fidl_next::Encode<crate::wire::EnvironmentRef, ___E> for EnvironmentRef
3794 where
3795 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
3796 {
3797 #[inline]
3798 fn encode(
3799 self,
3800 encoder_: &mut ___E,
3801 out_: &mut ::core::mem::MaybeUninit<crate::wire::EnvironmentRef>,
3802 _: (),
3803 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
3804 *out_ = ::core::mem::MaybeUninit::zeroed();
3805
3806 Ok(())
3807 }
3808 }
3809
3810 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::EnvironmentRef, ___E> for &'a EnvironmentRef
3811 where
3812 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
3813 {
3814 #[inline]
3815 fn encode(
3816 self,
3817 encoder_: &mut ___E,
3818 out_: &mut ::core::mem::MaybeUninit<crate::wire::EnvironmentRef>,
3819 _: (),
3820 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
3821 ::fidl_next::munge! {
3822 let crate::wire::EnvironmentRef {
3823
3824 _empty,
3825
3826
3827 } = out_;
3828 }
3829
3830 Ok(())
3831 }
3832 }
3833
3834 unsafe impl<___E>
3835 ::fidl_next::EncodeOption<::fidl_next::WireBox<'static, crate::wire::EnvironmentRef>, ___E>
3836 for EnvironmentRef
3837 where
3838 ___E: ::fidl_next::Encoder + ?Sized,
3839 EnvironmentRef: ::fidl_next::Encode<crate::wire::EnvironmentRef, ___E>,
3840 {
3841 #[inline]
3842 fn encode_option(
3843 this: ::core::option::Option<Self>,
3844 encoder: &mut ___E,
3845 out: &mut ::core::mem::MaybeUninit<
3846 ::fidl_next::WireBox<'static, crate::wire::EnvironmentRef>,
3847 >,
3848 _: (),
3849 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
3850 if let Some(inner) = this {
3851 ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
3852 ::fidl_next::WireBox::encode_present(out);
3853 } else {
3854 ::fidl_next::WireBox::encode_absent(out);
3855 }
3856
3857 Ok(())
3858 }
3859 }
3860
3861 unsafe impl<'a, ___E>
3862 ::fidl_next::EncodeOption<::fidl_next::WireBox<'static, crate::wire::EnvironmentRef>, ___E>
3863 for &'a EnvironmentRef
3864 where
3865 ___E: ::fidl_next::Encoder + ?Sized,
3866 &'a EnvironmentRef: ::fidl_next::Encode<crate::wire::EnvironmentRef, ___E>,
3867 {
3868 #[inline]
3869 fn encode_option(
3870 this: ::core::option::Option<Self>,
3871 encoder: &mut ___E,
3872 out: &mut ::core::mem::MaybeUninit<
3873 ::fidl_next::WireBox<'static, crate::wire::EnvironmentRef>,
3874 >,
3875 _: (),
3876 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
3877 if let Some(inner) = this {
3878 ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
3879 ::fidl_next::WireBox::encode_present(out);
3880 } else {
3881 ::fidl_next::WireBox::encode_absent(out);
3882 }
3883
3884 Ok(())
3885 }
3886 }
3887
3888 impl ::fidl_next::FromWire<crate::wire::EnvironmentRef> for EnvironmentRef {
3889 const COPY_OPTIMIZATION: ::fidl_next::CopyOptimization<crate::wire::EnvironmentRef, Self> =
3890 unsafe { ::fidl_next::CopyOptimization::enable_if(true) };
3891
3892 #[inline]
3893 fn from_wire(wire: crate::wire::EnvironmentRef) -> Self {
3894 Self {}
3895 }
3896 }
3897
3898 impl ::fidl_next::FromWireRef<crate::wire::EnvironmentRef> for EnvironmentRef {
3899 #[inline]
3900 fn from_wire_ref(wire: &crate::wire::EnvironmentRef) -> Self {
3901 Self {}
3902 }
3903 }
3904
3905 #[doc = " A reference to a capability source or destination relative to this\n component.\n"]
3906 #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
3907 pub enum Ref {
3908 Parent(crate::natural::ParentRef),
3909
3910 Self_(crate::natural::SelfRef),
3911
3912 Child(crate::natural::ChildRef),
3913
3914 Collection(crate::natural::CollectionRef),
3915
3916 Framework(crate::natural::FrameworkRef),
3917
3918 Capability(crate::natural::CapabilityRef),
3919
3920 Debug(crate::natural::DebugRef),
3921
3922 VoidType(crate::natural::VoidRef),
3923
3924 Environment(crate::natural::EnvironmentRef),
3925
3926 UnknownOrdinal_(u64),
3927 }
3928
3929 impl Ref {
3930 pub fn is_unknown(&self) -> bool {
3931 #[allow(unreachable_patterns)]
3932 match self {
3933 Self::UnknownOrdinal_(_) => true,
3934 _ => false,
3935 }
3936 }
3937 }
3938
3939 unsafe impl<___E> ::fidl_next::Encode<crate::wire::Ref<'static>, ___E> for Ref
3940 where
3941 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
3942 ___E: ::fidl_next::Encoder,
3943 {
3944 #[inline]
3945 fn encode(
3946 self,
3947 encoder: &mut ___E,
3948 out: &mut ::core::mem::MaybeUninit<crate::wire::Ref<'static>>,
3949 _: (),
3950 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
3951 ::fidl_next::munge!(let crate::wire::Ref { raw, _phantom: _ } = out);
3952
3953 match self {
3954 Self::Parent(value) => ::fidl_next::RawWireUnion::encode_as::<
3955 ___E,
3956 crate::wire::ParentRef,
3957 >(value, 1, encoder, raw, ())?,
3958
3959 Self::Self_(value) => ::fidl_next::RawWireUnion::encode_as::<
3960 ___E,
3961 crate::wire::SelfRef,
3962 >(value, 2, encoder, raw, ())?,
3963
3964 Self::Child(value) => ::fidl_next::RawWireUnion::encode_as::<
3965 ___E,
3966 crate::wire::ChildRef<'static>,
3967 >(value, 3, encoder, raw, ())?,
3968
3969 Self::Collection(value) => ::fidl_next::RawWireUnion::encode_as::<
3970 ___E,
3971 crate::wire::CollectionRef<'static>,
3972 >(value, 4, encoder, raw, ())?,
3973
3974 Self::Framework(value) => ::fidl_next::RawWireUnion::encode_as::<
3975 ___E,
3976 crate::wire::FrameworkRef,
3977 >(value, 5, encoder, raw, ())?,
3978
3979 Self::Capability(value) => ::fidl_next::RawWireUnion::encode_as::<
3980 ___E,
3981 crate::wire::CapabilityRef<'static>,
3982 >(value, 6, encoder, raw, ())?,
3983
3984 Self::Debug(value) => ::fidl_next::RawWireUnion::encode_as::<
3985 ___E,
3986 crate::wire::DebugRef,
3987 >(value, 7, encoder, raw, ())?,
3988
3989 Self::VoidType(value) => ::fidl_next::RawWireUnion::encode_as::<
3990 ___E,
3991 crate::wire::VoidRef,
3992 >(value, 8, encoder, raw, ())?,
3993
3994 Self::Environment(value) => ::fidl_next::RawWireUnion::encode_as::<
3995 ___E,
3996 crate::wire::EnvironmentRef,
3997 >(value, 9, encoder, raw, ())?,
3998
3999 Self::UnknownOrdinal_(ordinal) => {
4000 return Err(::fidl_next::EncodeError::UnknownUnionOrdinal(ordinal as usize));
4001 }
4002 }
4003
4004 Ok(())
4005 }
4006 }
4007
4008 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::Ref<'static>, ___E> for &'a Ref
4009 where
4010 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
4011 ___E: ::fidl_next::Encoder,
4012 {
4013 #[inline]
4014 fn encode(
4015 self,
4016 encoder: &mut ___E,
4017 out: &mut ::core::mem::MaybeUninit<crate::wire::Ref<'static>>,
4018 _: (),
4019 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
4020 ::fidl_next::munge!(let crate::wire::Ref { raw, _phantom: _ } = out);
4021
4022 match self {
4023 Ref::Parent(value) => ::fidl_next::RawWireUnion::encode_as::<
4024 ___E,
4025 crate::wire::ParentRef,
4026 >(value, 1, encoder, raw, ())?,
4027
4028 Ref::Self_(value) => ::fidl_next::RawWireUnion::encode_as::<
4029 ___E,
4030 crate::wire::SelfRef,
4031 >(value, 2, encoder, raw, ())?,
4032
4033 Ref::Child(value) => ::fidl_next::RawWireUnion::encode_as::<
4034 ___E,
4035 crate::wire::ChildRef<'static>,
4036 >(value, 3, encoder, raw, ())?,
4037
4038 Ref::Collection(value) => ::fidl_next::RawWireUnion::encode_as::<
4039 ___E,
4040 crate::wire::CollectionRef<'static>,
4041 >(value, 4, encoder, raw, ())?,
4042
4043 Ref::Framework(value) => ::fidl_next::RawWireUnion::encode_as::<
4044 ___E,
4045 crate::wire::FrameworkRef,
4046 >(value, 5, encoder, raw, ())?,
4047
4048 Ref::Capability(value) => ::fidl_next::RawWireUnion::encode_as::<
4049 ___E,
4050 crate::wire::CapabilityRef<'static>,
4051 >(value, 6, encoder, raw, ())?,
4052
4053 Ref::Debug(value) => ::fidl_next::RawWireUnion::encode_as::<
4054 ___E,
4055 crate::wire::DebugRef,
4056 >(value, 7, encoder, raw, ())?,
4057
4058 Ref::VoidType(value) => ::fidl_next::RawWireUnion::encode_as::<
4059 ___E,
4060 crate::wire::VoidRef,
4061 >(value, 8, encoder, raw, ())?,
4062
4063 Ref::Environment(value) => ::fidl_next::RawWireUnion::encode_as::<
4064 ___E,
4065 crate::wire::EnvironmentRef,
4066 >(value, 9, encoder, raw, ())?,
4067
4068 Ref::UnknownOrdinal_(ordinal) => {
4069 return Err(::fidl_next::EncodeError::UnknownUnionOrdinal(*ordinal as usize));
4070 }
4071 }
4072
4073 Ok(())
4074 }
4075 }
4076
4077 unsafe impl<___E> ::fidl_next::EncodeOption<crate::wire_optional::Ref<'static>, ___E> for Ref
4078 where
4079 ___E: ?Sized,
4080 Ref: ::fidl_next::Encode<crate::wire::Ref<'static>, ___E>,
4081 {
4082 #[inline]
4083 fn encode_option(
4084 this: ::core::option::Option<Self>,
4085 encoder: &mut ___E,
4086 out: &mut ::core::mem::MaybeUninit<crate::wire_optional::Ref<'static>>,
4087 _: (),
4088 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
4089 ::fidl_next::munge!(let crate::wire_optional::Ref { raw, _phantom: _ } = &mut *out);
4090
4091 if let Some(inner) = this {
4092 let value_out = unsafe { &mut *out.as_mut_ptr().cast() };
4093 ::fidl_next::Encode::encode(inner, encoder, value_out, ())?;
4094 } else {
4095 ::fidl_next::RawWireUnion::encode_absent(raw);
4096 }
4097
4098 Ok(())
4099 }
4100 }
4101
4102 unsafe impl<'a, ___E> ::fidl_next::EncodeOption<crate::wire_optional::Ref<'static>, ___E>
4103 for &'a Ref
4104 where
4105 ___E: ?Sized,
4106 &'a Ref: ::fidl_next::Encode<crate::wire::Ref<'static>, ___E>,
4107 {
4108 #[inline]
4109 fn encode_option(
4110 this: ::core::option::Option<Self>,
4111 encoder: &mut ___E,
4112 out: &mut ::core::mem::MaybeUninit<crate::wire_optional::Ref<'static>>,
4113 _: (),
4114 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
4115 ::fidl_next::munge!(let crate::wire_optional::Ref { raw, _phantom: _ } = &mut *out);
4116
4117 if let Some(inner) = this {
4118 let value_out = unsafe { &mut *out.as_mut_ptr().cast() };
4119 ::fidl_next::Encode::encode(inner, encoder, value_out, ())?;
4120 } else {
4121 ::fidl_next::RawWireUnion::encode_absent(raw);
4122 }
4123
4124 Ok(())
4125 }
4126 }
4127
4128 impl<'de> ::fidl_next::FromWire<crate::wire::Ref<'de>> for Ref {
4129 #[inline]
4130 fn from_wire(wire: crate::wire::Ref<'de>) -> Self {
4131 let wire = ::core::mem::ManuallyDrop::new(wire);
4132 match wire.raw.ordinal() {
4133 1 => Self::Parent(::fidl_next::FromWire::from_wire(unsafe {
4134 wire.raw.get().read_unchecked::<crate::wire::ParentRef>()
4135 })),
4136
4137 2 => Self::Self_(::fidl_next::FromWire::from_wire(unsafe {
4138 wire.raw.get().read_unchecked::<crate::wire::SelfRef>()
4139 })),
4140
4141 3 => Self::Child(::fidl_next::FromWire::from_wire(unsafe {
4142 wire.raw.get().read_unchecked::<crate::wire::ChildRef<'de>>()
4143 })),
4144
4145 4 => Self::Collection(::fidl_next::FromWire::from_wire(unsafe {
4146 wire.raw.get().read_unchecked::<crate::wire::CollectionRef<'de>>()
4147 })),
4148
4149 5 => Self::Framework(::fidl_next::FromWire::from_wire(unsafe {
4150 wire.raw.get().read_unchecked::<crate::wire::FrameworkRef>()
4151 })),
4152
4153 6 => Self::Capability(::fidl_next::FromWire::from_wire(unsafe {
4154 wire.raw.get().read_unchecked::<crate::wire::CapabilityRef<'de>>()
4155 })),
4156
4157 7 => Self::Debug(::fidl_next::FromWire::from_wire(unsafe {
4158 wire.raw.get().read_unchecked::<crate::wire::DebugRef>()
4159 })),
4160
4161 8 => Self::VoidType(::fidl_next::FromWire::from_wire(unsafe {
4162 wire.raw.get().read_unchecked::<crate::wire::VoidRef>()
4163 })),
4164
4165 9 => Self::Environment(::fidl_next::FromWire::from_wire(unsafe {
4166 wire.raw.get().read_unchecked::<crate::wire::EnvironmentRef>()
4167 })),
4168
4169 ord => return Self::UnknownOrdinal_(ord as u64),
4170 }
4171 }
4172 }
4173
4174 impl<'de> ::fidl_next::FromWireRef<crate::wire::Ref<'de>> for Ref {
4175 #[inline]
4176 fn from_wire_ref(wire: &crate::wire::Ref<'de>) -> Self {
4177 match wire.raw.ordinal() {
4178 1 => Self::Parent(::fidl_next::FromWireRef::from_wire_ref(unsafe {
4179 wire.raw.get().deref_unchecked::<crate::wire::ParentRef>()
4180 })),
4181
4182 2 => Self::Self_(::fidl_next::FromWireRef::from_wire_ref(unsafe {
4183 wire.raw.get().deref_unchecked::<crate::wire::SelfRef>()
4184 })),
4185
4186 3 => Self::Child(::fidl_next::FromWireRef::from_wire_ref(unsafe {
4187 wire.raw.get().deref_unchecked::<crate::wire::ChildRef<'de>>()
4188 })),
4189
4190 4 => Self::Collection(::fidl_next::FromWireRef::from_wire_ref(unsafe {
4191 wire.raw.get().deref_unchecked::<crate::wire::CollectionRef<'de>>()
4192 })),
4193
4194 5 => Self::Framework(::fidl_next::FromWireRef::from_wire_ref(unsafe {
4195 wire.raw.get().deref_unchecked::<crate::wire::FrameworkRef>()
4196 })),
4197
4198 6 => Self::Capability(::fidl_next::FromWireRef::from_wire_ref(unsafe {
4199 wire.raw.get().deref_unchecked::<crate::wire::CapabilityRef<'de>>()
4200 })),
4201
4202 7 => Self::Debug(::fidl_next::FromWireRef::from_wire_ref(unsafe {
4203 wire.raw.get().deref_unchecked::<crate::wire::DebugRef>()
4204 })),
4205
4206 8 => Self::VoidType(::fidl_next::FromWireRef::from_wire_ref(unsafe {
4207 wire.raw.get().deref_unchecked::<crate::wire::VoidRef>()
4208 })),
4209
4210 9 => Self::Environment(::fidl_next::FromWireRef::from_wire_ref(unsafe {
4211 wire.raw.get().deref_unchecked::<crate::wire::EnvironmentRef>()
4212 })),
4213
4214 ord => return Self::UnknownOrdinal_(ord as u64),
4215 }
4216 }
4217 }
4218
4219 impl<'de> ::fidl_next::FromWireOption<crate::wire_optional::Ref<'de>> for Ref {
4220 #[inline]
4221 fn from_wire_option(wire: crate::wire_optional::Ref<'de>) -> ::core::option::Option<Self> {
4222 if let Some(inner) = wire.into_option() {
4223 Some(::fidl_next::FromWire::from_wire(inner))
4224 } else {
4225 None
4226 }
4227 }
4228 }
4229
4230 impl<'de> ::fidl_next::FromWireOption<crate::wire_optional::Ref<'de>> for Box<Ref> {
4231 #[inline]
4232 fn from_wire_option(wire: crate::wire_optional::Ref<'de>) -> ::core::option::Option<Self> {
4233 <Ref as ::fidl_next::FromWireOption<crate::wire_optional::Ref<'de>>>::from_wire_option(
4234 wire,
4235 )
4236 .map(Box::new)
4237 }
4238 }
4239
4240 impl<'de> ::fidl_next::FromWireOptionRef<crate::wire_optional::Ref<'de>> for Box<Ref> {
4241 #[inline]
4242 fn from_wire_option_ref(
4243 wire: &crate::wire_optional::Ref<'de>,
4244 ) -> ::core::option::Option<Self> {
4245 if let Some(inner) = wire.as_ref() {
4246 Some(Box::new(::fidl_next::FromWireRef::from_wire_ref(inner)))
4247 } else {
4248 None
4249 }
4250 }
4251 }
4252
4253 #[doc = " Declares a storage capability backed by a directory from which data, cache,\n or meta storage can be offered.\n"]
4254 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
4255 pub struct Storage {
4256 pub name: ::core::option::Option<::std::string::String>,
4257
4258 pub source: ::core::option::Option<crate::natural::Ref>,
4259
4260 pub backing_dir: ::core::option::Option<::std::string::String>,
4261
4262 pub subdir: ::core::option::Option<::std::string::String>,
4263
4264 pub storage_id: ::core::option::Option<crate::natural::StorageId>,
4265 }
4266
4267 impl Storage {
4268 fn __max_ordinal(&self) -> usize {
4269 if self.storage_id.is_some() {
4270 return 5;
4271 }
4272
4273 if self.subdir.is_some() {
4274 return 4;
4275 }
4276
4277 if self.backing_dir.is_some() {
4278 return 3;
4279 }
4280
4281 if self.source.is_some() {
4282 return 2;
4283 }
4284
4285 if self.name.is_some() {
4286 return 1;
4287 }
4288
4289 0
4290 }
4291 }
4292
4293 unsafe impl<___E> ::fidl_next::Encode<crate::wire::Storage<'static>, ___E> for Storage
4294 where
4295 ___E: ::fidl_next::Encoder + ?Sized,
4296 {
4297 #[inline]
4298 fn encode(
4299 mut self,
4300 encoder: &mut ___E,
4301 out: &mut ::core::mem::MaybeUninit<crate::wire::Storage<'static>>,
4302 _: (),
4303 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
4304 ::fidl_next::munge!(let crate::wire::Storage { table } = out);
4305
4306 let max_ord = self.__max_ordinal();
4307
4308 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
4309 ::fidl_next::Wire::zero_padding(&mut out);
4310
4311 let mut preallocated =
4312 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
4313
4314 for i in 1..=max_ord {
4315 match i {
4316 5 => {
4317 if let Some(value) = self.storage_id.take() {
4318 ::fidl_next::WireEnvelope::encode_value::<crate::wire::StorageId, ___E>(
4319 value,
4320 preallocated.encoder,
4321 &mut out,
4322 (),
4323 )?;
4324 } else {
4325 ::fidl_next::WireEnvelope::encode_zero(&mut out)
4326 }
4327 }
4328
4329 4 => {
4330 if let Some(value) = self.subdir.take() {
4331 ::fidl_next::WireEnvelope::encode_value::<
4332 ::fidl_next::WireString<'static>,
4333 ___E,
4334 >(
4335 value, preallocated.encoder, &mut out, 1024
4336 )?;
4337 } else {
4338 ::fidl_next::WireEnvelope::encode_zero(&mut out)
4339 }
4340 }
4341
4342 3 => {
4343 if let Some(value) = self.backing_dir.take() {
4344 ::fidl_next::WireEnvelope::encode_value::<
4345 ::fidl_next::WireString<'static>,
4346 ___E,
4347 >(
4348 value, preallocated.encoder, &mut out, 100
4349 )?;
4350 } else {
4351 ::fidl_next::WireEnvelope::encode_zero(&mut out)
4352 }
4353 }
4354
4355 2 => {
4356 if let Some(value) = self.source.take() {
4357 ::fidl_next::WireEnvelope::encode_value::<
4358 crate::wire::Ref<'static>,
4359 ___E,
4360 >(
4361 value, preallocated.encoder, &mut out, ()
4362 )?;
4363 } else {
4364 ::fidl_next::WireEnvelope::encode_zero(&mut out)
4365 }
4366 }
4367
4368 1 => {
4369 if let Some(value) = self.name.take() {
4370 ::fidl_next::WireEnvelope::encode_value::<
4371 ::fidl_next::WireString<'static>,
4372 ___E,
4373 >(
4374 value, preallocated.encoder, &mut out, 100
4375 )?;
4376 } else {
4377 ::fidl_next::WireEnvelope::encode_zero(&mut out)
4378 }
4379 }
4380
4381 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
4382 }
4383 unsafe {
4384 preallocated.write_next(out.assume_init_ref());
4385 }
4386 }
4387
4388 ::fidl_next::WireTable::encode_len(table, max_ord);
4389
4390 Ok(())
4391 }
4392 }
4393
4394 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::Storage<'static>, ___E> for &'a Storage
4395 where
4396 ___E: ::fidl_next::Encoder + ?Sized,
4397 {
4398 #[inline]
4399 fn encode(
4400 self,
4401 encoder: &mut ___E,
4402 out: &mut ::core::mem::MaybeUninit<crate::wire::Storage<'static>>,
4403 _: (),
4404 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
4405 ::fidl_next::munge!(let crate::wire::Storage { table } = out);
4406
4407 let max_ord = self.__max_ordinal();
4408
4409 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
4410 ::fidl_next::Wire::zero_padding(&mut out);
4411
4412 let mut preallocated =
4413 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
4414
4415 for i in 1..=max_ord {
4416 match i {
4417 5 => {
4418 if let Some(value) = &self.storage_id {
4419 ::fidl_next::WireEnvelope::encode_value::<crate::wire::StorageId, ___E>(
4420 value,
4421 preallocated.encoder,
4422 &mut out,
4423 (),
4424 )?;
4425 } else {
4426 ::fidl_next::WireEnvelope::encode_zero(&mut out)
4427 }
4428 }
4429
4430 4 => {
4431 if let Some(value) = &self.subdir {
4432 ::fidl_next::WireEnvelope::encode_value::<
4433 ::fidl_next::WireString<'static>,
4434 ___E,
4435 >(
4436 value, preallocated.encoder, &mut out, 1024
4437 )?;
4438 } else {
4439 ::fidl_next::WireEnvelope::encode_zero(&mut out)
4440 }
4441 }
4442
4443 3 => {
4444 if let Some(value) = &self.backing_dir {
4445 ::fidl_next::WireEnvelope::encode_value::<
4446 ::fidl_next::WireString<'static>,
4447 ___E,
4448 >(
4449 value, preallocated.encoder, &mut out, 100
4450 )?;
4451 } else {
4452 ::fidl_next::WireEnvelope::encode_zero(&mut out)
4453 }
4454 }
4455
4456 2 => {
4457 if let Some(value) = &self.source {
4458 ::fidl_next::WireEnvelope::encode_value::<
4459 crate::wire::Ref<'static>,
4460 ___E,
4461 >(
4462 value, preallocated.encoder, &mut out, ()
4463 )?;
4464 } else {
4465 ::fidl_next::WireEnvelope::encode_zero(&mut out)
4466 }
4467 }
4468
4469 1 => {
4470 if let Some(value) = &self.name {
4471 ::fidl_next::WireEnvelope::encode_value::<
4472 ::fidl_next::WireString<'static>,
4473 ___E,
4474 >(
4475 value, preallocated.encoder, &mut out, 100
4476 )?;
4477 } else {
4478 ::fidl_next::WireEnvelope::encode_zero(&mut out)
4479 }
4480 }
4481
4482 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
4483 }
4484 unsafe {
4485 preallocated.write_next(out.assume_init_ref());
4486 }
4487 }
4488
4489 ::fidl_next::WireTable::encode_len(table, max_ord);
4490
4491 Ok(())
4492 }
4493 }
4494
4495 impl<'de> ::fidl_next::FromWire<crate::wire::Storage<'de>> for Storage {
4496 #[inline]
4497 fn from_wire(wire_: crate::wire::Storage<'de>) -> Self {
4498 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
4499
4500 let name = wire_.table.get(1);
4501
4502 let source = wire_.table.get(2);
4503
4504 let backing_dir = wire_.table.get(3);
4505
4506 let subdir = wire_.table.get(4);
4507
4508 let storage_id = wire_.table.get(5);
4509
4510 Self {
4511 name: name.map(|envelope| {
4512 ::fidl_next::FromWire::from_wire(unsafe {
4513 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
4514 })
4515 }),
4516
4517 source: source.map(|envelope| {
4518 ::fidl_next::FromWire::from_wire(unsafe {
4519 envelope.read_unchecked::<crate::wire::Ref<'de>>()
4520 })
4521 }),
4522
4523 backing_dir: backing_dir.map(|envelope| {
4524 ::fidl_next::FromWire::from_wire(unsafe {
4525 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
4526 })
4527 }),
4528
4529 subdir: subdir.map(|envelope| {
4530 ::fidl_next::FromWire::from_wire(unsafe {
4531 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
4532 })
4533 }),
4534
4535 storage_id: storage_id.map(|envelope| {
4536 ::fidl_next::FromWire::from_wire(unsafe {
4537 envelope.read_unchecked::<crate::wire::StorageId>()
4538 })
4539 }),
4540 }
4541 }
4542 }
4543
4544 impl<'de> ::fidl_next::FromWireRef<crate::wire::Storage<'de>> for Storage {
4545 #[inline]
4546 fn from_wire_ref(wire: &crate::wire::Storage<'de>) -> Self {
4547 Self {
4548 name: wire.table.get(1).map(|envelope| {
4549 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
4550 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
4551 })
4552 }),
4553
4554 source: wire.table.get(2).map(|envelope| {
4555 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
4556 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
4557 })
4558 }),
4559
4560 backing_dir: wire.table.get(3).map(|envelope| {
4561 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
4562 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
4563 })
4564 }),
4565
4566 subdir: wire.table.get(4).map(|envelope| {
4567 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
4568 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
4569 })
4570 }),
4571
4572 storage_id: wire.table.get(5).map(|envelope| {
4573 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
4574 envelope.deref_unchecked::<crate::wire::StorageId>()
4575 })
4576 }),
4577 }
4578 }
4579 }
4580
4581 #[doc = " Declares a dictionary capability.\n"]
4582 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
4583 pub struct Dictionary {
4584 pub name: ::core::option::Option<::std::string::String>,
4585
4586 pub source: ::core::option::Option<crate::natural::Ref>,
4587
4588 pub source_dictionary: ::core::option::Option<::std::string::String>,
4589
4590 pub source_path: ::core::option::Option<::std::string::String>,
4591 }
4592
4593 impl Dictionary {
4594 fn __max_ordinal(&self) -> usize {
4595 if self.source_path.is_some() {
4596 return 4;
4597 }
4598
4599 if self.source_dictionary.is_some() {
4600 return 3;
4601 }
4602
4603 if self.source.is_some() {
4604 return 2;
4605 }
4606
4607 if self.name.is_some() {
4608 return 1;
4609 }
4610
4611 0
4612 }
4613 }
4614
4615 unsafe impl<___E> ::fidl_next::Encode<crate::wire::Dictionary<'static>, ___E> for Dictionary
4616 where
4617 ___E: ::fidl_next::Encoder + ?Sized,
4618 {
4619 #[inline]
4620 fn encode(
4621 mut self,
4622 encoder: &mut ___E,
4623 out: &mut ::core::mem::MaybeUninit<crate::wire::Dictionary<'static>>,
4624 _: (),
4625 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
4626 ::fidl_next::munge!(let crate::wire::Dictionary { table } = out);
4627
4628 let max_ord = self.__max_ordinal();
4629
4630 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
4631 ::fidl_next::Wire::zero_padding(&mut out);
4632
4633 let mut preallocated =
4634 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
4635
4636 for i in 1..=max_ord {
4637 match i {
4638 4 => {
4639 if let Some(value) = self.source_path.take() {
4640 ::fidl_next::WireEnvelope::encode_value::<
4641 ::fidl_next::WireString<'static>,
4642 ___E,
4643 >(
4644 value, preallocated.encoder, &mut out, 1024
4645 )?;
4646 } else {
4647 ::fidl_next::WireEnvelope::encode_zero(&mut out)
4648 }
4649 }
4650
4651 3 => {
4652 if let Some(value) = self.source_dictionary.take() {
4653 ::fidl_next::WireEnvelope::encode_value::<
4654 ::fidl_next::WireString<'static>,
4655 ___E,
4656 >(
4657 value, preallocated.encoder, &mut out, 1024
4658 )?;
4659 } else {
4660 ::fidl_next::WireEnvelope::encode_zero(&mut out)
4661 }
4662 }
4663
4664 2 => {
4665 if let Some(value) = self.source.take() {
4666 ::fidl_next::WireEnvelope::encode_value::<
4667 crate::wire::Ref<'static>,
4668 ___E,
4669 >(
4670 value, preallocated.encoder, &mut out, ()
4671 )?;
4672 } else {
4673 ::fidl_next::WireEnvelope::encode_zero(&mut out)
4674 }
4675 }
4676
4677 1 => {
4678 if let Some(value) = self.name.take() {
4679 ::fidl_next::WireEnvelope::encode_value::<
4680 ::fidl_next::WireString<'static>,
4681 ___E,
4682 >(
4683 value, preallocated.encoder, &mut out, 100
4684 )?;
4685 } else {
4686 ::fidl_next::WireEnvelope::encode_zero(&mut out)
4687 }
4688 }
4689
4690 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
4691 }
4692 unsafe {
4693 preallocated.write_next(out.assume_init_ref());
4694 }
4695 }
4696
4697 ::fidl_next::WireTable::encode_len(table, max_ord);
4698
4699 Ok(())
4700 }
4701 }
4702
4703 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::Dictionary<'static>, ___E> for &'a Dictionary
4704 where
4705 ___E: ::fidl_next::Encoder + ?Sized,
4706 {
4707 #[inline]
4708 fn encode(
4709 self,
4710 encoder: &mut ___E,
4711 out: &mut ::core::mem::MaybeUninit<crate::wire::Dictionary<'static>>,
4712 _: (),
4713 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
4714 ::fidl_next::munge!(let crate::wire::Dictionary { table } = out);
4715
4716 let max_ord = self.__max_ordinal();
4717
4718 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
4719 ::fidl_next::Wire::zero_padding(&mut out);
4720
4721 let mut preallocated =
4722 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
4723
4724 for i in 1..=max_ord {
4725 match i {
4726 4 => {
4727 if let Some(value) = &self.source_path {
4728 ::fidl_next::WireEnvelope::encode_value::<
4729 ::fidl_next::WireString<'static>,
4730 ___E,
4731 >(
4732 value, preallocated.encoder, &mut out, 1024
4733 )?;
4734 } else {
4735 ::fidl_next::WireEnvelope::encode_zero(&mut out)
4736 }
4737 }
4738
4739 3 => {
4740 if let Some(value) = &self.source_dictionary {
4741 ::fidl_next::WireEnvelope::encode_value::<
4742 ::fidl_next::WireString<'static>,
4743 ___E,
4744 >(
4745 value, preallocated.encoder, &mut out, 1024
4746 )?;
4747 } else {
4748 ::fidl_next::WireEnvelope::encode_zero(&mut out)
4749 }
4750 }
4751
4752 2 => {
4753 if let Some(value) = &self.source {
4754 ::fidl_next::WireEnvelope::encode_value::<
4755 crate::wire::Ref<'static>,
4756 ___E,
4757 >(
4758 value, preallocated.encoder, &mut out, ()
4759 )?;
4760 } else {
4761 ::fidl_next::WireEnvelope::encode_zero(&mut out)
4762 }
4763 }
4764
4765 1 => {
4766 if let Some(value) = &self.name {
4767 ::fidl_next::WireEnvelope::encode_value::<
4768 ::fidl_next::WireString<'static>,
4769 ___E,
4770 >(
4771 value, preallocated.encoder, &mut out, 100
4772 )?;
4773 } else {
4774 ::fidl_next::WireEnvelope::encode_zero(&mut out)
4775 }
4776 }
4777
4778 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
4779 }
4780 unsafe {
4781 preallocated.write_next(out.assume_init_ref());
4782 }
4783 }
4784
4785 ::fidl_next::WireTable::encode_len(table, max_ord);
4786
4787 Ok(())
4788 }
4789 }
4790
4791 impl<'de> ::fidl_next::FromWire<crate::wire::Dictionary<'de>> for Dictionary {
4792 #[inline]
4793 fn from_wire(wire_: crate::wire::Dictionary<'de>) -> Self {
4794 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
4795
4796 let name = wire_.table.get(1);
4797
4798 let source = wire_.table.get(2);
4799
4800 let source_dictionary = wire_.table.get(3);
4801
4802 let source_path = wire_.table.get(4);
4803
4804 Self {
4805 name: name.map(|envelope| {
4806 ::fidl_next::FromWire::from_wire(unsafe {
4807 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
4808 })
4809 }),
4810
4811 source: source.map(|envelope| {
4812 ::fidl_next::FromWire::from_wire(unsafe {
4813 envelope.read_unchecked::<crate::wire::Ref<'de>>()
4814 })
4815 }),
4816
4817 source_dictionary: source_dictionary.map(|envelope| {
4818 ::fidl_next::FromWire::from_wire(unsafe {
4819 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
4820 })
4821 }),
4822
4823 source_path: source_path.map(|envelope| {
4824 ::fidl_next::FromWire::from_wire(unsafe {
4825 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
4826 })
4827 }),
4828 }
4829 }
4830 }
4831
4832 impl<'de> ::fidl_next::FromWireRef<crate::wire::Dictionary<'de>> for Dictionary {
4833 #[inline]
4834 fn from_wire_ref(wire: &crate::wire::Dictionary<'de>) -> Self {
4835 Self {
4836 name: wire.table.get(1).map(|envelope| {
4837 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
4838 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
4839 })
4840 }),
4841
4842 source: wire.table.get(2).map(|envelope| {
4843 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
4844 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
4845 })
4846 }),
4847
4848 source_dictionary: wire.table.get(3).map(|envelope| {
4849 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
4850 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
4851 })
4852 }),
4853
4854 source_path: wire.table.get(4).map(|envelope| {
4855 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
4856 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
4857 })
4858 }),
4859 }
4860 }
4861 }
4862
4863 #[doc = " Declares a capability defined by this component.\n"]
4864 #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
4865 pub enum Capability {
4866 Service(crate::natural::Service),
4867
4868 Protocol(crate::natural::Protocol),
4869
4870 Directory(crate::natural::Directory),
4871
4872 Storage(crate::natural::Storage),
4873
4874 Runner(crate::natural::Runner),
4875
4876 Resolver(crate::natural::Resolver),
4877
4878 EventStream(crate::natural::EventStream),
4879
4880 Dictionary(crate::natural::Dictionary),
4881
4882 Config(crate::natural::Configuration),
4883
4884 UnknownOrdinal_(u64),
4885 }
4886
4887 impl Capability {
4888 pub fn is_unknown(&self) -> bool {
4889 #[allow(unreachable_patterns)]
4890 match self {
4891 Self::UnknownOrdinal_(_) => true,
4892 _ => false,
4893 }
4894 }
4895 }
4896
4897 unsafe impl<___E> ::fidl_next::Encode<crate::wire::Capability<'static>, ___E> for Capability
4898 where
4899 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
4900 ___E: ::fidl_next::Encoder,
4901 {
4902 #[inline]
4903 fn encode(
4904 self,
4905 encoder: &mut ___E,
4906 out: &mut ::core::mem::MaybeUninit<crate::wire::Capability<'static>>,
4907 _: (),
4908 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
4909 ::fidl_next::munge!(let crate::wire::Capability { raw, _phantom: _ } = out);
4910
4911 match self {
4912 Self::Service(value) => ::fidl_next::RawWireUnion::encode_as::<
4913 ___E,
4914 crate::wire::Service<'static>,
4915 >(value, 1, encoder, raw, ())?,
4916
4917 Self::Protocol(value) => ::fidl_next::RawWireUnion::encode_as::<
4918 ___E,
4919 crate::wire::Protocol<'static>,
4920 >(value, 2, encoder, raw, ())?,
4921
4922 Self::Directory(value) => ::fidl_next::RawWireUnion::encode_as::<
4923 ___E,
4924 crate::wire::Directory<'static>,
4925 >(value, 3, encoder, raw, ())?,
4926
4927 Self::Storage(value) => ::fidl_next::RawWireUnion::encode_as::<
4928 ___E,
4929 crate::wire::Storage<'static>,
4930 >(value, 4, encoder, raw, ())?,
4931
4932 Self::Runner(value) => ::fidl_next::RawWireUnion::encode_as::<
4933 ___E,
4934 crate::wire::Runner<'static>,
4935 >(value, 5, encoder, raw, ())?,
4936
4937 Self::Resolver(value) => ::fidl_next::RawWireUnion::encode_as::<
4938 ___E,
4939 crate::wire::Resolver<'static>,
4940 >(value, 6, encoder, raw, ())?,
4941
4942 Self::EventStream(value) => ::fidl_next::RawWireUnion::encode_as::<
4943 ___E,
4944 crate::wire::EventStream<'static>,
4945 >(value, 8, encoder, raw, ())?,
4946
4947 Self::Dictionary(value) => ::fidl_next::RawWireUnion::encode_as::<
4948 ___E,
4949 crate::wire::Dictionary<'static>,
4950 >(value, 9, encoder, raw, ())?,
4951
4952 Self::Config(value) => ::fidl_next::RawWireUnion::encode_as::<
4953 ___E,
4954 crate::wire::Configuration<'static>,
4955 >(value, 10, encoder, raw, ())?,
4956
4957 Self::UnknownOrdinal_(ordinal) => {
4958 return Err(::fidl_next::EncodeError::UnknownUnionOrdinal(ordinal as usize));
4959 }
4960 }
4961
4962 Ok(())
4963 }
4964 }
4965
4966 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::Capability<'static>, ___E> for &'a Capability
4967 where
4968 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
4969 ___E: ::fidl_next::Encoder,
4970 {
4971 #[inline]
4972 fn encode(
4973 self,
4974 encoder: &mut ___E,
4975 out: &mut ::core::mem::MaybeUninit<crate::wire::Capability<'static>>,
4976 _: (),
4977 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
4978 ::fidl_next::munge!(let crate::wire::Capability { raw, _phantom: _ } = out);
4979
4980 match self {
4981 Capability::Service(value) => ::fidl_next::RawWireUnion::encode_as::<
4982 ___E,
4983 crate::wire::Service<'static>,
4984 >(value, 1, encoder, raw, ())?,
4985
4986 Capability::Protocol(value) => ::fidl_next::RawWireUnion::encode_as::<
4987 ___E,
4988 crate::wire::Protocol<'static>,
4989 >(value, 2, encoder, raw, ())?,
4990
4991 Capability::Directory(value) => ::fidl_next::RawWireUnion::encode_as::<
4992 ___E,
4993 crate::wire::Directory<'static>,
4994 >(value, 3, encoder, raw, ())?,
4995
4996 Capability::Storage(value) => ::fidl_next::RawWireUnion::encode_as::<
4997 ___E,
4998 crate::wire::Storage<'static>,
4999 >(value, 4, encoder, raw, ())?,
5000
5001 Capability::Runner(value) => ::fidl_next::RawWireUnion::encode_as::<
5002 ___E,
5003 crate::wire::Runner<'static>,
5004 >(value, 5, encoder, raw, ())?,
5005
5006 Capability::Resolver(value) => ::fidl_next::RawWireUnion::encode_as::<
5007 ___E,
5008 crate::wire::Resolver<'static>,
5009 >(value, 6, encoder, raw, ())?,
5010
5011 Capability::EventStream(value) => ::fidl_next::RawWireUnion::encode_as::<
5012 ___E,
5013 crate::wire::EventStream<'static>,
5014 >(value, 8, encoder, raw, ())?,
5015
5016 Capability::Dictionary(value) => ::fidl_next::RawWireUnion::encode_as::<
5017 ___E,
5018 crate::wire::Dictionary<'static>,
5019 >(value, 9, encoder, raw, ())?,
5020
5021 Capability::Config(value) => ::fidl_next::RawWireUnion::encode_as::<
5022 ___E,
5023 crate::wire::Configuration<'static>,
5024 >(value, 10, encoder, raw, ())?,
5025
5026 Capability::UnknownOrdinal_(ordinal) => {
5027 return Err(::fidl_next::EncodeError::UnknownUnionOrdinal(*ordinal as usize));
5028 }
5029 }
5030
5031 Ok(())
5032 }
5033 }
5034
5035 unsafe impl<___E> ::fidl_next::EncodeOption<crate::wire_optional::Capability<'static>, ___E>
5036 for Capability
5037 where
5038 ___E: ?Sized,
5039 Capability: ::fidl_next::Encode<crate::wire::Capability<'static>, ___E>,
5040 {
5041 #[inline]
5042 fn encode_option(
5043 this: ::core::option::Option<Self>,
5044 encoder: &mut ___E,
5045 out: &mut ::core::mem::MaybeUninit<crate::wire_optional::Capability<'static>>,
5046 _: (),
5047 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
5048 ::fidl_next::munge!(let crate::wire_optional::Capability { raw, _phantom: _ } = &mut *out);
5049
5050 if let Some(inner) = this {
5051 let value_out = unsafe { &mut *out.as_mut_ptr().cast() };
5052 ::fidl_next::Encode::encode(inner, encoder, value_out, ())?;
5053 } else {
5054 ::fidl_next::RawWireUnion::encode_absent(raw);
5055 }
5056
5057 Ok(())
5058 }
5059 }
5060
5061 unsafe impl<'a, ___E> ::fidl_next::EncodeOption<crate::wire_optional::Capability<'static>, ___E>
5062 for &'a Capability
5063 where
5064 ___E: ?Sized,
5065 &'a Capability: ::fidl_next::Encode<crate::wire::Capability<'static>, ___E>,
5066 {
5067 #[inline]
5068 fn encode_option(
5069 this: ::core::option::Option<Self>,
5070 encoder: &mut ___E,
5071 out: &mut ::core::mem::MaybeUninit<crate::wire_optional::Capability<'static>>,
5072 _: (),
5073 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
5074 ::fidl_next::munge!(let crate::wire_optional::Capability { raw, _phantom: _ } = &mut *out);
5075
5076 if let Some(inner) = this {
5077 let value_out = unsafe { &mut *out.as_mut_ptr().cast() };
5078 ::fidl_next::Encode::encode(inner, encoder, value_out, ())?;
5079 } else {
5080 ::fidl_next::RawWireUnion::encode_absent(raw);
5081 }
5082
5083 Ok(())
5084 }
5085 }
5086
5087 impl<'de> ::fidl_next::FromWire<crate::wire::Capability<'de>> for Capability {
5088 #[inline]
5089 fn from_wire(wire: crate::wire::Capability<'de>) -> Self {
5090 let wire = ::core::mem::ManuallyDrop::new(wire);
5091 match wire.raw.ordinal() {
5092 1 => Self::Service(::fidl_next::FromWire::from_wire(unsafe {
5093 wire.raw.get().read_unchecked::<crate::wire::Service<'de>>()
5094 })),
5095
5096 2 => Self::Protocol(::fidl_next::FromWire::from_wire(unsafe {
5097 wire.raw.get().read_unchecked::<crate::wire::Protocol<'de>>()
5098 })),
5099
5100 3 => Self::Directory(::fidl_next::FromWire::from_wire(unsafe {
5101 wire.raw.get().read_unchecked::<crate::wire::Directory<'de>>()
5102 })),
5103
5104 4 => Self::Storage(::fidl_next::FromWire::from_wire(unsafe {
5105 wire.raw.get().read_unchecked::<crate::wire::Storage<'de>>()
5106 })),
5107
5108 5 => Self::Runner(::fidl_next::FromWire::from_wire(unsafe {
5109 wire.raw.get().read_unchecked::<crate::wire::Runner<'de>>()
5110 })),
5111
5112 6 => Self::Resolver(::fidl_next::FromWire::from_wire(unsafe {
5113 wire.raw.get().read_unchecked::<crate::wire::Resolver<'de>>()
5114 })),
5115
5116 8 => Self::EventStream(::fidl_next::FromWire::from_wire(unsafe {
5117 wire.raw.get().read_unchecked::<crate::wire::EventStream<'de>>()
5118 })),
5119
5120 9 => Self::Dictionary(::fidl_next::FromWire::from_wire(unsafe {
5121 wire.raw.get().read_unchecked::<crate::wire::Dictionary<'de>>()
5122 })),
5123
5124 10 => Self::Config(::fidl_next::FromWire::from_wire(unsafe {
5125 wire.raw.get().read_unchecked::<crate::wire::Configuration<'de>>()
5126 })),
5127
5128 ord => return Self::UnknownOrdinal_(ord as u64),
5129 }
5130 }
5131 }
5132
5133 impl<'de> ::fidl_next::FromWireRef<crate::wire::Capability<'de>> for Capability {
5134 #[inline]
5135 fn from_wire_ref(wire: &crate::wire::Capability<'de>) -> Self {
5136 match wire.raw.ordinal() {
5137 1 => Self::Service(::fidl_next::FromWireRef::from_wire_ref(unsafe {
5138 wire.raw.get().deref_unchecked::<crate::wire::Service<'de>>()
5139 })),
5140
5141 2 => Self::Protocol(::fidl_next::FromWireRef::from_wire_ref(unsafe {
5142 wire.raw.get().deref_unchecked::<crate::wire::Protocol<'de>>()
5143 })),
5144
5145 3 => Self::Directory(::fidl_next::FromWireRef::from_wire_ref(unsafe {
5146 wire.raw.get().deref_unchecked::<crate::wire::Directory<'de>>()
5147 })),
5148
5149 4 => Self::Storage(::fidl_next::FromWireRef::from_wire_ref(unsafe {
5150 wire.raw.get().deref_unchecked::<crate::wire::Storage<'de>>()
5151 })),
5152
5153 5 => Self::Runner(::fidl_next::FromWireRef::from_wire_ref(unsafe {
5154 wire.raw.get().deref_unchecked::<crate::wire::Runner<'de>>()
5155 })),
5156
5157 6 => Self::Resolver(::fidl_next::FromWireRef::from_wire_ref(unsafe {
5158 wire.raw.get().deref_unchecked::<crate::wire::Resolver<'de>>()
5159 })),
5160
5161 8 => Self::EventStream(::fidl_next::FromWireRef::from_wire_ref(unsafe {
5162 wire.raw.get().deref_unchecked::<crate::wire::EventStream<'de>>()
5163 })),
5164
5165 9 => Self::Dictionary(::fidl_next::FromWireRef::from_wire_ref(unsafe {
5166 wire.raw.get().deref_unchecked::<crate::wire::Dictionary<'de>>()
5167 })),
5168
5169 10 => Self::Config(::fidl_next::FromWireRef::from_wire_ref(unsafe {
5170 wire.raw.get().deref_unchecked::<crate::wire::Configuration<'de>>()
5171 })),
5172
5173 ord => return Self::UnknownOrdinal_(ord as u64),
5174 }
5175 }
5176 }
5177
5178 impl<'de> ::fidl_next::FromWireOption<crate::wire_optional::Capability<'de>> for Capability {
5179 #[inline]
5180 fn from_wire_option(
5181 wire: crate::wire_optional::Capability<'de>,
5182 ) -> ::core::option::Option<Self> {
5183 if let Some(inner) = wire.into_option() {
5184 Some(::fidl_next::FromWire::from_wire(inner))
5185 } else {
5186 None
5187 }
5188 }
5189 }
5190
5191 impl<'de> ::fidl_next::FromWireOption<crate::wire_optional::Capability<'de>> for Box<Capability> {
5192 #[inline]
5193 fn from_wire_option(
5194 wire: crate::wire_optional::Capability<'de>,
5195 ) -> ::core::option::Option<Self> {
5196 <
5197 Capability as ::fidl_next::FromWireOption<crate::wire_optional::Capability<'de>>
5198 >::from_wire_option(wire).map(Box::new)
5199 }
5200 }
5201
5202 impl<'de> ::fidl_next::FromWireOptionRef<crate::wire_optional::Capability<'de>>
5203 for Box<Capability>
5204 {
5205 #[inline]
5206 fn from_wire_option_ref(
5207 wire: &crate::wire_optional::Capability<'de>,
5208 ) -> ::core::option::Option<Self> {
5209 if let Some(inner) = wire.as_ref() {
5210 Some(Box::new(::fidl_next::FromWireRef::from_wire_ref(inner)))
5211 } else {
5212 None
5213 }
5214 }
5215 }
5216
5217 #[doc = " Describes under what conditions the component may be started.\n"]
5218 #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
5219 #[repr(u32)]
5220 pub enum StartupMode {
5221 Lazy = 0,
5222 Eager = 1,
5223 }
5224 impl ::core::convert::TryFrom<u32> for StartupMode {
5225 type Error = ::fidl_next::UnknownStrictEnumMemberError;
5226 fn try_from(
5227 value: u32,
5228 ) -> ::core::result::Result<Self, ::fidl_next::UnknownStrictEnumMemberError> {
5229 match value {
5230 0 => Ok(Self::Lazy),
5231 1 => Ok(Self::Eager),
5232
5233 _ => Err(::fidl_next::UnknownStrictEnumMemberError::new(value.into())),
5234 }
5235 }
5236 }
5237
5238 unsafe impl<___E> ::fidl_next::Encode<crate::wire::StartupMode, ___E> for StartupMode
5239 where
5240 ___E: ?Sized,
5241 {
5242 #[inline]
5243 fn encode(
5244 self,
5245 encoder: &mut ___E,
5246 out: &mut ::core::mem::MaybeUninit<crate::wire::StartupMode>,
5247 _: (),
5248 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
5249 ::fidl_next::Encode::encode(&self, encoder, out, ())
5250 }
5251 }
5252
5253 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::StartupMode, ___E> for &'a StartupMode
5254 where
5255 ___E: ?Sized,
5256 {
5257 #[inline]
5258 fn encode(
5259 self,
5260 encoder: &mut ___E,
5261 out: &mut ::core::mem::MaybeUninit<crate::wire::StartupMode>,
5262 _: (),
5263 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
5264 ::fidl_next::munge!(let crate::wire::StartupMode { value } = out);
5265 let _ = value.write(::fidl_next::WireU32::from(match *self {
5266 StartupMode::Lazy => 0,
5267
5268 StartupMode::Eager => 1,
5269 }));
5270
5271 Ok(())
5272 }
5273 }
5274
5275 impl ::core::convert::From<crate::wire::StartupMode> for StartupMode {
5276 fn from(wire: crate::wire::StartupMode) -> Self {
5277 match u32::from(wire.value) {
5278 0 => Self::Lazy,
5279
5280 1 => Self::Eager,
5281
5282 _ => unsafe { ::core::hint::unreachable_unchecked() },
5283 }
5284 }
5285 }
5286
5287 impl ::fidl_next::FromWire<crate::wire::StartupMode> for StartupMode {
5288 #[inline]
5289 fn from_wire(wire: crate::wire::StartupMode) -> Self {
5290 Self::from(wire)
5291 }
5292 }
5293
5294 impl ::fidl_next::FromWireRef<crate::wire::StartupMode> for StartupMode {
5295 #[inline]
5296 fn from_wire_ref(wire: &crate::wire::StartupMode) -> Self {
5297 Self::from(*wire)
5298 }
5299 }
5300
5301 #[doc = " Describes the action to take if this component instance terminates\n unexpectedly.\n"]
5302 #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
5303 #[repr(u32)]
5304 pub enum OnTerminate {
5305 None = 0,
5306 Reboot = 1,
5307 }
5308 impl ::core::convert::TryFrom<u32> for OnTerminate {
5309 type Error = ::fidl_next::UnknownStrictEnumMemberError;
5310 fn try_from(
5311 value: u32,
5312 ) -> ::core::result::Result<Self, ::fidl_next::UnknownStrictEnumMemberError> {
5313 match value {
5314 0 => Ok(Self::None),
5315 1 => Ok(Self::Reboot),
5316
5317 _ => Err(::fidl_next::UnknownStrictEnumMemberError::new(value.into())),
5318 }
5319 }
5320 }
5321
5322 unsafe impl<___E> ::fidl_next::Encode<crate::wire::OnTerminate, ___E> for OnTerminate
5323 where
5324 ___E: ?Sized,
5325 {
5326 #[inline]
5327 fn encode(
5328 self,
5329 encoder: &mut ___E,
5330 out: &mut ::core::mem::MaybeUninit<crate::wire::OnTerminate>,
5331 _: (),
5332 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
5333 ::fidl_next::Encode::encode(&self, encoder, out, ())
5334 }
5335 }
5336
5337 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::OnTerminate, ___E> for &'a OnTerminate
5338 where
5339 ___E: ?Sized,
5340 {
5341 #[inline]
5342 fn encode(
5343 self,
5344 encoder: &mut ___E,
5345 out: &mut ::core::mem::MaybeUninit<crate::wire::OnTerminate>,
5346 _: (),
5347 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
5348 ::fidl_next::munge!(let crate::wire::OnTerminate { value } = out);
5349 let _ = value.write(::fidl_next::WireU32::from(match *self {
5350 OnTerminate::None => 0,
5351
5352 OnTerminate::Reboot => 1,
5353 }));
5354
5355 Ok(())
5356 }
5357 }
5358
5359 impl ::core::convert::From<crate::wire::OnTerminate> for OnTerminate {
5360 fn from(wire: crate::wire::OnTerminate) -> Self {
5361 match u32::from(wire.value) {
5362 0 => Self::None,
5363
5364 1 => Self::Reboot,
5365
5366 _ => unsafe { ::core::hint::unreachable_unchecked() },
5367 }
5368 }
5369 }
5370
5371 impl ::fidl_next::FromWire<crate::wire::OnTerminate> for OnTerminate {
5372 #[inline]
5373 fn from_wire(wire: crate::wire::OnTerminate) -> Self {
5374 Self::from(wire)
5375 }
5376 }
5377
5378 impl ::fidl_next::FromWireRef<crate::wire::OnTerminate> for OnTerminate {
5379 #[inline]
5380 fn from_wire_ref(wire: &crate::wire::OnTerminate) -> Self {
5381 Self::from(*wire)
5382 }
5383 }
5384
5385 #[doc = " The string identifier for a config field.\n"]
5386 pub type ConfigKey = ::std::string::String;
5387
5388 #[doc = " A directive to override the value of a particular configuration field in the child.\n"]
5389 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
5390 pub struct ConfigOverride {
5391 pub key: ::core::option::Option<::std::string::String>,
5392
5393 pub value: ::core::option::Option<crate::natural::ConfigValue>,
5394 }
5395
5396 impl ConfigOverride {
5397 fn __max_ordinal(&self) -> usize {
5398 if self.value.is_some() {
5399 return 2;
5400 }
5401
5402 if self.key.is_some() {
5403 return 1;
5404 }
5405
5406 0
5407 }
5408 }
5409
5410 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ConfigOverride<'static>, ___E> for ConfigOverride
5411 where
5412 ___E: ::fidl_next::Encoder + ?Sized,
5413 {
5414 #[inline]
5415 fn encode(
5416 mut self,
5417 encoder: &mut ___E,
5418 out: &mut ::core::mem::MaybeUninit<crate::wire::ConfigOverride<'static>>,
5419 _: (),
5420 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
5421 ::fidl_next::munge!(let crate::wire::ConfigOverride { table } = out);
5422
5423 let max_ord = self.__max_ordinal();
5424
5425 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
5426 ::fidl_next::Wire::zero_padding(&mut out);
5427
5428 let mut preallocated =
5429 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
5430
5431 for i in 1..=max_ord {
5432 match i {
5433 2 => {
5434 if let Some(value) = self.value.take() {
5435 ::fidl_next::WireEnvelope::encode_value::<
5436 crate::wire::ConfigValue<'static>,
5437 ___E,
5438 >(
5439 value, preallocated.encoder, &mut out, ()
5440 )?;
5441 } else {
5442 ::fidl_next::WireEnvelope::encode_zero(&mut out)
5443 }
5444 }
5445
5446 1 => {
5447 if let Some(value) = self.key.take() {
5448 ::fidl_next::WireEnvelope::encode_value::<
5449 ::fidl_next::WireString<'static>,
5450 ___E,
5451 >(
5452 value, preallocated.encoder, &mut out, 64
5453 )?;
5454 } else {
5455 ::fidl_next::WireEnvelope::encode_zero(&mut out)
5456 }
5457 }
5458
5459 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
5460 }
5461 unsafe {
5462 preallocated.write_next(out.assume_init_ref());
5463 }
5464 }
5465
5466 ::fidl_next::WireTable::encode_len(table, max_ord);
5467
5468 Ok(())
5469 }
5470 }
5471
5472 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ConfigOverride<'static>, ___E>
5473 for &'a ConfigOverride
5474 where
5475 ___E: ::fidl_next::Encoder + ?Sized,
5476 {
5477 #[inline]
5478 fn encode(
5479 self,
5480 encoder: &mut ___E,
5481 out: &mut ::core::mem::MaybeUninit<crate::wire::ConfigOverride<'static>>,
5482 _: (),
5483 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
5484 ::fidl_next::munge!(let crate::wire::ConfigOverride { table } = out);
5485
5486 let max_ord = self.__max_ordinal();
5487
5488 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
5489 ::fidl_next::Wire::zero_padding(&mut out);
5490
5491 let mut preallocated =
5492 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
5493
5494 for i in 1..=max_ord {
5495 match i {
5496 2 => {
5497 if let Some(value) = &self.value {
5498 ::fidl_next::WireEnvelope::encode_value::<
5499 crate::wire::ConfigValue<'static>,
5500 ___E,
5501 >(
5502 value, preallocated.encoder, &mut out, ()
5503 )?;
5504 } else {
5505 ::fidl_next::WireEnvelope::encode_zero(&mut out)
5506 }
5507 }
5508
5509 1 => {
5510 if let Some(value) = &self.key {
5511 ::fidl_next::WireEnvelope::encode_value::<
5512 ::fidl_next::WireString<'static>,
5513 ___E,
5514 >(
5515 value, preallocated.encoder, &mut out, 64
5516 )?;
5517 } else {
5518 ::fidl_next::WireEnvelope::encode_zero(&mut out)
5519 }
5520 }
5521
5522 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
5523 }
5524 unsafe {
5525 preallocated.write_next(out.assume_init_ref());
5526 }
5527 }
5528
5529 ::fidl_next::WireTable::encode_len(table, max_ord);
5530
5531 Ok(())
5532 }
5533 }
5534
5535 impl<'de> ::fidl_next::FromWire<crate::wire::ConfigOverride<'de>> for ConfigOverride {
5536 #[inline]
5537 fn from_wire(wire_: crate::wire::ConfigOverride<'de>) -> Self {
5538 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
5539
5540 let key = wire_.table.get(1);
5541
5542 let value = wire_.table.get(2);
5543
5544 Self {
5545 key: key.map(|envelope| {
5546 ::fidl_next::FromWire::from_wire(unsafe {
5547 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
5548 })
5549 }),
5550
5551 value: value.map(|envelope| {
5552 ::fidl_next::FromWire::from_wire(unsafe {
5553 envelope.read_unchecked::<crate::wire::ConfigValue<'de>>()
5554 })
5555 }),
5556 }
5557 }
5558 }
5559
5560 impl<'de> ::fidl_next::FromWireRef<crate::wire::ConfigOverride<'de>> for ConfigOverride {
5561 #[inline]
5562 fn from_wire_ref(wire: &crate::wire::ConfigOverride<'de>) -> Self {
5563 Self {
5564 key: wire.table.get(1).map(|envelope| {
5565 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
5566 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
5567 })
5568 }),
5569
5570 value: wire.table.get(2).map(|envelope| {
5571 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
5572 envelope.deref_unchecked::<crate::wire::ConfigValue<'de>>()
5573 })
5574 }),
5575 }
5576 }
5577 }
5578
5579 #[doc = " Statically declares a child component instance.\n"]
5580 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
5581 pub struct Child {
5582 pub name: ::core::option::Option<::std::string::String>,
5583
5584 pub url: ::core::option::Option<::std::string::String>,
5585
5586 pub startup: ::core::option::Option<crate::natural::StartupMode>,
5587
5588 pub environment: ::core::option::Option<::std::string::String>,
5589
5590 pub on_terminate: ::core::option::Option<crate::natural::OnTerminate>,
5591
5592 pub config_overrides:
5593 ::core::option::Option<::std::vec::Vec<crate::natural::ConfigOverride>>,
5594 }
5595
5596 impl Child {
5597 fn __max_ordinal(&self) -> usize {
5598 if self.config_overrides.is_some() {
5599 return 6;
5600 }
5601
5602 if self.on_terminate.is_some() {
5603 return 5;
5604 }
5605
5606 if self.environment.is_some() {
5607 return 4;
5608 }
5609
5610 if self.startup.is_some() {
5611 return 3;
5612 }
5613
5614 if self.url.is_some() {
5615 return 2;
5616 }
5617
5618 if self.name.is_some() {
5619 return 1;
5620 }
5621
5622 0
5623 }
5624 }
5625
5626 unsafe impl<___E> ::fidl_next::Encode<crate::wire::Child<'static>, ___E> for Child
5627 where
5628 ___E: ::fidl_next::Encoder + ?Sized,
5629 {
5630 #[inline]
5631 fn encode(
5632 mut self,
5633 encoder: &mut ___E,
5634 out: &mut ::core::mem::MaybeUninit<crate::wire::Child<'static>>,
5635 _: (),
5636 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
5637 ::fidl_next::munge!(let crate::wire::Child { table } = out);
5638
5639 let max_ord = self.__max_ordinal();
5640
5641 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
5642 ::fidl_next::Wire::zero_padding(&mut out);
5643
5644 let mut preallocated =
5645 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
5646
5647 for i in 1..=max_ord {
5648 match i {
5649 6 => {
5650 if let Some(value) = self.config_overrides.take() {
5651 ::fidl_next::WireEnvelope::encode_value::<
5652 ::fidl_next::WireVector<
5653 'static,
5654 crate::wire::ConfigOverride<'static>,
5655 >,
5656 ___E,
5657 >(
5658 value, preallocated.encoder, &mut out, (4294967295, ())
5659 )?;
5660 } else {
5661 ::fidl_next::WireEnvelope::encode_zero(&mut out)
5662 }
5663 }
5664
5665 5 => {
5666 if let Some(value) = self.on_terminate.take() {
5667 ::fidl_next::WireEnvelope::encode_value::<
5668 crate::wire::OnTerminate,
5669 ___E,
5670 >(
5671 value, preallocated.encoder, &mut out, ()
5672 )?;
5673 } else {
5674 ::fidl_next::WireEnvelope::encode_zero(&mut out)
5675 }
5676 }
5677
5678 4 => {
5679 if let Some(value) = self.environment.take() {
5680 ::fidl_next::WireEnvelope::encode_value::<
5681 ::fidl_next::WireString<'static>,
5682 ___E,
5683 >(
5684 value, preallocated.encoder, &mut out, 100
5685 )?;
5686 } else {
5687 ::fidl_next::WireEnvelope::encode_zero(&mut out)
5688 }
5689 }
5690
5691 3 => {
5692 if let Some(value) = self.startup.take() {
5693 ::fidl_next::WireEnvelope::encode_value::<
5694 crate::wire::StartupMode,
5695 ___E,
5696 >(
5697 value, preallocated.encoder, &mut out, ()
5698 )?;
5699 } else {
5700 ::fidl_next::WireEnvelope::encode_zero(&mut out)
5701 }
5702 }
5703
5704 2 => {
5705 if let Some(value) = self.url.take() {
5706 ::fidl_next::WireEnvelope::encode_value::<
5707 ::fidl_next::WireString<'static>,
5708 ___E,
5709 >(
5710 value, preallocated.encoder, &mut out, 4096
5711 )?;
5712 } else {
5713 ::fidl_next::WireEnvelope::encode_zero(&mut out)
5714 }
5715 }
5716
5717 1 => {
5718 if let Some(value) = self.name.take() {
5719 ::fidl_next::WireEnvelope::encode_value::<
5720 ::fidl_next::WireString<'static>,
5721 ___E,
5722 >(
5723 value, preallocated.encoder, &mut out, 1024
5724 )?;
5725 } else {
5726 ::fidl_next::WireEnvelope::encode_zero(&mut out)
5727 }
5728 }
5729
5730 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
5731 }
5732 unsafe {
5733 preallocated.write_next(out.assume_init_ref());
5734 }
5735 }
5736
5737 ::fidl_next::WireTable::encode_len(table, max_ord);
5738
5739 Ok(())
5740 }
5741 }
5742
5743 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::Child<'static>, ___E> for &'a Child
5744 where
5745 ___E: ::fidl_next::Encoder + ?Sized,
5746 {
5747 #[inline]
5748 fn encode(
5749 self,
5750 encoder: &mut ___E,
5751 out: &mut ::core::mem::MaybeUninit<crate::wire::Child<'static>>,
5752 _: (),
5753 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
5754 ::fidl_next::munge!(let crate::wire::Child { table } = out);
5755
5756 let max_ord = self.__max_ordinal();
5757
5758 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
5759 ::fidl_next::Wire::zero_padding(&mut out);
5760
5761 let mut preallocated =
5762 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
5763
5764 for i in 1..=max_ord {
5765 match i {
5766 6 => {
5767 if let Some(value) = &self.config_overrides {
5768 ::fidl_next::WireEnvelope::encode_value::<
5769 ::fidl_next::WireVector<
5770 'static,
5771 crate::wire::ConfigOverride<'static>,
5772 >,
5773 ___E,
5774 >(
5775 value, preallocated.encoder, &mut out, (4294967295, ())
5776 )?;
5777 } else {
5778 ::fidl_next::WireEnvelope::encode_zero(&mut out)
5779 }
5780 }
5781
5782 5 => {
5783 if let Some(value) = &self.on_terminate {
5784 ::fidl_next::WireEnvelope::encode_value::<
5785 crate::wire::OnTerminate,
5786 ___E,
5787 >(
5788 value, preallocated.encoder, &mut out, ()
5789 )?;
5790 } else {
5791 ::fidl_next::WireEnvelope::encode_zero(&mut out)
5792 }
5793 }
5794
5795 4 => {
5796 if let Some(value) = &self.environment {
5797 ::fidl_next::WireEnvelope::encode_value::<
5798 ::fidl_next::WireString<'static>,
5799 ___E,
5800 >(
5801 value, preallocated.encoder, &mut out, 100
5802 )?;
5803 } else {
5804 ::fidl_next::WireEnvelope::encode_zero(&mut out)
5805 }
5806 }
5807
5808 3 => {
5809 if let Some(value) = &self.startup {
5810 ::fidl_next::WireEnvelope::encode_value::<
5811 crate::wire::StartupMode,
5812 ___E,
5813 >(
5814 value, preallocated.encoder, &mut out, ()
5815 )?;
5816 } else {
5817 ::fidl_next::WireEnvelope::encode_zero(&mut out)
5818 }
5819 }
5820
5821 2 => {
5822 if let Some(value) = &self.url {
5823 ::fidl_next::WireEnvelope::encode_value::<
5824 ::fidl_next::WireString<'static>,
5825 ___E,
5826 >(
5827 value, preallocated.encoder, &mut out, 4096
5828 )?;
5829 } else {
5830 ::fidl_next::WireEnvelope::encode_zero(&mut out)
5831 }
5832 }
5833
5834 1 => {
5835 if let Some(value) = &self.name {
5836 ::fidl_next::WireEnvelope::encode_value::<
5837 ::fidl_next::WireString<'static>,
5838 ___E,
5839 >(
5840 value, preallocated.encoder, &mut out, 1024
5841 )?;
5842 } else {
5843 ::fidl_next::WireEnvelope::encode_zero(&mut out)
5844 }
5845 }
5846
5847 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
5848 }
5849 unsafe {
5850 preallocated.write_next(out.assume_init_ref());
5851 }
5852 }
5853
5854 ::fidl_next::WireTable::encode_len(table, max_ord);
5855
5856 Ok(())
5857 }
5858 }
5859
5860 impl<'de> ::fidl_next::FromWire<crate::wire::Child<'de>> for Child {
5861 #[inline]
5862 fn from_wire(wire_: crate::wire::Child<'de>) -> Self {
5863 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
5864
5865 let name = wire_.table.get(1);
5866
5867 let url = wire_.table.get(2);
5868
5869 let startup = wire_.table.get(3);
5870
5871 let environment = wire_.table.get(4);
5872
5873 let on_terminate = wire_.table.get(5);
5874
5875 let config_overrides = wire_.table.get(6);
5876
5877 Self {
5878
5879
5880 name: name.map(|envelope| ::fidl_next::FromWire::from_wire(
5881 unsafe { envelope.read_unchecked::<::fidl_next::WireString<'de>>() }
5882 )),
5883
5884
5885 url: url.map(|envelope| ::fidl_next::FromWire::from_wire(
5886 unsafe { envelope.read_unchecked::<::fidl_next::WireString<'de>>() }
5887 )),
5888
5889
5890 startup: startup.map(|envelope| ::fidl_next::FromWire::from_wire(
5891 unsafe { envelope.read_unchecked::<crate::wire::StartupMode>() }
5892 )),
5893
5894
5895 environment: environment.map(|envelope| ::fidl_next::FromWire::from_wire(
5896 unsafe { envelope.read_unchecked::<::fidl_next::WireString<'de>>() }
5897 )),
5898
5899
5900 on_terminate: on_terminate.map(|envelope| ::fidl_next::FromWire::from_wire(
5901 unsafe { envelope.read_unchecked::<crate::wire::OnTerminate>() }
5902 )),
5903
5904
5905 config_overrides: config_overrides.map(|envelope| ::fidl_next::FromWire::from_wire(
5906 unsafe { envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::ConfigOverride<'de>>>() }
5907 )),
5908
5909 }
5910 }
5911 }
5912
5913 impl<'de> ::fidl_next::FromWireRef<crate::wire::Child<'de>> for Child {
5914 #[inline]
5915 fn from_wire_ref(wire: &crate::wire::Child<'de>) -> Self {
5916 Self {
5917
5918
5919 name: wire.table.get(1)
5920 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
5921 unsafe { envelope.deref_unchecked::<::fidl_next::WireString<'de>>() }
5922 )),
5923
5924
5925 url: wire.table.get(2)
5926 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
5927 unsafe { envelope.deref_unchecked::<::fidl_next::WireString<'de>>() }
5928 )),
5929
5930
5931 startup: wire.table.get(3)
5932 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
5933 unsafe { envelope.deref_unchecked::<crate::wire::StartupMode>() }
5934 )),
5935
5936
5937 environment: wire.table.get(4)
5938 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
5939 unsafe { envelope.deref_unchecked::<::fidl_next::WireString<'de>>() }
5940 )),
5941
5942
5943 on_terminate: wire.table.get(5)
5944 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
5945 unsafe { envelope.deref_unchecked::<crate::wire::OnTerminate>() }
5946 )),
5947
5948
5949 config_overrides: wire.table.get(6)
5950 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
5951 unsafe { envelope.deref_unchecked::<::fidl_next::WireVector<'de, crate::wire::ConfigOverride<'de>>>() }
5952 )),
5953
5954 }
5955 }
5956 }
5957
5958 #[doc = " The durability of component instances created in a collection.\n"]
5959 #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
5960 #[repr(u32)]
5961 pub enum Durability {
5962 Transient = 2,
5963 SingleRun = 3,
5964 }
5965 impl ::core::convert::TryFrom<u32> for Durability {
5966 type Error = ::fidl_next::UnknownStrictEnumMemberError;
5967 fn try_from(
5968 value: u32,
5969 ) -> ::core::result::Result<Self, ::fidl_next::UnknownStrictEnumMemberError> {
5970 match value {
5971 2 => Ok(Self::Transient),
5972 3 => Ok(Self::SingleRun),
5973
5974 _ => Err(::fidl_next::UnknownStrictEnumMemberError::new(value.into())),
5975 }
5976 }
5977 }
5978
5979 unsafe impl<___E> ::fidl_next::Encode<crate::wire::Durability, ___E> for Durability
5980 where
5981 ___E: ?Sized,
5982 {
5983 #[inline]
5984 fn encode(
5985 self,
5986 encoder: &mut ___E,
5987 out: &mut ::core::mem::MaybeUninit<crate::wire::Durability>,
5988 _: (),
5989 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
5990 ::fidl_next::Encode::encode(&self, encoder, out, ())
5991 }
5992 }
5993
5994 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::Durability, ___E> for &'a Durability
5995 where
5996 ___E: ?Sized,
5997 {
5998 #[inline]
5999 fn encode(
6000 self,
6001 encoder: &mut ___E,
6002 out: &mut ::core::mem::MaybeUninit<crate::wire::Durability>,
6003 _: (),
6004 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
6005 ::fidl_next::munge!(let crate::wire::Durability { value } = out);
6006 let _ = value.write(::fidl_next::WireU32::from(match *self {
6007 Durability::Transient => 2,
6008
6009 Durability::SingleRun => 3,
6010 }));
6011
6012 Ok(())
6013 }
6014 }
6015
6016 impl ::core::convert::From<crate::wire::Durability> for Durability {
6017 fn from(wire: crate::wire::Durability) -> Self {
6018 match u32::from(wire.value) {
6019 2 => Self::Transient,
6020
6021 3 => Self::SingleRun,
6022
6023 _ => unsafe { ::core::hint::unreachable_unchecked() },
6024 }
6025 }
6026 }
6027
6028 impl ::fidl_next::FromWire<crate::wire::Durability> for Durability {
6029 #[inline]
6030 fn from_wire(wire: crate::wire::Durability) -> Self {
6031 Self::from(wire)
6032 }
6033 }
6034
6035 impl ::fidl_next::FromWireRef<crate::wire::Durability> for Durability {
6036 #[inline]
6037 fn from_wire_ref(wire: &crate::wire::Durability) -> Self {
6038 Self::from(*wire)
6039 }
6040 }
6041
6042 #[doc = " Statically declares a component instance collection.\n"]
6043 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
6044 pub struct Collection {
6045 pub name: ::core::option::Option<::std::string::String>,
6046
6047 pub durability: ::core::option::Option<crate::natural::Durability>,
6048
6049 pub environment: ::core::option::Option<::std::string::String>,
6050
6051 pub allowed_offers: ::core::option::Option<crate::natural::AllowedOffers>,
6052
6053 pub allow_long_names: ::core::option::Option<bool>,
6054
6055 pub persistent_storage: ::core::option::Option<bool>,
6056 }
6057
6058 impl Collection {
6059 fn __max_ordinal(&self) -> usize {
6060 if self.persistent_storage.is_some() {
6061 return 6;
6062 }
6063
6064 if self.allow_long_names.is_some() {
6065 return 5;
6066 }
6067
6068 if self.allowed_offers.is_some() {
6069 return 4;
6070 }
6071
6072 if self.environment.is_some() {
6073 return 3;
6074 }
6075
6076 if self.durability.is_some() {
6077 return 2;
6078 }
6079
6080 if self.name.is_some() {
6081 return 1;
6082 }
6083
6084 0
6085 }
6086 }
6087
6088 unsafe impl<___E> ::fidl_next::Encode<crate::wire::Collection<'static>, ___E> for Collection
6089 where
6090 ___E: ::fidl_next::Encoder + ?Sized,
6091 {
6092 #[inline]
6093 fn encode(
6094 mut self,
6095 encoder: &mut ___E,
6096 out: &mut ::core::mem::MaybeUninit<crate::wire::Collection<'static>>,
6097 _: (),
6098 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
6099 ::fidl_next::munge!(let crate::wire::Collection { table } = out);
6100
6101 let max_ord = self.__max_ordinal();
6102
6103 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
6104 ::fidl_next::Wire::zero_padding(&mut out);
6105
6106 let mut preallocated =
6107 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
6108
6109 for i in 1..=max_ord {
6110 match i {
6111 6 => {
6112 if let Some(value) = self.persistent_storage.take() {
6113 ::fidl_next::WireEnvelope::encode_value::<bool, ___E>(
6114 value,
6115 preallocated.encoder,
6116 &mut out,
6117 (),
6118 )?;
6119 } else {
6120 ::fidl_next::WireEnvelope::encode_zero(&mut out)
6121 }
6122 }
6123
6124 5 => {
6125 if let Some(value) = self.allow_long_names.take() {
6126 ::fidl_next::WireEnvelope::encode_value::<bool, ___E>(
6127 value,
6128 preallocated.encoder,
6129 &mut out,
6130 (),
6131 )?;
6132 } else {
6133 ::fidl_next::WireEnvelope::encode_zero(&mut out)
6134 }
6135 }
6136
6137 4 => {
6138 if let Some(value) = self.allowed_offers.take() {
6139 ::fidl_next::WireEnvelope::encode_value::<
6140 crate::wire::AllowedOffers,
6141 ___E,
6142 >(
6143 value, preallocated.encoder, &mut out, ()
6144 )?;
6145 } else {
6146 ::fidl_next::WireEnvelope::encode_zero(&mut out)
6147 }
6148 }
6149
6150 3 => {
6151 if let Some(value) = self.environment.take() {
6152 ::fidl_next::WireEnvelope::encode_value::<
6153 ::fidl_next::WireString<'static>,
6154 ___E,
6155 >(
6156 value, preallocated.encoder, &mut out, 100
6157 )?;
6158 } else {
6159 ::fidl_next::WireEnvelope::encode_zero(&mut out)
6160 }
6161 }
6162
6163 2 => {
6164 if let Some(value) = self.durability.take() {
6165 ::fidl_next::WireEnvelope::encode_value::<crate::wire::Durability, ___E>(
6166 value,
6167 preallocated.encoder,
6168 &mut out,
6169 (),
6170 )?;
6171 } else {
6172 ::fidl_next::WireEnvelope::encode_zero(&mut out)
6173 }
6174 }
6175
6176 1 => {
6177 if let Some(value) = self.name.take() {
6178 ::fidl_next::WireEnvelope::encode_value::<
6179 ::fidl_next::WireString<'static>,
6180 ___E,
6181 >(
6182 value, preallocated.encoder, &mut out, 100
6183 )?;
6184 } else {
6185 ::fidl_next::WireEnvelope::encode_zero(&mut out)
6186 }
6187 }
6188
6189 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
6190 }
6191 unsafe {
6192 preallocated.write_next(out.assume_init_ref());
6193 }
6194 }
6195
6196 ::fidl_next::WireTable::encode_len(table, max_ord);
6197
6198 Ok(())
6199 }
6200 }
6201
6202 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::Collection<'static>, ___E> for &'a Collection
6203 where
6204 ___E: ::fidl_next::Encoder + ?Sized,
6205 {
6206 #[inline]
6207 fn encode(
6208 self,
6209 encoder: &mut ___E,
6210 out: &mut ::core::mem::MaybeUninit<crate::wire::Collection<'static>>,
6211 _: (),
6212 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
6213 ::fidl_next::munge!(let crate::wire::Collection { table } = out);
6214
6215 let max_ord = self.__max_ordinal();
6216
6217 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
6218 ::fidl_next::Wire::zero_padding(&mut out);
6219
6220 let mut preallocated =
6221 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
6222
6223 for i in 1..=max_ord {
6224 match i {
6225 6 => {
6226 if let Some(value) = &self.persistent_storage {
6227 ::fidl_next::WireEnvelope::encode_value::<bool, ___E>(
6228 value,
6229 preallocated.encoder,
6230 &mut out,
6231 (),
6232 )?;
6233 } else {
6234 ::fidl_next::WireEnvelope::encode_zero(&mut out)
6235 }
6236 }
6237
6238 5 => {
6239 if let Some(value) = &self.allow_long_names {
6240 ::fidl_next::WireEnvelope::encode_value::<bool, ___E>(
6241 value,
6242 preallocated.encoder,
6243 &mut out,
6244 (),
6245 )?;
6246 } else {
6247 ::fidl_next::WireEnvelope::encode_zero(&mut out)
6248 }
6249 }
6250
6251 4 => {
6252 if let Some(value) = &self.allowed_offers {
6253 ::fidl_next::WireEnvelope::encode_value::<
6254 crate::wire::AllowedOffers,
6255 ___E,
6256 >(
6257 value, preallocated.encoder, &mut out, ()
6258 )?;
6259 } else {
6260 ::fidl_next::WireEnvelope::encode_zero(&mut out)
6261 }
6262 }
6263
6264 3 => {
6265 if let Some(value) = &self.environment {
6266 ::fidl_next::WireEnvelope::encode_value::<
6267 ::fidl_next::WireString<'static>,
6268 ___E,
6269 >(
6270 value, preallocated.encoder, &mut out, 100
6271 )?;
6272 } else {
6273 ::fidl_next::WireEnvelope::encode_zero(&mut out)
6274 }
6275 }
6276
6277 2 => {
6278 if let Some(value) = &self.durability {
6279 ::fidl_next::WireEnvelope::encode_value::<crate::wire::Durability, ___E>(
6280 value,
6281 preallocated.encoder,
6282 &mut out,
6283 (),
6284 )?;
6285 } else {
6286 ::fidl_next::WireEnvelope::encode_zero(&mut out)
6287 }
6288 }
6289
6290 1 => {
6291 if let Some(value) = &self.name {
6292 ::fidl_next::WireEnvelope::encode_value::<
6293 ::fidl_next::WireString<'static>,
6294 ___E,
6295 >(
6296 value, preallocated.encoder, &mut out, 100
6297 )?;
6298 } else {
6299 ::fidl_next::WireEnvelope::encode_zero(&mut out)
6300 }
6301 }
6302
6303 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
6304 }
6305 unsafe {
6306 preallocated.write_next(out.assume_init_ref());
6307 }
6308 }
6309
6310 ::fidl_next::WireTable::encode_len(table, max_ord);
6311
6312 Ok(())
6313 }
6314 }
6315
6316 impl<'de> ::fidl_next::FromWire<crate::wire::Collection<'de>> for Collection {
6317 #[inline]
6318 fn from_wire(wire_: crate::wire::Collection<'de>) -> Self {
6319 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
6320
6321 let name = wire_.table.get(1);
6322
6323 let durability = wire_.table.get(2);
6324
6325 let environment = wire_.table.get(3);
6326
6327 let allowed_offers = wire_.table.get(4);
6328
6329 let allow_long_names = wire_.table.get(5);
6330
6331 let persistent_storage = wire_.table.get(6);
6332
6333 Self {
6334 name: name.map(|envelope| {
6335 ::fidl_next::FromWire::from_wire(unsafe {
6336 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
6337 })
6338 }),
6339
6340 durability: durability.map(|envelope| {
6341 ::fidl_next::FromWire::from_wire(unsafe {
6342 envelope.read_unchecked::<crate::wire::Durability>()
6343 })
6344 }),
6345
6346 environment: environment.map(|envelope| {
6347 ::fidl_next::FromWire::from_wire(unsafe {
6348 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
6349 })
6350 }),
6351
6352 allowed_offers: allowed_offers.map(|envelope| {
6353 ::fidl_next::FromWire::from_wire(unsafe {
6354 envelope.read_unchecked::<crate::wire::AllowedOffers>()
6355 })
6356 }),
6357
6358 allow_long_names: allow_long_names.map(|envelope| {
6359 ::fidl_next::FromWire::from_wire(unsafe { envelope.read_unchecked::<bool>() })
6360 }),
6361
6362 persistent_storage: persistent_storage.map(|envelope| {
6363 ::fidl_next::FromWire::from_wire(unsafe { envelope.read_unchecked::<bool>() })
6364 }),
6365 }
6366 }
6367 }
6368
6369 impl<'de> ::fidl_next::FromWireRef<crate::wire::Collection<'de>> for Collection {
6370 #[inline]
6371 fn from_wire_ref(wire: &crate::wire::Collection<'de>) -> Self {
6372 Self {
6373 name: wire.table.get(1).map(|envelope| {
6374 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
6375 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
6376 })
6377 }),
6378
6379 durability: wire.table.get(2).map(|envelope| {
6380 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
6381 envelope.deref_unchecked::<crate::wire::Durability>()
6382 })
6383 }),
6384
6385 environment: wire.table.get(3).map(|envelope| {
6386 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
6387 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
6388 })
6389 }),
6390
6391 allowed_offers: wire.table.get(4).map(|envelope| {
6392 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
6393 envelope.deref_unchecked::<crate::wire::AllowedOffers>()
6394 })
6395 }),
6396
6397 allow_long_names: wire.table.get(5).map(|envelope| {
6398 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
6399 envelope.deref_unchecked::<bool>()
6400 })
6401 }),
6402
6403 persistent_storage: wire.table.get(6).map(|envelope| {
6404 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
6405 envelope.deref_unchecked::<bool>()
6406 })
6407 }),
6408 }
6409 }
6410 }
6411
6412 #[doc = " Describes the type of dependency implied by the capability.\n"]
6413 #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
6414 #[repr(u32)]
6415 pub enum DependencyType {
6416 Strong = 1,
6417 Weak = 2,
6418 }
6419 impl ::core::convert::TryFrom<u32> for DependencyType {
6420 type Error = ::fidl_next::UnknownStrictEnumMemberError;
6421 fn try_from(
6422 value: u32,
6423 ) -> ::core::result::Result<Self, ::fidl_next::UnknownStrictEnumMemberError> {
6424 match value {
6425 1 => Ok(Self::Strong),
6426 2 => Ok(Self::Weak),
6427
6428 _ => Err(::fidl_next::UnknownStrictEnumMemberError::new(value.into())),
6429 }
6430 }
6431 }
6432
6433 unsafe impl<___E> ::fidl_next::Encode<crate::wire::DependencyType, ___E> for DependencyType
6434 where
6435 ___E: ?Sized,
6436 {
6437 #[inline]
6438 fn encode(
6439 self,
6440 encoder: &mut ___E,
6441 out: &mut ::core::mem::MaybeUninit<crate::wire::DependencyType>,
6442 _: (),
6443 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
6444 ::fidl_next::Encode::encode(&self, encoder, out, ())
6445 }
6446 }
6447
6448 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::DependencyType, ___E> for &'a DependencyType
6449 where
6450 ___E: ?Sized,
6451 {
6452 #[inline]
6453 fn encode(
6454 self,
6455 encoder: &mut ___E,
6456 out: &mut ::core::mem::MaybeUninit<crate::wire::DependencyType>,
6457 _: (),
6458 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
6459 ::fidl_next::munge!(let crate::wire::DependencyType { value } = out);
6460 let _ = value.write(::fidl_next::WireU32::from(match *self {
6461 DependencyType::Strong => 1,
6462
6463 DependencyType::Weak => 2,
6464 }));
6465
6466 Ok(())
6467 }
6468 }
6469
6470 impl ::core::convert::From<crate::wire::DependencyType> for DependencyType {
6471 fn from(wire: crate::wire::DependencyType) -> Self {
6472 match u32::from(wire.value) {
6473 1 => Self::Strong,
6474
6475 2 => Self::Weak,
6476
6477 _ => unsafe { ::core::hint::unreachable_unchecked() },
6478 }
6479 }
6480 }
6481
6482 impl ::fidl_next::FromWire<crate::wire::DependencyType> for DependencyType {
6483 #[inline]
6484 fn from_wire(wire: crate::wire::DependencyType) -> Self {
6485 Self::from(wire)
6486 }
6487 }
6488
6489 impl ::fidl_next::FromWireRef<crate::wire::DependencyType> for DependencyType {
6490 #[inline]
6491 fn from_wire_ref(wire: &crate::wire::DependencyType) -> Self {
6492 Self::from(*wire)
6493 }
6494 }
6495
6496 #[doc = " Type used to create a mapping between 2 names. Used to rename service or component instances\n in FIDL declarations.\n"]
6497 #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
6498 pub struct NameMapping {
6499 pub source_name: ::std::string::String,
6500
6501 pub target_name: ::std::string::String,
6502 }
6503
6504 unsafe impl<___E> ::fidl_next::Encode<crate::wire::NameMapping<'static>, ___E> for NameMapping
6505 where
6506 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
6507 ___E: ::fidl_next::Encoder,
6508 {
6509 #[inline]
6510 fn encode(
6511 self,
6512 encoder_: &mut ___E,
6513 out_: &mut ::core::mem::MaybeUninit<crate::wire::NameMapping<'static>>,
6514 _: (),
6515 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
6516 ::fidl_next::munge! {
6517 let crate::wire::NameMapping {
6518 source_name,
6519 target_name,
6520
6521 } = out_;
6522 }
6523
6524 ::fidl_next::Encode::encode(self.source_name, encoder_, source_name, 100)?;
6525
6526 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(source_name.as_mut_ptr()) };
6527 ::fidl_next::Constrained::validate(_field, 100)?;
6528
6529 ::fidl_next::Encode::encode(self.target_name, encoder_, target_name, 100)?;
6530
6531 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(target_name.as_mut_ptr()) };
6532 ::fidl_next::Constrained::validate(_field, 100)?;
6533
6534 Ok(())
6535 }
6536 }
6537
6538 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::NameMapping<'static>, ___E>
6539 for &'a NameMapping
6540 where
6541 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
6542 ___E: ::fidl_next::Encoder,
6543 {
6544 #[inline]
6545 fn encode(
6546 self,
6547 encoder_: &mut ___E,
6548 out_: &mut ::core::mem::MaybeUninit<crate::wire::NameMapping<'static>>,
6549 _: (),
6550 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
6551 ::fidl_next::munge! {
6552 let crate::wire::NameMapping {
6553
6554 source_name,
6555 target_name,
6556
6557 } = out_;
6558 }
6559
6560 ::fidl_next::Encode::encode(&self.source_name, encoder_, source_name, 100)?;
6561
6562 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(source_name.as_mut_ptr()) };
6563 ::fidl_next::Constrained::validate(_field, 100)?;
6564
6565 ::fidl_next::Encode::encode(&self.target_name, encoder_, target_name, 100)?;
6566
6567 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(target_name.as_mut_ptr()) };
6568 ::fidl_next::Constrained::validate(_field, 100)?;
6569
6570 Ok(())
6571 }
6572 }
6573
6574 unsafe impl<___E>
6575 ::fidl_next::EncodeOption<
6576 ::fidl_next::WireBox<'static, crate::wire::NameMapping<'static>>,
6577 ___E,
6578 > for NameMapping
6579 where
6580 ___E: ::fidl_next::Encoder + ?Sized,
6581 NameMapping: ::fidl_next::Encode<crate::wire::NameMapping<'static>, ___E>,
6582 {
6583 #[inline]
6584 fn encode_option(
6585 this: ::core::option::Option<Self>,
6586 encoder: &mut ___E,
6587 out: &mut ::core::mem::MaybeUninit<
6588 ::fidl_next::WireBox<'static, crate::wire::NameMapping<'static>>,
6589 >,
6590 _: (),
6591 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
6592 if let Some(inner) = this {
6593 ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
6594 ::fidl_next::WireBox::encode_present(out);
6595 } else {
6596 ::fidl_next::WireBox::encode_absent(out);
6597 }
6598
6599 Ok(())
6600 }
6601 }
6602
6603 unsafe impl<'a, ___E>
6604 ::fidl_next::EncodeOption<
6605 ::fidl_next::WireBox<'static, crate::wire::NameMapping<'static>>,
6606 ___E,
6607 > for &'a NameMapping
6608 where
6609 ___E: ::fidl_next::Encoder + ?Sized,
6610 &'a NameMapping: ::fidl_next::Encode<crate::wire::NameMapping<'static>, ___E>,
6611 {
6612 #[inline]
6613 fn encode_option(
6614 this: ::core::option::Option<Self>,
6615 encoder: &mut ___E,
6616 out: &mut ::core::mem::MaybeUninit<
6617 ::fidl_next::WireBox<'static, crate::wire::NameMapping<'static>>,
6618 >,
6619 _: (),
6620 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
6621 if let Some(inner) = this {
6622 ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
6623 ::fidl_next::WireBox::encode_present(out);
6624 } else {
6625 ::fidl_next::WireBox::encode_absent(out);
6626 }
6627
6628 Ok(())
6629 }
6630 }
6631
6632 impl<'de> ::fidl_next::FromWire<crate::wire::NameMapping<'de>> for NameMapping {
6633 #[inline]
6634 fn from_wire(wire: crate::wire::NameMapping<'de>) -> Self {
6635 Self {
6636 source_name: ::fidl_next::FromWire::from_wire(wire.source_name),
6637
6638 target_name: ::fidl_next::FromWire::from_wire(wire.target_name),
6639 }
6640 }
6641 }
6642
6643 impl<'de> ::fidl_next::FromWireRef<crate::wire::NameMapping<'de>> for NameMapping {
6644 #[inline]
6645 fn from_wire_ref(wire: &crate::wire::NameMapping<'de>) -> Self {
6646 Self {
6647 source_name: ::fidl_next::FromWireRef::from_wire_ref(&wire.source_name),
6648
6649 target_name: ::fidl_next::FromWireRef::from_wire_ref(&wire.target_name),
6650 }
6651 }
6652 }
6653
6654 #[doc = " Specifies how a declared environment\'s initial set of properties are assigned.\n"]
6655 #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
6656 #[repr(u32)]
6657 pub enum EnvironmentExtends {
6658 None = 0,
6659 Realm = 1,
6660 }
6661 impl ::core::convert::TryFrom<u32> for EnvironmentExtends {
6662 type Error = ::fidl_next::UnknownStrictEnumMemberError;
6663 fn try_from(
6664 value: u32,
6665 ) -> ::core::result::Result<Self, ::fidl_next::UnknownStrictEnumMemberError> {
6666 match value {
6667 0 => Ok(Self::None),
6668 1 => Ok(Self::Realm),
6669
6670 _ => Err(::fidl_next::UnknownStrictEnumMemberError::new(value.into())),
6671 }
6672 }
6673 }
6674
6675 unsafe impl<___E> ::fidl_next::Encode<crate::wire::EnvironmentExtends, ___E> for EnvironmentExtends
6676 where
6677 ___E: ?Sized,
6678 {
6679 #[inline]
6680 fn encode(
6681 self,
6682 encoder: &mut ___E,
6683 out: &mut ::core::mem::MaybeUninit<crate::wire::EnvironmentExtends>,
6684 _: (),
6685 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
6686 ::fidl_next::Encode::encode(&self, encoder, out, ())
6687 }
6688 }
6689
6690 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::EnvironmentExtends, ___E>
6691 for &'a EnvironmentExtends
6692 where
6693 ___E: ?Sized,
6694 {
6695 #[inline]
6696 fn encode(
6697 self,
6698 encoder: &mut ___E,
6699 out: &mut ::core::mem::MaybeUninit<crate::wire::EnvironmentExtends>,
6700 _: (),
6701 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
6702 ::fidl_next::munge!(let crate::wire::EnvironmentExtends { value } = out);
6703 let _ = value.write(::fidl_next::WireU32::from(match *self {
6704 EnvironmentExtends::None => 0,
6705
6706 EnvironmentExtends::Realm => 1,
6707 }));
6708
6709 Ok(())
6710 }
6711 }
6712
6713 impl ::core::convert::From<crate::wire::EnvironmentExtends> for EnvironmentExtends {
6714 fn from(wire: crate::wire::EnvironmentExtends) -> Self {
6715 match u32::from(wire.value) {
6716 0 => Self::None,
6717
6718 1 => Self::Realm,
6719
6720 _ => unsafe { ::core::hint::unreachable_unchecked() },
6721 }
6722 }
6723 }
6724
6725 impl ::fidl_next::FromWire<crate::wire::EnvironmentExtends> for EnvironmentExtends {
6726 #[inline]
6727 fn from_wire(wire: crate::wire::EnvironmentExtends) -> Self {
6728 Self::from(wire)
6729 }
6730 }
6731
6732 impl ::fidl_next::FromWireRef<crate::wire::EnvironmentExtends> for EnvironmentExtends {
6733 #[inline]
6734 fn from_wire_ref(wire: &crate::wire::EnvironmentExtends) -> Self {
6735 Self::from(*wire)
6736 }
6737 }
6738
6739 pub type UrlScheme = ::std::string::String;
6740
6741 #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
6742 #[repr(u32)]
6743 pub enum ConfigTypeLayout {
6744 Bool = 1,
6745 Uint8 = 2,
6746 Uint16 = 3,
6747 Uint32 = 4,
6748 Uint64 = 5,
6749 Int8 = 6,
6750 Int16 = 7,
6751 Int32 = 8,
6752 Int64 = 9,
6753 String = 10,
6754 Vector = 11,
6755 UnknownOrdinal_(u32) = 12,
6756 }
6757 impl ::std::convert::From<u32> for ConfigTypeLayout {
6758 fn from(value: u32) -> Self {
6759 match value {
6760 1 => Self::Bool,
6761 2 => Self::Uint8,
6762 3 => Self::Uint16,
6763 4 => Self::Uint32,
6764 5 => Self::Uint64,
6765 6 => Self::Int8,
6766 7 => Self::Int16,
6767 8 => Self::Int32,
6768 9 => Self::Int64,
6769 10 => Self::String,
6770 11 => Self::Vector,
6771
6772 _ => Self::UnknownOrdinal_(value),
6773 }
6774 }
6775 }
6776
6777 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ConfigTypeLayout, ___E> for ConfigTypeLayout
6778 where
6779 ___E: ?Sized,
6780 {
6781 #[inline]
6782 fn encode(
6783 self,
6784 encoder: &mut ___E,
6785 out: &mut ::core::mem::MaybeUninit<crate::wire::ConfigTypeLayout>,
6786 _: (),
6787 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
6788 ::fidl_next::Encode::encode(&self, encoder, out, ())
6789 }
6790 }
6791
6792 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ConfigTypeLayout, ___E>
6793 for &'a ConfigTypeLayout
6794 where
6795 ___E: ?Sized,
6796 {
6797 #[inline]
6798 fn encode(
6799 self,
6800 encoder: &mut ___E,
6801 out: &mut ::core::mem::MaybeUninit<crate::wire::ConfigTypeLayout>,
6802 _: (),
6803 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
6804 ::fidl_next::munge!(let crate::wire::ConfigTypeLayout { value } = out);
6805 let _ = value.write(::fidl_next::WireU32::from(match *self {
6806 ConfigTypeLayout::Bool => 1,
6807
6808 ConfigTypeLayout::Uint8 => 2,
6809
6810 ConfigTypeLayout::Uint16 => 3,
6811
6812 ConfigTypeLayout::Uint32 => 4,
6813
6814 ConfigTypeLayout::Uint64 => 5,
6815
6816 ConfigTypeLayout::Int8 => 6,
6817
6818 ConfigTypeLayout::Int16 => 7,
6819
6820 ConfigTypeLayout::Int32 => 8,
6821
6822 ConfigTypeLayout::Int64 => 9,
6823
6824 ConfigTypeLayout::String => 10,
6825
6826 ConfigTypeLayout::Vector => 11,
6827
6828 ConfigTypeLayout::UnknownOrdinal_(value) => value,
6829 }));
6830
6831 Ok(())
6832 }
6833 }
6834
6835 impl ::core::convert::From<crate::wire::ConfigTypeLayout> for ConfigTypeLayout {
6836 fn from(wire: crate::wire::ConfigTypeLayout) -> Self {
6837 match u32::from(wire.value) {
6838 1 => Self::Bool,
6839
6840 2 => Self::Uint8,
6841
6842 3 => Self::Uint16,
6843
6844 4 => Self::Uint32,
6845
6846 5 => Self::Uint64,
6847
6848 6 => Self::Int8,
6849
6850 7 => Self::Int16,
6851
6852 8 => Self::Int32,
6853
6854 9 => Self::Int64,
6855
6856 10 => Self::String,
6857
6858 11 => Self::Vector,
6859
6860 value => Self::UnknownOrdinal_(value),
6861 }
6862 }
6863 }
6864
6865 impl ::fidl_next::FromWire<crate::wire::ConfigTypeLayout> for ConfigTypeLayout {
6866 #[inline]
6867 fn from_wire(wire: crate::wire::ConfigTypeLayout) -> Self {
6868 Self::from(wire)
6869 }
6870 }
6871
6872 impl ::fidl_next::FromWireRef<crate::wire::ConfigTypeLayout> for ConfigTypeLayout {
6873 #[inline]
6874 fn from_wire_ref(wire: &crate::wire::ConfigTypeLayout) -> Self {
6875 Self::from(*wire)
6876 }
6877 }
6878
6879 #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
6880 pub enum LayoutConstraint {
6881 MaxSize(u32),
6882
6883 UnknownOrdinal_(u64),
6884 }
6885
6886 impl LayoutConstraint {
6887 pub fn is_unknown(&self) -> bool {
6888 #[allow(unreachable_patterns)]
6889 match self {
6890 Self::UnknownOrdinal_(_) => true,
6891 _ => false,
6892 }
6893 }
6894 }
6895
6896 unsafe impl<___E> ::fidl_next::Encode<crate::wire::LayoutConstraint<'static>, ___E>
6897 for LayoutConstraint
6898 where
6899 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
6900 ___E: ::fidl_next::Encoder,
6901 {
6902 #[inline]
6903 fn encode(
6904 self,
6905 encoder: &mut ___E,
6906 out: &mut ::core::mem::MaybeUninit<crate::wire::LayoutConstraint<'static>>,
6907 _: (),
6908 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
6909 ::fidl_next::munge!(let crate::wire::LayoutConstraint { raw, _phantom: _ } = out);
6910
6911 match self {
6912 Self::MaxSize(value) => ::fidl_next::RawWireUnion::encode_as::<
6913 ___E,
6914 ::fidl_next::WireU32,
6915 >(value, 1, encoder, raw, ())?,
6916
6917 Self::UnknownOrdinal_(ordinal) => {
6918 return Err(::fidl_next::EncodeError::UnknownUnionOrdinal(ordinal as usize));
6919 }
6920 }
6921
6922 Ok(())
6923 }
6924 }
6925
6926 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::LayoutConstraint<'static>, ___E>
6927 for &'a LayoutConstraint
6928 where
6929 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
6930 ___E: ::fidl_next::Encoder,
6931 {
6932 #[inline]
6933 fn encode(
6934 self,
6935 encoder: &mut ___E,
6936 out: &mut ::core::mem::MaybeUninit<crate::wire::LayoutConstraint<'static>>,
6937 _: (),
6938 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
6939 ::fidl_next::munge!(let crate::wire::LayoutConstraint { raw, _phantom: _ } = out);
6940
6941 match self {
6942 LayoutConstraint::MaxSize(value) => ::fidl_next::RawWireUnion::encode_as::<
6943 ___E,
6944 ::fidl_next::WireU32,
6945 >(value, 1, encoder, raw, ())?,
6946
6947 LayoutConstraint::UnknownOrdinal_(ordinal) => {
6948 return Err(::fidl_next::EncodeError::UnknownUnionOrdinal(*ordinal as usize));
6949 }
6950 }
6951
6952 Ok(())
6953 }
6954 }
6955
6956 unsafe impl<___E>
6957 ::fidl_next::EncodeOption<crate::wire_optional::LayoutConstraint<'static>, ___E>
6958 for LayoutConstraint
6959 where
6960 ___E: ?Sized,
6961 LayoutConstraint: ::fidl_next::Encode<crate::wire::LayoutConstraint<'static>, ___E>,
6962 {
6963 #[inline]
6964 fn encode_option(
6965 this: ::core::option::Option<Self>,
6966 encoder: &mut ___E,
6967 out: &mut ::core::mem::MaybeUninit<crate::wire_optional::LayoutConstraint<'static>>,
6968 _: (),
6969 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
6970 ::fidl_next::munge!(let crate::wire_optional::LayoutConstraint { raw, _phantom: _ } = &mut *out);
6971
6972 if let Some(inner) = this {
6973 let value_out = unsafe { &mut *out.as_mut_ptr().cast() };
6974 ::fidl_next::Encode::encode(inner, encoder, value_out, ())?;
6975 } else {
6976 ::fidl_next::RawWireUnion::encode_absent(raw);
6977 }
6978
6979 Ok(())
6980 }
6981 }
6982
6983 unsafe impl<'a, ___E>
6984 ::fidl_next::EncodeOption<crate::wire_optional::LayoutConstraint<'static>, ___E>
6985 for &'a LayoutConstraint
6986 where
6987 ___E: ?Sized,
6988 &'a LayoutConstraint: ::fidl_next::Encode<crate::wire::LayoutConstraint<'static>, ___E>,
6989 {
6990 #[inline]
6991 fn encode_option(
6992 this: ::core::option::Option<Self>,
6993 encoder: &mut ___E,
6994 out: &mut ::core::mem::MaybeUninit<crate::wire_optional::LayoutConstraint<'static>>,
6995 _: (),
6996 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
6997 ::fidl_next::munge!(let crate::wire_optional::LayoutConstraint { raw, _phantom: _ } = &mut *out);
6998
6999 if let Some(inner) = this {
7000 let value_out = unsafe { &mut *out.as_mut_ptr().cast() };
7001 ::fidl_next::Encode::encode(inner, encoder, value_out, ())?;
7002 } else {
7003 ::fidl_next::RawWireUnion::encode_absent(raw);
7004 }
7005
7006 Ok(())
7007 }
7008 }
7009
7010 impl<'de> ::fidl_next::FromWire<crate::wire::LayoutConstraint<'de>> for LayoutConstraint {
7011 #[inline]
7012 fn from_wire(wire: crate::wire::LayoutConstraint<'de>) -> Self {
7013 let wire = ::core::mem::ManuallyDrop::new(wire);
7014 match wire.raw.ordinal() {
7015 1 => Self::MaxSize(::fidl_next::FromWire::from_wire(unsafe {
7016 wire.raw.get().read_unchecked::<::fidl_next::WireU32>()
7017 })),
7018
7019 ord => return Self::UnknownOrdinal_(ord as u64),
7020 }
7021 }
7022 }
7023
7024 impl<'de> ::fidl_next::FromWireRef<crate::wire::LayoutConstraint<'de>> for LayoutConstraint {
7025 #[inline]
7026 fn from_wire_ref(wire: &crate::wire::LayoutConstraint<'de>) -> Self {
7027 match wire.raw.ordinal() {
7028 1 => Self::MaxSize(::fidl_next::FromWireRef::from_wire_ref(unsafe {
7029 wire.raw.get().deref_unchecked::<::fidl_next::WireU32>()
7030 })),
7031
7032 ord => return Self::UnknownOrdinal_(ord as u64),
7033 }
7034 }
7035 }
7036
7037 impl<'de> ::fidl_next::FromWireOption<crate::wire_optional::LayoutConstraint<'de>>
7038 for LayoutConstraint
7039 {
7040 #[inline]
7041 fn from_wire_option(
7042 wire: crate::wire_optional::LayoutConstraint<'de>,
7043 ) -> ::core::option::Option<Self> {
7044 if let Some(inner) = wire.into_option() {
7045 Some(::fidl_next::FromWire::from_wire(inner))
7046 } else {
7047 None
7048 }
7049 }
7050 }
7051
7052 impl<'de> ::fidl_next::FromWireOption<crate::wire_optional::LayoutConstraint<'de>>
7053 for Box<LayoutConstraint>
7054 {
7055 #[inline]
7056 fn from_wire_option(
7057 wire: crate::wire_optional::LayoutConstraint<'de>,
7058 ) -> ::core::option::Option<Self> {
7059 <LayoutConstraint as ::fidl_next::FromWireOption<
7060 crate::wire_optional::LayoutConstraint<'de>,
7061 >>::from_wire_option(wire)
7062 .map(Box::new)
7063 }
7064 }
7065
7066 impl<'de> ::fidl_next::FromWireOptionRef<crate::wire_optional::LayoutConstraint<'de>>
7067 for Box<LayoutConstraint>
7068 {
7069 #[inline]
7070 fn from_wire_option_ref(
7071 wire: &crate::wire_optional::LayoutConstraint<'de>,
7072 ) -> ::core::option::Option<Self> {
7073 if let Some(inner) = wire.as_ref() {
7074 Some(Box::new(::fidl_next::FromWireRef::from_wire_ref(inner)))
7075 } else {
7076 None
7077 }
7078 }
7079 }
7080
7081 #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
7082 pub struct ConfigType {
7083 pub layout: crate::natural::ConfigTypeLayout,
7084
7085 pub parameters: ::core::option::Option<::std::vec::Vec<crate::natural::LayoutParameter>>,
7086
7087 pub constraints: ::std::vec::Vec<crate::natural::LayoutConstraint>,
7088 }
7089
7090 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ConfigType<'static>, ___E> for ConfigType
7091 where
7092 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
7093 ___E: ::fidl_next::Encoder,
7094 {
7095 #[inline]
7096 fn encode(
7097 self,
7098 encoder_: &mut ___E,
7099 out_: &mut ::core::mem::MaybeUninit<crate::wire::ConfigType<'static>>,
7100 _: (),
7101 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
7102 ::fidl_next::munge! {
7103 let crate::wire::ConfigType {
7104 layout,
7105 parameters,
7106 constraints,
7107
7108 } = out_;
7109 }
7110
7111 ::fidl_next::Encode::encode(self.layout, encoder_, layout, ())?;
7112
7113 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(layout.as_mut_ptr()) };
7114
7115 ::fidl_next::Encode::encode(self.parameters, encoder_, parameters, (4294967295, ()))?;
7116
7117 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(parameters.as_mut_ptr()) };
7118 ::fidl_next::Constrained::validate(_field, (4294967295, ()))?;
7119
7120 ::fidl_next::Encode::encode(self.constraints, encoder_, constraints, (4294967295, ()))?;
7121
7122 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(constraints.as_mut_ptr()) };
7123 ::fidl_next::Constrained::validate(_field, (4294967295, ()))?;
7124
7125 Ok(())
7126 }
7127 }
7128
7129 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ConfigType<'static>, ___E> for &'a ConfigType
7130 where
7131 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
7132 ___E: ::fidl_next::Encoder,
7133 {
7134 #[inline]
7135 fn encode(
7136 self,
7137 encoder_: &mut ___E,
7138 out_: &mut ::core::mem::MaybeUninit<crate::wire::ConfigType<'static>>,
7139 _: (),
7140 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
7141 ::fidl_next::munge! {
7142 let crate::wire::ConfigType {
7143
7144 layout,
7145 parameters,
7146 constraints,
7147
7148 } = out_;
7149 }
7150
7151 ::fidl_next::Encode::encode(&self.layout, encoder_, layout, ())?;
7152
7153 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(layout.as_mut_ptr()) };
7154
7155 ::fidl_next::Encode::encode(&self.parameters, encoder_, parameters, (4294967295, ()))?;
7156
7157 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(parameters.as_mut_ptr()) };
7158 ::fidl_next::Constrained::validate(_field, (4294967295, ()))?;
7159
7160 ::fidl_next::Encode::encode(
7161 &self.constraints,
7162 encoder_,
7163 constraints,
7164 (4294967295, ()),
7165 )?;
7166
7167 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(constraints.as_mut_ptr()) };
7168 ::fidl_next::Constrained::validate(_field, (4294967295, ()))?;
7169
7170 Ok(())
7171 }
7172 }
7173
7174 unsafe impl<___E>
7175 ::fidl_next::EncodeOption<
7176 ::fidl_next::WireBox<'static, crate::wire::ConfigType<'static>>,
7177 ___E,
7178 > for ConfigType
7179 where
7180 ___E: ::fidl_next::Encoder + ?Sized,
7181 ConfigType: ::fidl_next::Encode<crate::wire::ConfigType<'static>, ___E>,
7182 {
7183 #[inline]
7184 fn encode_option(
7185 this: ::core::option::Option<Self>,
7186 encoder: &mut ___E,
7187 out: &mut ::core::mem::MaybeUninit<
7188 ::fidl_next::WireBox<'static, crate::wire::ConfigType<'static>>,
7189 >,
7190 _: (),
7191 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
7192 if let Some(inner) = this {
7193 ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
7194 ::fidl_next::WireBox::encode_present(out);
7195 } else {
7196 ::fidl_next::WireBox::encode_absent(out);
7197 }
7198
7199 Ok(())
7200 }
7201 }
7202
7203 unsafe impl<'a, ___E>
7204 ::fidl_next::EncodeOption<
7205 ::fidl_next::WireBox<'static, crate::wire::ConfigType<'static>>,
7206 ___E,
7207 > for &'a ConfigType
7208 where
7209 ___E: ::fidl_next::Encoder + ?Sized,
7210 &'a ConfigType: ::fidl_next::Encode<crate::wire::ConfigType<'static>, ___E>,
7211 {
7212 #[inline]
7213 fn encode_option(
7214 this: ::core::option::Option<Self>,
7215 encoder: &mut ___E,
7216 out: &mut ::core::mem::MaybeUninit<
7217 ::fidl_next::WireBox<'static, crate::wire::ConfigType<'static>>,
7218 >,
7219 _: (),
7220 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
7221 if let Some(inner) = this {
7222 ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
7223 ::fidl_next::WireBox::encode_present(out);
7224 } else {
7225 ::fidl_next::WireBox::encode_absent(out);
7226 }
7227
7228 Ok(())
7229 }
7230 }
7231
7232 impl<'de> ::fidl_next::FromWire<crate::wire::ConfigType<'de>> for ConfigType {
7233 #[inline]
7234 fn from_wire(wire: crate::wire::ConfigType<'de>) -> Self {
7235 Self {
7236 layout: ::fidl_next::FromWire::from_wire(wire.layout),
7237
7238 parameters: ::fidl_next::FromWire::from_wire(wire.parameters),
7239
7240 constraints: ::fidl_next::FromWire::from_wire(wire.constraints),
7241 }
7242 }
7243 }
7244
7245 impl<'de> ::fidl_next::FromWireRef<crate::wire::ConfigType<'de>> for ConfigType {
7246 #[inline]
7247 fn from_wire_ref(wire: &crate::wire::ConfigType<'de>) -> Self {
7248 Self {
7249 layout: ::fidl_next::FromWireRef::from_wire_ref(&wire.layout),
7250
7251 parameters: ::fidl_next::FromWireRef::from_wire_ref(&wire.parameters),
7252
7253 constraints: ::fidl_next::FromWireRef::from_wire_ref(&wire.constraints),
7254 }
7255 }
7256 }
7257
7258 #[doc = " The checksum produced for a configuration interface.\n Two configuration interfaces are the same if their checksums are the same.\n"]
7259 #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
7260 pub enum ConfigChecksum {
7261 Sha256([u8; 32]),
7262
7263 UnknownOrdinal_(u64),
7264 }
7265
7266 impl ConfigChecksum {
7267 pub fn is_unknown(&self) -> bool {
7268 #[allow(unreachable_patterns)]
7269 match self {
7270 Self::UnknownOrdinal_(_) => true,
7271 _ => false,
7272 }
7273 }
7274 }
7275
7276 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ConfigChecksum<'static>, ___E> for ConfigChecksum
7277 where
7278 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
7279 ___E: ::fidl_next::Encoder,
7280 {
7281 #[inline]
7282 fn encode(
7283 self,
7284 encoder: &mut ___E,
7285 out: &mut ::core::mem::MaybeUninit<crate::wire::ConfigChecksum<'static>>,
7286 _: (),
7287 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
7288 ::fidl_next::munge!(let crate::wire::ConfigChecksum { raw, _phantom: _ } = out);
7289
7290 match self {
7291 Self::Sha256(value) => ::fidl_next::RawWireUnion::encode_as::<___E, [u8; 32]>(
7292 value,
7293 1,
7294 encoder,
7295 raw,
7296 (),
7297 )?,
7298
7299 Self::UnknownOrdinal_(ordinal) => {
7300 return Err(::fidl_next::EncodeError::UnknownUnionOrdinal(ordinal as usize));
7301 }
7302 }
7303
7304 Ok(())
7305 }
7306 }
7307
7308 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ConfigChecksum<'static>, ___E>
7309 for &'a ConfigChecksum
7310 where
7311 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
7312 ___E: ::fidl_next::Encoder,
7313 {
7314 #[inline]
7315 fn encode(
7316 self,
7317 encoder: &mut ___E,
7318 out: &mut ::core::mem::MaybeUninit<crate::wire::ConfigChecksum<'static>>,
7319 _: (),
7320 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
7321 ::fidl_next::munge!(let crate::wire::ConfigChecksum { raw, _phantom: _ } = out);
7322
7323 match self {
7324 ConfigChecksum::Sha256(value) => ::fidl_next::RawWireUnion::encode_as::<
7325 ___E,
7326 [u8; 32],
7327 >(value, 1, encoder, raw, ())?,
7328
7329 ConfigChecksum::UnknownOrdinal_(ordinal) => {
7330 return Err(::fidl_next::EncodeError::UnknownUnionOrdinal(*ordinal as usize));
7331 }
7332 }
7333
7334 Ok(())
7335 }
7336 }
7337
7338 unsafe impl<___E> ::fidl_next::EncodeOption<crate::wire_optional::ConfigChecksum<'static>, ___E>
7339 for ConfigChecksum
7340 where
7341 ___E: ?Sized,
7342 ConfigChecksum: ::fidl_next::Encode<crate::wire::ConfigChecksum<'static>, ___E>,
7343 {
7344 #[inline]
7345 fn encode_option(
7346 this: ::core::option::Option<Self>,
7347 encoder: &mut ___E,
7348 out: &mut ::core::mem::MaybeUninit<crate::wire_optional::ConfigChecksum<'static>>,
7349 _: (),
7350 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
7351 ::fidl_next::munge!(let crate::wire_optional::ConfigChecksum { raw, _phantom: _ } = &mut *out);
7352
7353 if let Some(inner) = this {
7354 let value_out = unsafe { &mut *out.as_mut_ptr().cast() };
7355 ::fidl_next::Encode::encode(inner, encoder, value_out, ())?;
7356 } else {
7357 ::fidl_next::RawWireUnion::encode_absent(raw);
7358 }
7359
7360 Ok(())
7361 }
7362 }
7363
7364 unsafe impl<'a, ___E>
7365 ::fidl_next::EncodeOption<crate::wire_optional::ConfigChecksum<'static>, ___E>
7366 for &'a ConfigChecksum
7367 where
7368 ___E: ?Sized,
7369 &'a ConfigChecksum: ::fidl_next::Encode<crate::wire::ConfigChecksum<'static>, ___E>,
7370 {
7371 #[inline]
7372 fn encode_option(
7373 this: ::core::option::Option<Self>,
7374 encoder: &mut ___E,
7375 out: &mut ::core::mem::MaybeUninit<crate::wire_optional::ConfigChecksum<'static>>,
7376 _: (),
7377 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
7378 ::fidl_next::munge!(let crate::wire_optional::ConfigChecksum { raw, _phantom: _ } = &mut *out);
7379
7380 if let Some(inner) = this {
7381 let value_out = unsafe { &mut *out.as_mut_ptr().cast() };
7382 ::fidl_next::Encode::encode(inner, encoder, value_out, ())?;
7383 } else {
7384 ::fidl_next::RawWireUnion::encode_absent(raw);
7385 }
7386
7387 Ok(())
7388 }
7389 }
7390
7391 impl<'de> ::fidl_next::FromWire<crate::wire::ConfigChecksum<'de>> for ConfigChecksum {
7392 #[inline]
7393 fn from_wire(wire: crate::wire::ConfigChecksum<'de>) -> Self {
7394 let wire = ::core::mem::ManuallyDrop::new(wire);
7395 match wire.raw.ordinal() {
7396 1 => Self::Sha256(::fidl_next::FromWire::from_wire(unsafe {
7397 wire.raw.get().read_unchecked::<[u8; 32]>()
7398 })),
7399
7400 ord => return Self::UnknownOrdinal_(ord as u64),
7401 }
7402 }
7403 }
7404
7405 impl<'de> ::fidl_next::FromWireRef<crate::wire::ConfigChecksum<'de>> for ConfigChecksum {
7406 #[inline]
7407 fn from_wire_ref(wire: &crate::wire::ConfigChecksum<'de>) -> Self {
7408 match wire.raw.ordinal() {
7409 1 => Self::Sha256(::fidl_next::FromWireRef::from_wire_ref(unsafe {
7410 wire.raw.get().deref_unchecked::<[u8; 32]>()
7411 })),
7412
7413 ord => return Self::UnknownOrdinal_(ord as u64),
7414 }
7415 }
7416 }
7417
7418 impl<'de> ::fidl_next::FromWireOption<crate::wire_optional::ConfigChecksum<'de>>
7419 for ConfigChecksum
7420 {
7421 #[inline]
7422 fn from_wire_option(
7423 wire: crate::wire_optional::ConfigChecksum<'de>,
7424 ) -> ::core::option::Option<Self> {
7425 if let Some(inner) = wire.into_option() {
7426 Some(::fidl_next::FromWire::from_wire(inner))
7427 } else {
7428 None
7429 }
7430 }
7431 }
7432
7433 impl<'de> ::fidl_next::FromWireOption<crate::wire_optional::ConfigChecksum<'de>>
7434 for Box<ConfigChecksum>
7435 {
7436 #[inline]
7437 fn from_wire_option(
7438 wire: crate::wire_optional::ConfigChecksum<'de>,
7439 ) -> ::core::option::Option<Self> {
7440 <ConfigChecksum as ::fidl_next::FromWireOption<
7441 crate::wire_optional::ConfigChecksum<'de>,
7442 >>::from_wire_option(wire)
7443 .map(Box::new)
7444 }
7445 }
7446
7447 impl<'de> ::fidl_next::FromWireOptionRef<crate::wire_optional::ConfigChecksum<'de>>
7448 for Box<ConfigChecksum>
7449 {
7450 #[inline]
7451 fn from_wire_option_ref(
7452 wire: &crate::wire_optional::ConfigChecksum<'de>,
7453 ) -> ::core::option::Option<Self> {
7454 if let Some(inner) = wire.as_ref() {
7455 Some(Box::new(::fidl_next::FromWireRef::from_wire_ref(inner)))
7456 } else {
7457 None
7458 }
7459 }
7460 }
7461
7462 #[doc = " Declares storage used by a component, which was offered to it.\n"]
7463 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
7464 pub struct UseStorage {
7465 pub source_name: ::core::option::Option<::std::string::String>,
7466
7467 pub target_path: ::core::option::Option<::std::string::String>,
7468
7469 pub availability: ::core::option::Option<crate::natural::Availability>,
7470 }
7471
7472 impl UseStorage {
7473 fn __max_ordinal(&self) -> usize {
7474 if self.availability.is_some() {
7475 return 3;
7476 }
7477
7478 if self.target_path.is_some() {
7479 return 2;
7480 }
7481
7482 if self.source_name.is_some() {
7483 return 1;
7484 }
7485
7486 0
7487 }
7488 }
7489
7490 unsafe impl<___E> ::fidl_next::Encode<crate::wire::UseStorage<'static>, ___E> for UseStorage
7491 where
7492 ___E: ::fidl_next::Encoder + ?Sized,
7493 {
7494 #[inline]
7495 fn encode(
7496 mut self,
7497 encoder: &mut ___E,
7498 out: &mut ::core::mem::MaybeUninit<crate::wire::UseStorage<'static>>,
7499 _: (),
7500 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
7501 ::fidl_next::munge!(let crate::wire::UseStorage { table } = out);
7502
7503 let max_ord = self.__max_ordinal();
7504
7505 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
7506 ::fidl_next::Wire::zero_padding(&mut out);
7507
7508 let mut preallocated =
7509 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
7510
7511 for i in 1..=max_ord {
7512 match i {
7513 3 => {
7514 if let Some(value) = self.availability.take() {
7515 ::fidl_next::WireEnvelope::encode_value::<
7516 crate::wire::Availability,
7517 ___E,
7518 >(
7519 value, preallocated.encoder, &mut out, ()
7520 )?;
7521 } else {
7522 ::fidl_next::WireEnvelope::encode_zero(&mut out)
7523 }
7524 }
7525
7526 2 => {
7527 if let Some(value) = self.target_path.take() {
7528 ::fidl_next::WireEnvelope::encode_value::<
7529 ::fidl_next::WireString<'static>,
7530 ___E,
7531 >(
7532 value, preallocated.encoder, &mut out, 1024
7533 )?;
7534 } else {
7535 ::fidl_next::WireEnvelope::encode_zero(&mut out)
7536 }
7537 }
7538
7539 1 => {
7540 if let Some(value) = self.source_name.take() {
7541 ::fidl_next::WireEnvelope::encode_value::<
7542 ::fidl_next::WireString<'static>,
7543 ___E,
7544 >(
7545 value, preallocated.encoder, &mut out, 100
7546 )?;
7547 } else {
7548 ::fidl_next::WireEnvelope::encode_zero(&mut out)
7549 }
7550 }
7551
7552 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
7553 }
7554 unsafe {
7555 preallocated.write_next(out.assume_init_ref());
7556 }
7557 }
7558
7559 ::fidl_next::WireTable::encode_len(table, max_ord);
7560
7561 Ok(())
7562 }
7563 }
7564
7565 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::UseStorage<'static>, ___E> for &'a UseStorage
7566 where
7567 ___E: ::fidl_next::Encoder + ?Sized,
7568 {
7569 #[inline]
7570 fn encode(
7571 self,
7572 encoder: &mut ___E,
7573 out: &mut ::core::mem::MaybeUninit<crate::wire::UseStorage<'static>>,
7574 _: (),
7575 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
7576 ::fidl_next::munge!(let crate::wire::UseStorage { table } = out);
7577
7578 let max_ord = self.__max_ordinal();
7579
7580 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
7581 ::fidl_next::Wire::zero_padding(&mut out);
7582
7583 let mut preallocated =
7584 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
7585
7586 for i in 1..=max_ord {
7587 match i {
7588 3 => {
7589 if let Some(value) = &self.availability {
7590 ::fidl_next::WireEnvelope::encode_value::<
7591 crate::wire::Availability,
7592 ___E,
7593 >(
7594 value, preallocated.encoder, &mut out, ()
7595 )?;
7596 } else {
7597 ::fidl_next::WireEnvelope::encode_zero(&mut out)
7598 }
7599 }
7600
7601 2 => {
7602 if let Some(value) = &self.target_path {
7603 ::fidl_next::WireEnvelope::encode_value::<
7604 ::fidl_next::WireString<'static>,
7605 ___E,
7606 >(
7607 value, preallocated.encoder, &mut out, 1024
7608 )?;
7609 } else {
7610 ::fidl_next::WireEnvelope::encode_zero(&mut out)
7611 }
7612 }
7613
7614 1 => {
7615 if let Some(value) = &self.source_name {
7616 ::fidl_next::WireEnvelope::encode_value::<
7617 ::fidl_next::WireString<'static>,
7618 ___E,
7619 >(
7620 value, preallocated.encoder, &mut out, 100
7621 )?;
7622 } else {
7623 ::fidl_next::WireEnvelope::encode_zero(&mut out)
7624 }
7625 }
7626
7627 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
7628 }
7629 unsafe {
7630 preallocated.write_next(out.assume_init_ref());
7631 }
7632 }
7633
7634 ::fidl_next::WireTable::encode_len(table, max_ord);
7635
7636 Ok(())
7637 }
7638 }
7639
7640 impl<'de> ::fidl_next::FromWire<crate::wire::UseStorage<'de>> for UseStorage {
7641 #[inline]
7642 fn from_wire(wire_: crate::wire::UseStorage<'de>) -> Self {
7643 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
7644
7645 let source_name = wire_.table.get(1);
7646
7647 let target_path = wire_.table.get(2);
7648
7649 let availability = wire_.table.get(3);
7650
7651 Self {
7652 source_name: source_name.map(|envelope| {
7653 ::fidl_next::FromWire::from_wire(unsafe {
7654 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
7655 })
7656 }),
7657
7658 target_path: target_path.map(|envelope| {
7659 ::fidl_next::FromWire::from_wire(unsafe {
7660 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
7661 })
7662 }),
7663
7664 availability: availability.map(|envelope| {
7665 ::fidl_next::FromWire::from_wire(unsafe {
7666 envelope.read_unchecked::<crate::wire::Availability>()
7667 })
7668 }),
7669 }
7670 }
7671 }
7672
7673 impl<'de> ::fidl_next::FromWireRef<crate::wire::UseStorage<'de>> for UseStorage {
7674 #[inline]
7675 fn from_wire_ref(wire: &crate::wire::UseStorage<'de>) -> Self {
7676 Self {
7677 source_name: wire.table.get(1).map(|envelope| {
7678 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
7679 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
7680 })
7681 }),
7682
7683 target_path: wire.table.get(2).map(|envelope| {
7684 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
7685 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
7686 })
7687 }),
7688
7689 availability: wire.table.get(3).map(|envelope| {
7690 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
7691 envelope.deref_unchecked::<crate::wire::Availability>()
7692 })
7693 }),
7694 }
7695 }
7696 }
7697
7698 ::fidl_next::bitflags::bitflags! {
7699 #[doc = " Allowed sources for runtime overrides of a config field\'s value.\n"]#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, )]pub struct ConfigMutability: u32 {
7700 #[doc = " Allow parent components to provide overrides for the configuration field.\n"]const PARENT = 1;
7701 const _ = !0;
7702 }
7703 }
7704
7705 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ConfigMutability, ___E> for ConfigMutability
7706 where
7707 ___E: ?Sized,
7708 {
7709 #[inline]
7710 fn encode(
7711 self,
7712 encoder: &mut ___E,
7713 out: &mut ::core::mem::MaybeUninit<crate::wire::ConfigMutability>,
7714 _: (),
7715 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
7716 ::fidl_next::Encode::encode(&self, encoder, out, ())
7717 }
7718 }
7719
7720 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ConfigMutability, ___E>
7721 for &'a ConfigMutability
7722 where
7723 ___E: ?Sized,
7724 {
7725 #[inline]
7726 fn encode(
7727 self,
7728 _: &mut ___E,
7729 out: &mut ::core::mem::MaybeUninit<crate::wire::ConfigMutability>,
7730 _: (),
7731 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
7732 ::fidl_next::munge!(let crate::wire::ConfigMutability { value } = out);
7733
7734 let _ = value.write(::fidl_next::WireU32::from(self.bits()));
7735 Ok(())
7736 }
7737 }
7738
7739 impl ::core::convert::From<crate::wire::ConfigMutability> for ConfigMutability {
7740 fn from(wire: crate::wire::ConfigMutability) -> Self {
7741 Self::from_bits_retain(u32::from(wire.value))
7742 }
7743 }
7744
7745 impl ::fidl_next::FromWire<crate::wire::ConfigMutability> for ConfigMutability {
7746 #[inline]
7747 fn from_wire(wire: crate::wire::ConfigMutability) -> Self {
7748 Self::from(wire)
7749 }
7750 }
7751
7752 impl ::fidl_next::FromWireRef<crate::wire::ConfigMutability> for ConfigMutability {
7753 #[inline]
7754 fn from_wire_ref(wire: &crate::wire::ConfigMutability) -> Self {
7755 Self::from(*wire)
7756 }
7757 }
7758
7759 #[doc = " Declares a single config field (key + type)\n"]
7760 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
7761 pub struct ConfigField {
7762 pub key: ::core::option::Option<::std::string::String>,
7763
7764 pub type_: ::core::option::Option<crate::natural::ConfigType>,
7765
7766 pub mutability: ::core::option::Option<crate::natural::ConfigMutability>,
7767 }
7768
7769 impl ConfigField {
7770 fn __max_ordinal(&self) -> usize {
7771 if self.mutability.is_some() {
7772 return 3;
7773 }
7774
7775 if self.type_.is_some() {
7776 return 2;
7777 }
7778
7779 if self.key.is_some() {
7780 return 1;
7781 }
7782
7783 0
7784 }
7785 }
7786
7787 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ConfigField<'static>, ___E> for ConfigField
7788 where
7789 ___E: ::fidl_next::Encoder + ?Sized,
7790 {
7791 #[inline]
7792 fn encode(
7793 mut self,
7794 encoder: &mut ___E,
7795 out: &mut ::core::mem::MaybeUninit<crate::wire::ConfigField<'static>>,
7796 _: (),
7797 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
7798 ::fidl_next::munge!(let crate::wire::ConfigField { table } = out);
7799
7800 let max_ord = self.__max_ordinal();
7801
7802 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
7803 ::fidl_next::Wire::zero_padding(&mut out);
7804
7805 let mut preallocated =
7806 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
7807
7808 for i in 1..=max_ord {
7809 match i {
7810 3 => {
7811 if let Some(value) = self.mutability.take() {
7812 ::fidl_next::WireEnvelope::encode_value::<
7813 crate::wire::ConfigMutability,
7814 ___E,
7815 >(
7816 value, preallocated.encoder, &mut out, ()
7817 )?;
7818 } else {
7819 ::fidl_next::WireEnvelope::encode_zero(&mut out)
7820 }
7821 }
7822
7823 2 => {
7824 if let Some(value) = self.type_.take() {
7825 ::fidl_next::WireEnvelope::encode_value::<
7826 crate::wire::ConfigType<'static>,
7827 ___E,
7828 >(
7829 value, preallocated.encoder, &mut out, ()
7830 )?;
7831 } else {
7832 ::fidl_next::WireEnvelope::encode_zero(&mut out)
7833 }
7834 }
7835
7836 1 => {
7837 if let Some(value) = self.key.take() {
7838 ::fidl_next::WireEnvelope::encode_value::<
7839 ::fidl_next::WireString<'static>,
7840 ___E,
7841 >(
7842 value, preallocated.encoder, &mut out, 64
7843 )?;
7844 } else {
7845 ::fidl_next::WireEnvelope::encode_zero(&mut out)
7846 }
7847 }
7848
7849 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
7850 }
7851 unsafe {
7852 preallocated.write_next(out.assume_init_ref());
7853 }
7854 }
7855
7856 ::fidl_next::WireTable::encode_len(table, max_ord);
7857
7858 Ok(())
7859 }
7860 }
7861
7862 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ConfigField<'static>, ___E>
7863 for &'a ConfigField
7864 where
7865 ___E: ::fidl_next::Encoder + ?Sized,
7866 {
7867 #[inline]
7868 fn encode(
7869 self,
7870 encoder: &mut ___E,
7871 out: &mut ::core::mem::MaybeUninit<crate::wire::ConfigField<'static>>,
7872 _: (),
7873 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
7874 ::fidl_next::munge!(let crate::wire::ConfigField { table } = out);
7875
7876 let max_ord = self.__max_ordinal();
7877
7878 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
7879 ::fidl_next::Wire::zero_padding(&mut out);
7880
7881 let mut preallocated =
7882 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
7883
7884 for i in 1..=max_ord {
7885 match i {
7886 3 => {
7887 if let Some(value) = &self.mutability {
7888 ::fidl_next::WireEnvelope::encode_value::<
7889 crate::wire::ConfigMutability,
7890 ___E,
7891 >(
7892 value, preallocated.encoder, &mut out, ()
7893 )?;
7894 } else {
7895 ::fidl_next::WireEnvelope::encode_zero(&mut out)
7896 }
7897 }
7898
7899 2 => {
7900 if let Some(value) = &self.type_ {
7901 ::fidl_next::WireEnvelope::encode_value::<
7902 crate::wire::ConfigType<'static>,
7903 ___E,
7904 >(
7905 value, preallocated.encoder, &mut out, ()
7906 )?;
7907 } else {
7908 ::fidl_next::WireEnvelope::encode_zero(&mut out)
7909 }
7910 }
7911
7912 1 => {
7913 if let Some(value) = &self.key {
7914 ::fidl_next::WireEnvelope::encode_value::<
7915 ::fidl_next::WireString<'static>,
7916 ___E,
7917 >(
7918 value, preallocated.encoder, &mut out, 64
7919 )?;
7920 } else {
7921 ::fidl_next::WireEnvelope::encode_zero(&mut out)
7922 }
7923 }
7924
7925 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
7926 }
7927 unsafe {
7928 preallocated.write_next(out.assume_init_ref());
7929 }
7930 }
7931
7932 ::fidl_next::WireTable::encode_len(table, max_ord);
7933
7934 Ok(())
7935 }
7936 }
7937
7938 impl<'de> ::fidl_next::FromWire<crate::wire::ConfigField<'de>> for ConfigField {
7939 #[inline]
7940 fn from_wire(wire_: crate::wire::ConfigField<'de>) -> Self {
7941 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
7942
7943 let key = wire_.table.get(1);
7944
7945 let type_ = wire_.table.get(2);
7946
7947 let mutability = wire_.table.get(3);
7948
7949 Self {
7950 key: key.map(|envelope| {
7951 ::fidl_next::FromWire::from_wire(unsafe {
7952 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
7953 })
7954 }),
7955
7956 type_: type_.map(|envelope| {
7957 ::fidl_next::FromWire::from_wire(unsafe {
7958 envelope.read_unchecked::<crate::wire::ConfigType<'de>>()
7959 })
7960 }),
7961
7962 mutability: mutability.map(|envelope| {
7963 ::fidl_next::FromWire::from_wire(unsafe {
7964 envelope.read_unchecked::<crate::wire::ConfigMutability>()
7965 })
7966 }),
7967 }
7968 }
7969 }
7970
7971 impl<'de> ::fidl_next::FromWireRef<crate::wire::ConfigField<'de>> for ConfigField {
7972 #[inline]
7973 fn from_wire_ref(wire: &crate::wire::ConfigField<'de>) -> Self {
7974 Self {
7975 key: wire.table.get(1).map(|envelope| {
7976 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
7977 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
7978 })
7979 }),
7980
7981 type_: wire.table.get(2).map(|envelope| {
7982 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
7983 envelope.deref_unchecked::<crate::wire::ConfigType<'de>>()
7984 })
7985 }),
7986
7987 mutability: wire.table.get(3).map(|envelope| {
7988 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
7989 envelope.deref_unchecked::<crate::wire::ConfigMutability>()
7990 })
7991 }),
7992 }
7993 }
7994 }
7995
7996 #[doc = " A program declaration.\n\n This declaration is set by executable components to designate the runner to\n use and pass runner-specific program information to it.\n\n To learn more about runners, see:\n https://fuchsia.dev/fuchsia-src/glossary#runner\n"]
7997 #[derive(Debug, Default, PartialEq)]
7998 pub struct Program {
7999 pub runner: ::core::option::Option<::std::string::String>,
8000
8001 pub info: ::core::option::Option<::fidl_next_common_fuchsia_data::natural::Dictionary>,
8002 }
8003
8004 impl Program {
8005 fn __max_ordinal(&self) -> usize {
8006 if self.info.is_some() {
8007 return 2;
8008 }
8009
8010 if self.runner.is_some() {
8011 return 1;
8012 }
8013
8014 0
8015 }
8016 }
8017
8018 unsafe impl<___E> ::fidl_next::Encode<crate::wire::Program<'static>, ___E> for Program
8019 where
8020 ___E: ::fidl_next::Encoder + ?Sized,
8021 {
8022 #[inline]
8023 fn encode(
8024 mut self,
8025 encoder: &mut ___E,
8026 out: &mut ::core::mem::MaybeUninit<crate::wire::Program<'static>>,
8027 _: (),
8028 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
8029 ::fidl_next::munge!(let crate::wire::Program { table } = out);
8030
8031 let max_ord = self.__max_ordinal();
8032
8033 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
8034 ::fidl_next::Wire::zero_padding(&mut out);
8035
8036 let mut preallocated =
8037 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
8038
8039 for i in 1..=max_ord {
8040 match i {
8041 2 => {
8042 if let Some(value) = self.info.take() {
8043 ::fidl_next::WireEnvelope::encode_value::<
8044 ::fidl_next_common_fuchsia_data::wire::Dictionary<'static>,
8045 ___E,
8046 >(
8047 value, preallocated.encoder, &mut out, ()
8048 )?;
8049 } else {
8050 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8051 }
8052 }
8053
8054 1 => {
8055 if let Some(value) = self.runner.take() {
8056 ::fidl_next::WireEnvelope::encode_value::<
8057 ::fidl_next::WireString<'static>,
8058 ___E,
8059 >(
8060 value, preallocated.encoder, &mut out, 100
8061 )?;
8062 } else {
8063 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8064 }
8065 }
8066
8067 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
8068 }
8069 unsafe {
8070 preallocated.write_next(out.assume_init_ref());
8071 }
8072 }
8073
8074 ::fidl_next::WireTable::encode_len(table, max_ord);
8075
8076 Ok(())
8077 }
8078 }
8079
8080 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::Program<'static>, ___E> for &'a Program
8081 where
8082 ___E: ::fidl_next::Encoder + ?Sized,
8083 {
8084 #[inline]
8085 fn encode(
8086 self,
8087 encoder: &mut ___E,
8088 out: &mut ::core::mem::MaybeUninit<crate::wire::Program<'static>>,
8089 _: (),
8090 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
8091 ::fidl_next::munge!(let crate::wire::Program { table } = out);
8092
8093 let max_ord = self.__max_ordinal();
8094
8095 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
8096 ::fidl_next::Wire::zero_padding(&mut out);
8097
8098 let mut preallocated =
8099 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
8100
8101 for i in 1..=max_ord {
8102 match i {
8103 2 => {
8104 if let Some(value) = &self.info {
8105 ::fidl_next::WireEnvelope::encode_value::<
8106 ::fidl_next_common_fuchsia_data::wire::Dictionary<'static>,
8107 ___E,
8108 >(
8109 value, preallocated.encoder, &mut out, ()
8110 )?;
8111 } else {
8112 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8113 }
8114 }
8115
8116 1 => {
8117 if let Some(value) = &self.runner {
8118 ::fidl_next::WireEnvelope::encode_value::<
8119 ::fidl_next::WireString<'static>,
8120 ___E,
8121 >(
8122 value, preallocated.encoder, &mut out, 100
8123 )?;
8124 } else {
8125 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8126 }
8127 }
8128
8129 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
8130 }
8131 unsafe {
8132 preallocated.write_next(out.assume_init_ref());
8133 }
8134 }
8135
8136 ::fidl_next::WireTable::encode_len(table, max_ord);
8137
8138 Ok(())
8139 }
8140 }
8141
8142 impl<'de> ::fidl_next::FromWire<crate::wire::Program<'de>> for Program {
8143 #[inline]
8144 fn from_wire(wire_: crate::wire::Program<'de>) -> Self {
8145 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
8146
8147 let runner = wire_.table.get(1);
8148
8149 let info = wire_.table.get(2);
8150
8151 Self {
8152
8153
8154 runner: runner.map(|envelope| ::fidl_next::FromWire::from_wire(
8155 unsafe { envelope.read_unchecked::<::fidl_next::WireString<'de>>() }
8156 )),
8157
8158
8159 info: info.map(|envelope| ::fidl_next::FromWire::from_wire(
8160 unsafe { envelope.read_unchecked::<::fidl_next_common_fuchsia_data::wire::Dictionary<'de>>() }
8161 )),
8162
8163 }
8164 }
8165 }
8166
8167 impl<'de> ::fidl_next::FromWireRef<crate::wire::Program<'de>> for Program {
8168 #[inline]
8169 fn from_wire_ref(wire: &crate::wire::Program<'de>) -> Self {
8170 Self {
8171
8172
8173 runner: wire.table.get(1)
8174 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
8175 unsafe { envelope.deref_unchecked::<::fidl_next::WireString<'de>>() }
8176 )),
8177
8178
8179 info: wire.table.get(2)
8180 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
8181 unsafe { envelope.deref_unchecked::<::fidl_next_common_fuchsia_data::wire::Dictionary<'de>>() }
8182 )),
8183
8184 }
8185 }
8186 }
8187
8188 #[doc = " Debug information about the component.\n"]
8189 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
8190 pub struct DebugInfo {
8191 pub manifest_sources: ::core::option::Option<::std::vec::Vec<::std::string::String>>,
8192 }
8193
8194 impl DebugInfo {
8195 fn __max_ordinal(&self) -> usize {
8196 if self.manifest_sources.is_some() {
8197 return 1;
8198 }
8199
8200 0
8201 }
8202 }
8203
8204 unsafe impl<___E> ::fidl_next::Encode<crate::wire::DebugInfo<'static>, ___E> for DebugInfo
8205 where
8206 ___E: ::fidl_next::Encoder + ?Sized,
8207 {
8208 #[inline]
8209 fn encode(
8210 mut self,
8211 encoder: &mut ___E,
8212 out: &mut ::core::mem::MaybeUninit<crate::wire::DebugInfo<'static>>,
8213 _: (),
8214 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
8215 ::fidl_next::munge!(let crate::wire::DebugInfo { table } = out);
8216
8217 let max_ord = self.__max_ordinal();
8218
8219 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
8220 ::fidl_next::Wire::zero_padding(&mut out);
8221
8222 let mut preallocated =
8223 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
8224
8225 for i in 1..=max_ord {
8226 match i {
8227 1 => {
8228 if let Some(value) = self.manifest_sources.take() {
8229 ::fidl_next::WireEnvelope::encode_value::<
8230 ::fidl_next::WireVector<'static, ::fidl_next::WireString<'static>>,
8231 ___E,
8232 >(
8233 value, preallocated.encoder, &mut out, (4294967295, 4294967295)
8234 )?;
8235 } else {
8236 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8237 }
8238 }
8239
8240 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
8241 }
8242 unsafe {
8243 preallocated.write_next(out.assume_init_ref());
8244 }
8245 }
8246
8247 ::fidl_next::WireTable::encode_len(table, max_ord);
8248
8249 Ok(())
8250 }
8251 }
8252
8253 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::DebugInfo<'static>, ___E> for &'a DebugInfo
8254 where
8255 ___E: ::fidl_next::Encoder + ?Sized,
8256 {
8257 #[inline]
8258 fn encode(
8259 self,
8260 encoder: &mut ___E,
8261 out: &mut ::core::mem::MaybeUninit<crate::wire::DebugInfo<'static>>,
8262 _: (),
8263 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
8264 ::fidl_next::munge!(let crate::wire::DebugInfo { table } = out);
8265
8266 let max_ord = self.__max_ordinal();
8267
8268 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
8269 ::fidl_next::Wire::zero_padding(&mut out);
8270
8271 let mut preallocated =
8272 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
8273
8274 for i in 1..=max_ord {
8275 match i {
8276 1 => {
8277 if let Some(value) = &self.manifest_sources {
8278 ::fidl_next::WireEnvelope::encode_value::<
8279 ::fidl_next::WireVector<'static, ::fidl_next::WireString<'static>>,
8280 ___E,
8281 >(
8282 value, preallocated.encoder, &mut out, (4294967295, 4294967295)
8283 )?;
8284 } else {
8285 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8286 }
8287 }
8288
8289 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
8290 }
8291 unsafe {
8292 preallocated.write_next(out.assume_init_ref());
8293 }
8294 }
8295
8296 ::fidl_next::WireTable::encode_len(table, max_ord);
8297
8298 Ok(())
8299 }
8300 }
8301
8302 impl<'de> ::fidl_next::FromWire<crate::wire::DebugInfo<'de>> for DebugInfo {
8303 #[inline]
8304 fn from_wire(wire_: crate::wire::DebugInfo<'de>) -> Self {
8305 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
8306
8307 let manifest_sources = wire_.table.get(1);
8308
8309 Self {
8310
8311
8312 manifest_sources: manifest_sources.map(|envelope| ::fidl_next::FromWire::from_wire(
8313 unsafe { envelope.read_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireString<'de>>>() }
8314 )),
8315
8316 }
8317 }
8318 }
8319
8320 impl<'de> ::fidl_next::FromWireRef<crate::wire::DebugInfo<'de>> for DebugInfo {
8321 #[inline]
8322 fn from_wire_ref(wire: &crate::wire::DebugInfo<'de>) -> Self {
8323 Self {
8324
8325
8326 manifest_sources: wire.table.get(1)
8327 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
8328 unsafe { envelope.deref_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireString<'de>>>() }
8329 )),
8330
8331 }
8332 }
8333 }
8334
8335 #[doc = " Declares a service used by a component, which was offered to it.\n\n To learn more about services, see:\n https://fuchsia.dev/fuchsia-src/glossary#service\n"]
8336 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
8337 pub struct UseService {
8338 pub source: ::core::option::Option<crate::natural::Ref>,
8339
8340 pub source_name: ::core::option::Option<::std::string::String>,
8341
8342 pub target_path: ::core::option::Option<::std::string::String>,
8343
8344 pub dependency_type: ::core::option::Option<crate::natural::DependencyType>,
8345
8346 pub availability: ::core::option::Option<crate::natural::Availability>,
8347
8348 pub source_dictionary: ::core::option::Option<::std::string::String>,
8349 }
8350
8351 impl UseService {
8352 fn __max_ordinal(&self) -> usize {
8353 if self.source_dictionary.is_some() {
8354 return 6;
8355 }
8356
8357 if self.availability.is_some() {
8358 return 5;
8359 }
8360
8361 if self.dependency_type.is_some() {
8362 return 4;
8363 }
8364
8365 if self.target_path.is_some() {
8366 return 3;
8367 }
8368
8369 if self.source_name.is_some() {
8370 return 2;
8371 }
8372
8373 if self.source.is_some() {
8374 return 1;
8375 }
8376
8377 0
8378 }
8379 }
8380
8381 unsafe impl<___E> ::fidl_next::Encode<crate::wire::UseService<'static>, ___E> for UseService
8382 where
8383 ___E: ::fidl_next::Encoder + ?Sized,
8384 {
8385 #[inline]
8386 fn encode(
8387 mut self,
8388 encoder: &mut ___E,
8389 out: &mut ::core::mem::MaybeUninit<crate::wire::UseService<'static>>,
8390 _: (),
8391 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
8392 ::fidl_next::munge!(let crate::wire::UseService { table } = out);
8393
8394 let max_ord = self.__max_ordinal();
8395
8396 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
8397 ::fidl_next::Wire::zero_padding(&mut out);
8398
8399 let mut preallocated =
8400 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
8401
8402 for i in 1..=max_ord {
8403 match i {
8404 6 => {
8405 if let Some(value) = self.source_dictionary.take() {
8406 ::fidl_next::WireEnvelope::encode_value::<
8407 ::fidl_next::WireString<'static>,
8408 ___E,
8409 >(
8410 value, preallocated.encoder, &mut out, 1024
8411 )?;
8412 } else {
8413 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8414 }
8415 }
8416
8417 5 => {
8418 if let Some(value) = self.availability.take() {
8419 ::fidl_next::WireEnvelope::encode_value::<
8420 crate::wire::Availability,
8421 ___E,
8422 >(
8423 value, preallocated.encoder, &mut out, ()
8424 )?;
8425 } else {
8426 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8427 }
8428 }
8429
8430 4 => {
8431 if let Some(value) = self.dependency_type.take() {
8432 ::fidl_next::WireEnvelope::encode_value::<
8433 crate::wire::DependencyType,
8434 ___E,
8435 >(
8436 value, preallocated.encoder, &mut out, ()
8437 )?;
8438 } else {
8439 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8440 }
8441 }
8442
8443 3 => {
8444 if let Some(value) = self.target_path.take() {
8445 ::fidl_next::WireEnvelope::encode_value::<
8446 ::fidl_next::WireString<'static>,
8447 ___E,
8448 >(
8449 value, preallocated.encoder, &mut out, 1024
8450 )?;
8451 } else {
8452 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8453 }
8454 }
8455
8456 2 => {
8457 if let Some(value) = self.source_name.take() {
8458 ::fidl_next::WireEnvelope::encode_value::<
8459 ::fidl_next::WireString<'static>,
8460 ___E,
8461 >(
8462 value, preallocated.encoder, &mut out, 100
8463 )?;
8464 } else {
8465 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8466 }
8467 }
8468
8469 1 => {
8470 if let Some(value) = self.source.take() {
8471 ::fidl_next::WireEnvelope::encode_value::<
8472 crate::wire::Ref<'static>,
8473 ___E,
8474 >(
8475 value, preallocated.encoder, &mut out, ()
8476 )?;
8477 } else {
8478 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8479 }
8480 }
8481
8482 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
8483 }
8484 unsafe {
8485 preallocated.write_next(out.assume_init_ref());
8486 }
8487 }
8488
8489 ::fidl_next::WireTable::encode_len(table, max_ord);
8490
8491 Ok(())
8492 }
8493 }
8494
8495 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::UseService<'static>, ___E> for &'a UseService
8496 where
8497 ___E: ::fidl_next::Encoder + ?Sized,
8498 {
8499 #[inline]
8500 fn encode(
8501 self,
8502 encoder: &mut ___E,
8503 out: &mut ::core::mem::MaybeUninit<crate::wire::UseService<'static>>,
8504 _: (),
8505 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
8506 ::fidl_next::munge!(let crate::wire::UseService { table } = out);
8507
8508 let max_ord = self.__max_ordinal();
8509
8510 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
8511 ::fidl_next::Wire::zero_padding(&mut out);
8512
8513 let mut preallocated =
8514 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
8515
8516 for i in 1..=max_ord {
8517 match i {
8518 6 => {
8519 if let Some(value) = &self.source_dictionary {
8520 ::fidl_next::WireEnvelope::encode_value::<
8521 ::fidl_next::WireString<'static>,
8522 ___E,
8523 >(
8524 value, preallocated.encoder, &mut out, 1024
8525 )?;
8526 } else {
8527 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8528 }
8529 }
8530
8531 5 => {
8532 if let Some(value) = &self.availability {
8533 ::fidl_next::WireEnvelope::encode_value::<
8534 crate::wire::Availability,
8535 ___E,
8536 >(
8537 value, preallocated.encoder, &mut out, ()
8538 )?;
8539 } else {
8540 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8541 }
8542 }
8543
8544 4 => {
8545 if let Some(value) = &self.dependency_type {
8546 ::fidl_next::WireEnvelope::encode_value::<
8547 crate::wire::DependencyType,
8548 ___E,
8549 >(
8550 value, preallocated.encoder, &mut out, ()
8551 )?;
8552 } else {
8553 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8554 }
8555 }
8556
8557 3 => {
8558 if let Some(value) = &self.target_path {
8559 ::fidl_next::WireEnvelope::encode_value::<
8560 ::fidl_next::WireString<'static>,
8561 ___E,
8562 >(
8563 value, preallocated.encoder, &mut out, 1024
8564 )?;
8565 } else {
8566 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8567 }
8568 }
8569
8570 2 => {
8571 if let Some(value) = &self.source_name {
8572 ::fidl_next::WireEnvelope::encode_value::<
8573 ::fidl_next::WireString<'static>,
8574 ___E,
8575 >(
8576 value, preallocated.encoder, &mut out, 100
8577 )?;
8578 } else {
8579 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8580 }
8581 }
8582
8583 1 => {
8584 if let Some(value) = &self.source {
8585 ::fidl_next::WireEnvelope::encode_value::<
8586 crate::wire::Ref<'static>,
8587 ___E,
8588 >(
8589 value, preallocated.encoder, &mut out, ()
8590 )?;
8591 } else {
8592 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8593 }
8594 }
8595
8596 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
8597 }
8598 unsafe {
8599 preallocated.write_next(out.assume_init_ref());
8600 }
8601 }
8602
8603 ::fidl_next::WireTable::encode_len(table, max_ord);
8604
8605 Ok(())
8606 }
8607 }
8608
8609 impl<'de> ::fidl_next::FromWire<crate::wire::UseService<'de>> for UseService {
8610 #[inline]
8611 fn from_wire(wire_: crate::wire::UseService<'de>) -> Self {
8612 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
8613
8614 let source = wire_.table.get(1);
8615
8616 let source_name = wire_.table.get(2);
8617
8618 let target_path = wire_.table.get(3);
8619
8620 let dependency_type = wire_.table.get(4);
8621
8622 let availability = wire_.table.get(5);
8623
8624 let source_dictionary = wire_.table.get(6);
8625
8626 Self {
8627 source: source.map(|envelope| {
8628 ::fidl_next::FromWire::from_wire(unsafe {
8629 envelope.read_unchecked::<crate::wire::Ref<'de>>()
8630 })
8631 }),
8632
8633 source_name: source_name.map(|envelope| {
8634 ::fidl_next::FromWire::from_wire(unsafe {
8635 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
8636 })
8637 }),
8638
8639 target_path: target_path.map(|envelope| {
8640 ::fidl_next::FromWire::from_wire(unsafe {
8641 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
8642 })
8643 }),
8644
8645 dependency_type: dependency_type.map(|envelope| {
8646 ::fidl_next::FromWire::from_wire(unsafe {
8647 envelope.read_unchecked::<crate::wire::DependencyType>()
8648 })
8649 }),
8650
8651 availability: availability.map(|envelope| {
8652 ::fidl_next::FromWire::from_wire(unsafe {
8653 envelope.read_unchecked::<crate::wire::Availability>()
8654 })
8655 }),
8656
8657 source_dictionary: source_dictionary.map(|envelope| {
8658 ::fidl_next::FromWire::from_wire(unsafe {
8659 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
8660 })
8661 }),
8662 }
8663 }
8664 }
8665
8666 impl<'de> ::fidl_next::FromWireRef<crate::wire::UseService<'de>> for UseService {
8667 #[inline]
8668 fn from_wire_ref(wire: &crate::wire::UseService<'de>) -> Self {
8669 Self {
8670 source: wire.table.get(1).map(|envelope| {
8671 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
8672 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
8673 })
8674 }),
8675
8676 source_name: wire.table.get(2).map(|envelope| {
8677 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
8678 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
8679 })
8680 }),
8681
8682 target_path: wire.table.get(3).map(|envelope| {
8683 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
8684 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
8685 })
8686 }),
8687
8688 dependency_type: wire.table.get(4).map(|envelope| {
8689 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
8690 envelope.deref_unchecked::<crate::wire::DependencyType>()
8691 })
8692 }),
8693
8694 availability: wire.table.get(5).map(|envelope| {
8695 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
8696 envelope.deref_unchecked::<crate::wire::Availability>()
8697 })
8698 }),
8699
8700 source_dictionary: wire.table.get(6).map(|envelope| {
8701 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
8702 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
8703 })
8704 }),
8705 }
8706 }
8707 }
8708
8709 #[doc = " Declares a protocol used by a component, which was offered to it.\n\n A protocol is a service with a single instance, provided by a single FIDL\n protocol.\n"]
8710 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
8711 pub struct UseProtocol {
8712 pub source: ::core::option::Option<crate::natural::Ref>,
8713
8714 pub source_name: ::core::option::Option<::std::string::String>,
8715
8716 pub target_path: ::core::option::Option<::std::string::String>,
8717
8718 pub dependency_type: ::core::option::Option<crate::natural::DependencyType>,
8719
8720 pub availability: ::core::option::Option<crate::natural::Availability>,
8721
8722 pub source_dictionary: ::core::option::Option<::std::string::String>,
8723
8724 pub numbered_handle: ::core::option::Option<u8>,
8725 }
8726
8727 impl UseProtocol {
8728 fn __max_ordinal(&self) -> usize {
8729 if self.numbered_handle.is_some() {
8730 return 7;
8731 }
8732
8733 if self.source_dictionary.is_some() {
8734 return 6;
8735 }
8736
8737 if self.availability.is_some() {
8738 return 5;
8739 }
8740
8741 if self.dependency_type.is_some() {
8742 return 4;
8743 }
8744
8745 if self.target_path.is_some() {
8746 return 3;
8747 }
8748
8749 if self.source_name.is_some() {
8750 return 2;
8751 }
8752
8753 if self.source.is_some() {
8754 return 1;
8755 }
8756
8757 0
8758 }
8759 }
8760
8761 unsafe impl<___E> ::fidl_next::Encode<crate::wire::UseProtocol<'static>, ___E> for UseProtocol
8762 where
8763 ___E: ::fidl_next::Encoder + ?Sized,
8764 {
8765 #[inline]
8766 fn encode(
8767 mut self,
8768 encoder: &mut ___E,
8769 out: &mut ::core::mem::MaybeUninit<crate::wire::UseProtocol<'static>>,
8770 _: (),
8771 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
8772 ::fidl_next::munge!(let crate::wire::UseProtocol { table } = out);
8773
8774 let max_ord = self.__max_ordinal();
8775
8776 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
8777 ::fidl_next::Wire::zero_padding(&mut out);
8778
8779 let mut preallocated =
8780 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
8781
8782 for i in 1..=max_ord {
8783 match i {
8784 7 => {
8785 if let Some(value) = self.numbered_handle.take() {
8786 ::fidl_next::WireEnvelope::encode_value::<u8, ___E>(
8787 value,
8788 preallocated.encoder,
8789 &mut out,
8790 (),
8791 )?;
8792 } else {
8793 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8794 }
8795 }
8796
8797 6 => {
8798 if let Some(value) = self.source_dictionary.take() {
8799 ::fidl_next::WireEnvelope::encode_value::<
8800 ::fidl_next::WireString<'static>,
8801 ___E,
8802 >(
8803 value, preallocated.encoder, &mut out, 1024
8804 )?;
8805 } else {
8806 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8807 }
8808 }
8809
8810 5 => {
8811 if let Some(value) = self.availability.take() {
8812 ::fidl_next::WireEnvelope::encode_value::<
8813 crate::wire::Availability,
8814 ___E,
8815 >(
8816 value, preallocated.encoder, &mut out, ()
8817 )?;
8818 } else {
8819 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8820 }
8821 }
8822
8823 4 => {
8824 if let Some(value) = self.dependency_type.take() {
8825 ::fidl_next::WireEnvelope::encode_value::<
8826 crate::wire::DependencyType,
8827 ___E,
8828 >(
8829 value, preallocated.encoder, &mut out, ()
8830 )?;
8831 } else {
8832 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8833 }
8834 }
8835
8836 3 => {
8837 if let Some(value) = self.target_path.take() {
8838 ::fidl_next::WireEnvelope::encode_value::<
8839 ::fidl_next::WireString<'static>,
8840 ___E,
8841 >(
8842 value, preallocated.encoder, &mut out, 1024
8843 )?;
8844 } else {
8845 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8846 }
8847 }
8848
8849 2 => {
8850 if let Some(value) = self.source_name.take() {
8851 ::fidl_next::WireEnvelope::encode_value::<
8852 ::fidl_next::WireString<'static>,
8853 ___E,
8854 >(
8855 value, preallocated.encoder, &mut out, 100
8856 )?;
8857 } else {
8858 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8859 }
8860 }
8861
8862 1 => {
8863 if let Some(value) = self.source.take() {
8864 ::fidl_next::WireEnvelope::encode_value::<
8865 crate::wire::Ref<'static>,
8866 ___E,
8867 >(
8868 value, preallocated.encoder, &mut out, ()
8869 )?;
8870 } else {
8871 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8872 }
8873 }
8874
8875 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
8876 }
8877 unsafe {
8878 preallocated.write_next(out.assume_init_ref());
8879 }
8880 }
8881
8882 ::fidl_next::WireTable::encode_len(table, max_ord);
8883
8884 Ok(())
8885 }
8886 }
8887
8888 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::UseProtocol<'static>, ___E>
8889 for &'a UseProtocol
8890 where
8891 ___E: ::fidl_next::Encoder + ?Sized,
8892 {
8893 #[inline]
8894 fn encode(
8895 self,
8896 encoder: &mut ___E,
8897 out: &mut ::core::mem::MaybeUninit<crate::wire::UseProtocol<'static>>,
8898 _: (),
8899 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
8900 ::fidl_next::munge!(let crate::wire::UseProtocol { table } = out);
8901
8902 let max_ord = self.__max_ordinal();
8903
8904 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
8905 ::fidl_next::Wire::zero_padding(&mut out);
8906
8907 let mut preallocated =
8908 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
8909
8910 for i in 1..=max_ord {
8911 match i {
8912 7 => {
8913 if let Some(value) = &self.numbered_handle {
8914 ::fidl_next::WireEnvelope::encode_value::<u8, ___E>(
8915 value,
8916 preallocated.encoder,
8917 &mut out,
8918 (),
8919 )?;
8920 } else {
8921 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8922 }
8923 }
8924
8925 6 => {
8926 if let Some(value) = &self.source_dictionary {
8927 ::fidl_next::WireEnvelope::encode_value::<
8928 ::fidl_next::WireString<'static>,
8929 ___E,
8930 >(
8931 value, preallocated.encoder, &mut out, 1024
8932 )?;
8933 } else {
8934 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8935 }
8936 }
8937
8938 5 => {
8939 if let Some(value) = &self.availability {
8940 ::fidl_next::WireEnvelope::encode_value::<
8941 crate::wire::Availability,
8942 ___E,
8943 >(
8944 value, preallocated.encoder, &mut out, ()
8945 )?;
8946 } else {
8947 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8948 }
8949 }
8950
8951 4 => {
8952 if let Some(value) = &self.dependency_type {
8953 ::fidl_next::WireEnvelope::encode_value::<
8954 crate::wire::DependencyType,
8955 ___E,
8956 >(
8957 value, preallocated.encoder, &mut out, ()
8958 )?;
8959 } else {
8960 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8961 }
8962 }
8963
8964 3 => {
8965 if let Some(value) = &self.target_path {
8966 ::fidl_next::WireEnvelope::encode_value::<
8967 ::fidl_next::WireString<'static>,
8968 ___E,
8969 >(
8970 value, preallocated.encoder, &mut out, 1024
8971 )?;
8972 } else {
8973 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8974 }
8975 }
8976
8977 2 => {
8978 if let Some(value) = &self.source_name {
8979 ::fidl_next::WireEnvelope::encode_value::<
8980 ::fidl_next::WireString<'static>,
8981 ___E,
8982 >(
8983 value, preallocated.encoder, &mut out, 100
8984 )?;
8985 } else {
8986 ::fidl_next::WireEnvelope::encode_zero(&mut out)
8987 }
8988 }
8989
8990 1 => {
8991 if let Some(value) = &self.source {
8992 ::fidl_next::WireEnvelope::encode_value::<
8993 crate::wire::Ref<'static>,
8994 ___E,
8995 >(
8996 value, preallocated.encoder, &mut out, ()
8997 )?;
8998 } else {
8999 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9000 }
9001 }
9002
9003 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
9004 }
9005 unsafe {
9006 preallocated.write_next(out.assume_init_ref());
9007 }
9008 }
9009
9010 ::fidl_next::WireTable::encode_len(table, max_ord);
9011
9012 Ok(())
9013 }
9014 }
9015
9016 impl<'de> ::fidl_next::FromWire<crate::wire::UseProtocol<'de>> for UseProtocol {
9017 #[inline]
9018 fn from_wire(wire_: crate::wire::UseProtocol<'de>) -> Self {
9019 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
9020
9021 let source = wire_.table.get(1);
9022
9023 let source_name = wire_.table.get(2);
9024
9025 let target_path = wire_.table.get(3);
9026
9027 let dependency_type = wire_.table.get(4);
9028
9029 let availability = wire_.table.get(5);
9030
9031 let source_dictionary = wire_.table.get(6);
9032
9033 let numbered_handle = wire_.table.get(7);
9034
9035 Self {
9036 source: source.map(|envelope| {
9037 ::fidl_next::FromWire::from_wire(unsafe {
9038 envelope.read_unchecked::<crate::wire::Ref<'de>>()
9039 })
9040 }),
9041
9042 source_name: source_name.map(|envelope| {
9043 ::fidl_next::FromWire::from_wire(unsafe {
9044 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
9045 })
9046 }),
9047
9048 target_path: target_path.map(|envelope| {
9049 ::fidl_next::FromWire::from_wire(unsafe {
9050 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
9051 })
9052 }),
9053
9054 dependency_type: dependency_type.map(|envelope| {
9055 ::fidl_next::FromWire::from_wire(unsafe {
9056 envelope.read_unchecked::<crate::wire::DependencyType>()
9057 })
9058 }),
9059
9060 availability: availability.map(|envelope| {
9061 ::fidl_next::FromWire::from_wire(unsafe {
9062 envelope.read_unchecked::<crate::wire::Availability>()
9063 })
9064 }),
9065
9066 source_dictionary: source_dictionary.map(|envelope| {
9067 ::fidl_next::FromWire::from_wire(unsafe {
9068 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
9069 })
9070 }),
9071
9072 numbered_handle: numbered_handle.map(|envelope| {
9073 ::fidl_next::FromWire::from_wire(unsafe { envelope.read_unchecked::<u8>() })
9074 }),
9075 }
9076 }
9077 }
9078
9079 impl<'de> ::fidl_next::FromWireRef<crate::wire::UseProtocol<'de>> for UseProtocol {
9080 #[inline]
9081 fn from_wire_ref(wire: &crate::wire::UseProtocol<'de>) -> Self {
9082 Self {
9083 source: wire.table.get(1).map(|envelope| {
9084 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
9085 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
9086 })
9087 }),
9088
9089 source_name: wire.table.get(2).map(|envelope| {
9090 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
9091 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
9092 })
9093 }),
9094
9095 target_path: wire.table.get(3).map(|envelope| {
9096 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
9097 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
9098 })
9099 }),
9100
9101 dependency_type: wire.table.get(4).map(|envelope| {
9102 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
9103 envelope.deref_unchecked::<crate::wire::DependencyType>()
9104 })
9105 }),
9106
9107 availability: wire.table.get(5).map(|envelope| {
9108 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
9109 envelope.deref_unchecked::<crate::wire::Availability>()
9110 })
9111 }),
9112
9113 source_dictionary: wire.table.get(6).map(|envelope| {
9114 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
9115 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
9116 })
9117 }),
9118
9119 numbered_handle: wire.table.get(7).map(|envelope| {
9120 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
9121 envelope.deref_unchecked::<u8>()
9122 })
9123 }),
9124 }
9125 }
9126 }
9127
9128 #[doc = " Declares a directory used by a component, which was offered to it.\n"]
9129 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
9130 pub struct UseDirectory {
9131 pub source: ::core::option::Option<crate::natural::Ref>,
9132
9133 pub source_name: ::core::option::Option<::std::string::String>,
9134
9135 pub target_path: ::core::option::Option<::std::string::String>,
9136
9137 pub rights: ::core::option::Option<::fidl_next_common_fuchsia_io::natural::Operations>,
9138
9139 pub subdir: ::core::option::Option<::std::string::String>,
9140
9141 pub dependency_type: ::core::option::Option<crate::natural::DependencyType>,
9142
9143 pub availability: ::core::option::Option<crate::natural::Availability>,
9144
9145 pub source_dictionary: ::core::option::Option<::std::string::String>,
9146 }
9147
9148 impl UseDirectory {
9149 fn __max_ordinal(&self) -> usize {
9150 if self.source_dictionary.is_some() {
9151 return 8;
9152 }
9153
9154 if self.availability.is_some() {
9155 return 7;
9156 }
9157
9158 if self.dependency_type.is_some() {
9159 return 6;
9160 }
9161
9162 if self.subdir.is_some() {
9163 return 5;
9164 }
9165
9166 if self.rights.is_some() {
9167 return 4;
9168 }
9169
9170 if self.target_path.is_some() {
9171 return 3;
9172 }
9173
9174 if self.source_name.is_some() {
9175 return 2;
9176 }
9177
9178 if self.source.is_some() {
9179 return 1;
9180 }
9181
9182 0
9183 }
9184 }
9185
9186 unsafe impl<___E> ::fidl_next::Encode<crate::wire::UseDirectory<'static>, ___E> for UseDirectory
9187 where
9188 ___E: ::fidl_next::Encoder + ?Sized,
9189 {
9190 #[inline]
9191 fn encode(
9192 mut self,
9193 encoder: &mut ___E,
9194 out: &mut ::core::mem::MaybeUninit<crate::wire::UseDirectory<'static>>,
9195 _: (),
9196 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
9197 ::fidl_next::munge!(let crate::wire::UseDirectory { table } = out);
9198
9199 let max_ord = self.__max_ordinal();
9200
9201 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
9202 ::fidl_next::Wire::zero_padding(&mut out);
9203
9204 let mut preallocated =
9205 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
9206
9207 for i in 1..=max_ord {
9208 match i {
9209 8 => {
9210 if let Some(value) = self.source_dictionary.take() {
9211 ::fidl_next::WireEnvelope::encode_value::<
9212 ::fidl_next::WireString<'static>,
9213 ___E,
9214 >(
9215 value, preallocated.encoder, &mut out, 1024
9216 )?;
9217 } else {
9218 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9219 }
9220 }
9221
9222 7 => {
9223 if let Some(value) = self.availability.take() {
9224 ::fidl_next::WireEnvelope::encode_value::<
9225 crate::wire::Availability,
9226 ___E,
9227 >(
9228 value, preallocated.encoder, &mut out, ()
9229 )?;
9230 } else {
9231 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9232 }
9233 }
9234
9235 6 => {
9236 if let Some(value) = self.dependency_type.take() {
9237 ::fidl_next::WireEnvelope::encode_value::<
9238 crate::wire::DependencyType,
9239 ___E,
9240 >(
9241 value, preallocated.encoder, &mut out, ()
9242 )?;
9243 } else {
9244 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9245 }
9246 }
9247
9248 5 => {
9249 if let Some(value) = self.subdir.take() {
9250 ::fidl_next::WireEnvelope::encode_value::<
9251 ::fidl_next::WireString<'static>,
9252 ___E,
9253 >(
9254 value, preallocated.encoder, &mut out, 1024
9255 )?;
9256 } else {
9257 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9258 }
9259 }
9260
9261 4 => {
9262 if let Some(value) = self.rights.take() {
9263 ::fidl_next::WireEnvelope::encode_value::<
9264 ::fidl_next_common_fuchsia_io::wire::Operations,
9265 ___E,
9266 >(
9267 value, preallocated.encoder, &mut out, ()
9268 )?;
9269 } else {
9270 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9271 }
9272 }
9273
9274 3 => {
9275 if let Some(value) = self.target_path.take() {
9276 ::fidl_next::WireEnvelope::encode_value::<
9277 ::fidl_next::WireString<'static>,
9278 ___E,
9279 >(
9280 value, preallocated.encoder, &mut out, 1024
9281 )?;
9282 } else {
9283 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9284 }
9285 }
9286
9287 2 => {
9288 if let Some(value) = self.source_name.take() {
9289 ::fidl_next::WireEnvelope::encode_value::<
9290 ::fidl_next::WireString<'static>,
9291 ___E,
9292 >(
9293 value, preallocated.encoder, &mut out, 100
9294 )?;
9295 } else {
9296 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9297 }
9298 }
9299
9300 1 => {
9301 if let Some(value) = self.source.take() {
9302 ::fidl_next::WireEnvelope::encode_value::<
9303 crate::wire::Ref<'static>,
9304 ___E,
9305 >(
9306 value, preallocated.encoder, &mut out, ()
9307 )?;
9308 } else {
9309 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9310 }
9311 }
9312
9313 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
9314 }
9315 unsafe {
9316 preallocated.write_next(out.assume_init_ref());
9317 }
9318 }
9319
9320 ::fidl_next::WireTable::encode_len(table, max_ord);
9321
9322 Ok(())
9323 }
9324 }
9325
9326 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::UseDirectory<'static>, ___E>
9327 for &'a UseDirectory
9328 where
9329 ___E: ::fidl_next::Encoder + ?Sized,
9330 {
9331 #[inline]
9332 fn encode(
9333 self,
9334 encoder: &mut ___E,
9335 out: &mut ::core::mem::MaybeUninit<crate::wire::UseDirectory<'static>>,
9336 _: (),
9337 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
9338 ::fidl_next::munge!(let crate::wire::UseDirectory { table } = out);
9339
9340 let max_ord = self.__max_ordinal();
9341
9342 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
9343 ::fidl_next::Wire::zero_padding(&mut out);
9344
9345 let mut preallocated =
9346 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
9347
9348 for i in 1..=max_ord {
9349 match i {
9350 8 => {
9351 if let Some(value) = &self.source_dictionary {
9352 ::fidl_next::WireEnvelope::encode_value::<
9353 ::fidl_next::WireString<'static>,
9354 ___E,
9355 >(
9356 value, preallocated.encoder, &mut out, 1024
9357 )?;
9358 } else {
9359 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9360 }
9361 }
9362
9363 7 => {
9364 if let Some(value) = &self.availability {
9365 ::fidl_next::WireEnvelope::encode_value::<
9366 crate::wire::Availability,
9367 ___E,
9368 >(
9369 value, preallocated.encoder, &mut out, ()
9370 )?;
9371 } else {
9372 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9373 }
9374 }
9375
9376 6 => {
9377 if let Some(value) = &self.dependency_type {
9378 ::fidl_next::WireEnvelope::encode_value::<
9379 crate::wire::DependencyType,
9380 ___E,
9381 >(
9382 value, preallocated.encoder, &mut out, ()
9383 )?;
9384 } else {
9385 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9386 }
9387 }
9388
9389 5 => {
9390 if let Some(value) = &self.subdir {
9391 ::fidl_next::WireEnvelope::encode_value::<
9392 ::fidl_next::WireString<'static>,
9393 ___E,
9394 >(
9395 value, preallocated.encoder, &mut out, 1024
9396 )?;
9397 } else {
9398 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9399 }
9400 }
9401
9402 4 => {
9403 if let Some(value) = &self.rights {
9404 ::fidl_next::WireEnvelope::encode_value::<
9405 ::fidl_next_common_fuchsia_io::wire::Operations,
9406 ___E,
9407 >(
9408 value, preallocated.encoder, &mut out, ()
9409 )?;
9410 } else {
9411 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9412 }
9413 }
9414
9415 3 => {
9416 if let Some(value) = &self.target_path {
9417 ::fidl_next::WireEnvelope::encode_value::<
9418 ::fidl_next::WireString<'static>,
9419 ___E,
9420 >(
9421 value, preallocated.encoder, &mut out, 1024
9422 )?;
9423 } else {
9424 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9425 }
9426 }
9427
9428 2 => {
9429 if let Some(value) = &self.source_name {
9430 ::fidl_next::WireEnvelope::encode_value::<
9431 ::fidl_next::WireString<'static>,
9432 ___E,
9433 >(
9434 value, preallocated.encoder, &mut out, 100
9435 )?;
9436 } else {
9437 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9438 }
9439 }
9440
9441 1 => {
9442 if let Some(value) = &self.source {
9443 ::fidl_next::WireEnvelope::encode_value::<
9444 crate::wire::Ref<'static>,
9445 ___E,
9446 >(
9447 value, preallocated.encoder, &mut out, ()
9448 )?;
9449 } else {
9450 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9451 }
9452 }
9453
9454 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
9455 }
9456 unsafe {
9457 preallocated.write_next(out.assume_init_ref());
9458 }
9459 }
9460
9461 ::fidl_next::WireTable::encode_len(table, max_ord);
9462
9463 Ok(())
9464 }
9465 }
9466
9467 impl<'de> ::fidl_next::FromWire<crate::wire::UseDirectory<'de>> for UseDirectory {
9468 #[inline]
9469 fn from_wire(wire_: crate::wire::UseDirectory<'de>) -> Self {
9470 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
9471
9472 let source = wire_.table.get(1);
9473
9474 let source_name = wire_.table.get(2);
9475
9476 let target_path = wire_.table.get(3);
9477
9478 let rights = wire_.table.get(4);
9479
9480 let subdir = wire_.table.get(5);
9481
9482 let dependency_type = wire_.table.get(6);
9483
9484 let availability = wire_.table.get(7);
9485
9486 let source_dictionary = wire_.table.get(8);
9487
9488 Self {
9489 source: source.map(|envelope| {
9490 ::fidl_next::FromWire::from_wire(unsafe {
9491 envelope.read_unchecked::<crate::wire::Ref<'de>>()
9492 })
9493 }),
9494
9495 source_name: source_name.map(|envelope| {
9496 ::fidl_next::FromWire::from_wire(unsafe {
9497 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
9498 })
9499 }),
9500
9501 target_path: target_path.map(|envelope| {
9502 ::fidl_next::FromWire::from_wire(unsafe {
9503 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
9504 })
9505 }),
9506
9507 rights: rights.map(|envelope| {
9508 ::fidl_next::FromWire::from_wire(unsafe {
9509 envelope.read_unchecked::<::fidl_next_common_fuchsia_io::wire::Operations>()
9510 })
9511 }),
9512
9513 subdir: subdir.map(|envelope| {
9514 ::fidl_next::FromWire::from_wire(unsafe {
9515 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
9516 })
9517 }),
9518
9519 dependency_type: dependency_type.map(|envelope| {
9520 ::fidl_next::FromWire::from_wire(unsafe {
9521 envelope.read_unchecked::<crate::wire::DependencyType>()
9522 })
9523 }),
9524
9525 availability: availability.map(|envelope| {
9526 ::fidl_next::FromWire::from_wire(unsafe {
9527 envelope.read_unchecked::<crate::wire::Availability>()
9528 })
9529 }),
9530
9531 source_dictionary: source_dictionary.map(|envelope| {
9532 ::fidl_next::FromWire::from_wire(unsafe {
9533 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
9534 })
9535 }),
9536 }
9537 }
9538 }
9539
9540 impl<'de> ::fidl_next::FromWireRef<crate::wire::UseDirectory<'de>> for UseDirectory {
9541 #[inline]
9542 fn from_wire_ref(wire: &crate::wire::UseDirectory<'de>) -> Self {
9543 Self {
9544 source: wire.table.get(1).map(|envelope| {
9545 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
9546 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
9547 })
9548 }),
9549
9550 source_name: wire.table.get(2).map(|envelope| {
9551 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
9552 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
9553 })
9554 }),
9555
9556 target_path: wire.table.get(3).map(|envelope| {
9557 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
9558 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
9559 })
9560 }),
9561
9562 rights: wire.table.get(4).map(|envelope| {
9563 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
9564 envelope
9565 .deref_unchecked::<::fidl_next_common_fuchsia_io::wire::Operations>()
9566 })
9567 }),
9568
9569 subdir: wire.table.get(5).map(|envelope| {
9570 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
9571 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
9572 })
9573 }),
9574
9575 dependency_type: wire.table.get(6).map(|envelope| {
9576 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
9577 envelope.deref_unchecked::<crate::wire::DependencyType>()
9578 })
9579 }),
9580
9581 availability: wire.table.get(7).map(|envelope| {
9582 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
9583 envelope.deref_unchecked::<crate::wire::Availability>()
9584 })
9585 }),
9586
9587 source_dictionary: wire.table.get(8).map(|envelope| {
9588 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
9589 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
9590 })
9591 }),
9592 }
9593 }
9594 }
9595
9596 #[doc = " Declares an EventStream used by a component.\n"]
9597 #[derive(Debug, Default, PartialEq)]
9598 pub struct UseEventStream {
9599 pub source_name: ::core::option::Option<::std::string::String>,
9600
9601 pub source: ::core::option::Option<crate::natural::Ref>,
9602
9603 pub scope: ::core::option::Option<::std::vec::Vec<crate::natural::Ref>>,
9604
9605 pub target_path: ::core::option::Option<::std::string::String>,
9606
9607 pub availability: ::core::option::Option<crate::natural::Availability>,
9608
9609 pub filter: ::core::option::Option<::fidl_next_common_fuchsia_data::natural::Dictionary>,
9610 }
9611
9612 impl UseEventStream {
9613 fn __max_ordinal(&self) -> usize {
9614 if self.filter.is_some() {
9615 return 6;
9616 }
9617
9618 if self.availability.is_some() {
9619 return 5;
9620 }
9621
9622 if self.target_path.is_some() {
9623 return 4;
9624 }
9625
9626 if self.scope.is_some() {
9627 return 3;
9628 }
9629
9630 if self.source.is_some() {
9631 return 2;
9632 }
9633
9634 if self.source_name.is_some() {
9635 return 1;
9636 }
9637
9638 0
9639 }
9640 }
9641
9642 unsafe impl<___E> ::fidl_next::Encode<crate::wire::UseEventStream<'static>, ___E> for UseEventStream
9643 where
9644 ___E: ::fidl_next::Encoder + ?Sized,
9645 {
9646 #[inline]
9647 fn encode(
9648 mut self,
9649 encoder: &mut ___E,
9650 out: &mut ::core::mem::MaybeUninit<crate::wire::UseEventStream<'static>>,
9651 _: (),
9652 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
9653 ::fidl_next::munge!(let crate::wire::UseEventStream { table } = out);
9654
9655 let max_ord = self.__max_ordinal();
9656
9657 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
9658 ::fidl_next::Wire::zero_padding(&mut out);
9659
9660 let mut preallocated =
9661 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
9662
9663 for i in 1..=max_ord {
9664 match i {
9665 6 => {
9666 if let Some(value) = self.filter.take() {
9667 ::fidl_next::WireEnvelope::encode_value::<
9668 ::fidl_next_common_fuchsia_data::wire::Dictionary<'static>,
9669 ___E,
9670 >(
9671 value, preallocated.encoder, &mut out, ()
9672 )?;
9673 } else {
9674 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9675 }
9676 }
9677
9678 5 => {
9679 if let Some(value) = self.availability.take() {
9680 ::fidl_next::WireEnvelope::encode_value::<
9681 crate::wire::Availability,
9682 ___E,
9683 >(
9684 value, preallocated.encoder, &mut out, ()
9685 )?;
9686 } else {
9687 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9688 }
9689 }
9690
9691 4 => {
9692 if let Some(value) = self.target_path.take() {
9693 ::fidl_next::WireEnvelope::encode_value::<
9694 ::fidl_next::WireString<'static>,
9695 ___E,
9696 >(
9697 value, preallocated.encoder, &mut out, 100
9698 )?;
9699 } else {
9700 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9701 }
9702 }
9703
9704 3 => {
9705 if let Some(value) = self.scope.take() {
9706 ::fidl_next::WireEnvelope::encode_value::<
9707 ::fidl_next::WireVector<'static, crate::wire::Ref<'static>>,
9708 ___E,
9709 >(
9710 value, preallocated.encoder, &mut out, (4294967295, ())
9711 )?;
9712 } else {
9713 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9714 }
9715 }
9716
9717 2 => {
9718 if let Some(value) = self.source.take() {
9719 ::fidl_next::WireEnvelope::encode_value::<
9720 crate::wire::Ref<'static>,
9721 ___E,
9722 >(
9723 value, preallocated.encoder, &mut out, ()
9724 )?;
9725 } else {
9726 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9727 }
9728 }
9729
9730 1 => {
9731 if let Some(value) = self.source_name.take() {
9732 ::fidl_next::WireEnvelope::encode_value::<
9733 ::fidl_next::WireString<'static>,
9734 ___E,
9735 >(
9736 value, preallocated.encoder, &mut out, 100
9737 )?;
9738 } else {
9739 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9740 }
9741 }
9742
9743 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
9744 }
9745 unsafe {
9746 preallocated.write_next(out.assume_init_ref());
9747 }
9748 }
9749
9750 ::fidl_next::WireTable::encode_len(table, max_ord);
9751
9752 Ok(())
9753 }
9754 }
9755
9756 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::UseEventStream<'static>, ___E>
9757 for &'a UseEventStream
9758 where
9759 ___E: ::fidl_next::Encoder + ?Sized,
9760 {
9761 #[inline]
9762 fn encode(
9763 self,
9764 encoder: &mut ___E,
9765 out: &mut ::core::mem::MaybeUninit<crate::wire::UseEventStream<'static>>,
9766 _: (),
9767 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
9768 ::fidl_next::munge!(let crate::wire::UseEventStream { table } = out);
9769
9770 let max_ord = self.__max_ordinal();
9771
9772 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
9773 ::fidl_next::Wire::zero_padding(&mut out);
9774
9775 let mut preallocated =
9776 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
9777
9778 for i in 1..=max_ord {
9779 match i {
9780 6 => {
9781 if let Some(value) = &self.filter {
9782 ::fidl_next::WireEnvelope::encode_value::<
9783 ::fidl_next_common_fuchsia_data::wire::Dictionary<'static>,
9784 ___E,
9785 >(
9786 value, preallocated.encoder, &mut out, ()
9787 )?;
9788 } else {
9789 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9790 }
9791 }
9792
9793 5 => {
9794 if let Some(value) = &self.availability {
9795 ::fidl_next::WireEnvelope::encode_value::<
9796 crate::wire::Availability,
9797 ___E,
9798 >(
9799 value, preallocated.encoder, &mut out, ()
9800 )?;
9801 } else {
9802 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9803 }
9804 }
9805
9806 4 => {
9807 if let Some(value) = &self.target_path {
9808 ::fidl_next::WireEnvelope::encode_value::<
9809 ::fidl_next::WireString<'static>,
9810 ___E,
9811 >(
9812 value, preallocated.encoder, &mut out, 100
9813 )?;
9814 } else {
9815 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9816 }
9817 }
9818
9819 3 => {
9820 if let Some(value) = &self.scope {
9821 ::fidl_next::WireEnvelope::encode_value::<
9822 ::fidl_next::WireVector<'static, crate::wire::Ref<'static>>,
9823 ___E,
9824 >(
9825 value, preallocated.encoder, &mut out, (4294967295, ())
9826 )?;
9827 } else {
9828 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9829 }
9830 }
9831
9832 2 => {
9833 if let Some(value) = &self.source {
9834 ::fidl_next::WireEnvelope::encode_value::<
9835 crate::wire::Ref<'static>,
9836 ___E,
9837 >(
9838 value, preallocated.encoder, &mut out, ()
9839 )?;
9840 } else {
9841 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9842 }
9843 }
9844
9845 1 => {
9846 if let Some(value) = &self.source_name {
9847 ::fidl_next::WireEnvelope::encode_value::<
9848 ::fidl_next::WireString<'static>,
9849 ___E,
9850 >(
9851 value, preallocated.encoder, &mut out, 100
9852 )?;
9853 } else {
9854 ::fidl_next::WireEnvelope::encode_zero(&mut out)
9855 }
9856 }
9857
9858 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
9859 }
9860 unsafe {
9861 preallocated.write_next(out.assume_init_ref());
9862 }
9863 }
9864
9865 ::fidl_next::WireTable::encode_len(table, max_ord);
9866
9867 Ok(())
9868 }
9869 }
9870
9871 impl<'de> ::fidl_next::FromWire<crate::wire::UseEventStream<'de>> for UseEventStream {
9872 #[inline]
9873 fn from_wire(wire_: crate::wire::UseEventStream<'de>) -> Self {
9874 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
9875
9876 let source_name = wire_.table.get(1);
9877
9878 let source = wire_.table.get(2);
9879
9880 let scope = wire_.table.get(3);
9881
9882 let target_path = wire_.table.get(4);
9883
9884 let availability = wire_.table.get(5);
9885
9886 let filter = wire_.table.get(6);
9887
9888 Self {
9889
9890
9891 source_name: source_name.map(|envelope| ::fidl_next::FromWire::from_wire(
9892 unsafe { envelope.read_unchecked::<::fidl_next::WireString<'de>>() }
9893 )),
9894
9895
9896 source: source.map(|envelope| ::fidl_next::FromWire::from_wire(
9897 unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() }
9898 )),
9899
9900
9901 scope: scope.map(|envelope| ::fidl_next::FromWire::from_wire(
9902 unsafe { envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::Ref<'de>>>() }
9903 )),
9904
9905
9906 target_path: target_path.map(|envelope| ::fidl_next::FromWire::from_wire(
9907 unsafe { envelope.read_unchecked::<::fidl_next::WireString<'de>>() }
9908 )),
9909
9910
9911 availability: availability.map(|envelope| ::fidl_next::FromWire::from_wire(
9912 unsafe { envelope.read_unchecked::<crate::wire::Availability>() }
9913 )),
9914
9915
9916 filter: filter.map(|envelope| ::fidl_next::FromWire::from_wire(
9917 unsafe { envelope.read_unchecked::<::fidl_next_common_fuchsia_data::wire::Dictionary<'de>>() }
9918 )),
9919
9920 }
9921 }
9922 }
9923
9924 impl<'de> ::fidl_next::FromWireRef<crate::wire::UseEventStream<'de>> for UseEventStream {
9925 #[inline]
9926 fn from_wire_ref(wire: &crate::wire::UseEventStream<'de>) -> Self {
9927 Self {
9928
9929
9930 source_name: wire.table.get(1)
9931 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
9932 unsafe { envelope.deref_unchecked::<::fidl_next::WireString<'de>>() }
9933 )),
9934
9935
9936 source: wire.table.get(2)
9937 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
9938 unsafe { envelope.deref_unchecked::<crate::wire::Ref<'de>>() }
9939 )),
9940
9941
9942 scope: wire.table.get(3)
9943 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
9944 unsafe { envelope.deref_unchecked::<::fidl_next::WireVector<'de, crate::wire::Ref<'de>>>() }
9945 )),
9946
9947
9948 target_path: wire.table.get(4)
9949 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
9950 unsafe { envelope.deref_unchecked::<::fidl_next::WireString<'de>>() }
9951 )),
9952
9953
9954 availability: wire.table.get(5)
9955 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
9956 unsafe { envelope.deref_unchecked::<crate::wire::Availability>() }
9957 )),
9958
9959
9960 filter: wire.table.get(6)
9961 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
9962 unsafe { envelope.deref_unchecked::<::fidl_next_common_fuchsia_data::wire::Dictionary<'de>>() }
9963 )),
9964
9965 }
9966 }
9967 }
9968
9969 #[doc = " Declares runner used by a component.\n"]
9970 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
9971 pub struct UseRunner {
9972 pub source: ::core::option::Option<crate::natural::Ref>,
9973
9974 pub source_name: ::core::option::Option<::std::string::String>,
9975
9976 pub source_dictionary: ::core::option::Option<::std::string::String>,
9977 }
9978
9979 impl UseRunner {
9980 fn __max_ordinal(&self) -> usize {
9981 if self.source_dictionary.is_some() {
9982 return 3;
9983 }
9984
9985 if self.source_name.is_some() {
9986 return 2;
9987 }
9988
9989 if self.source.is_some() {
9990 return 1;
9991 }
9992
9993 0
9994 }
9995 }
9996
9997 unsafe impl<___E> ::fidl_next::Encode<crate::wire::UseRunner<'static>, ___E> for UseRunner
9998 where
9999 ___E: ::fidl_next::Encoder + ?Sized,
10000 {
10001 #[inline]
10002 fn encode(
10003 mut self,
10004 encoder: &mut ___E,
10005 out: &mut ::core::mem::MaybeUninit<crate::wire::UseRunner<'static>>,
10006 _: (),
10007 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
10008 ::fidl_next::munge!(let crate::wire::UseRunner { table } = out);
10009
10010 let max_ord = self.__max_ordinal();
10011
10012 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
10013 ::fidl_next::Wire::zero_padding(&mut out);
10014
10015 let mut preallocated =
10016 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
10017
10018 for i in 1..=max_ord {
10019 match i {
10020 3 => {
10021 if let Some(value) = self.source_dictionary.take() {
10022 ::fidl_next::WireEnvelope::encode_value::<
10023 ::fidl_next::WireString<'static>,
10024 ___E,
10025 >(
10026 value, preallocated.encoder, &mut out, 1024
10027 )?;
10028 } else {
10029 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10030 }
10031 }
10032
10033 2 => {
10034 if let Some(value) = self.source_name.take() {
10035 ::fidl_next::WireEnvelope::encode_value::<
10036 ::fidl_next::WireString<'static>,
10037 ___E,
10038 >(
10039 value, preallocated.encoder, &mut out, 100
10040 )?;
10041 } else {
10042 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10043 }
10044 }
10045
10046 1 => {
10047 if let Some(value) = self.source.take() {
10048 ::fidl_next::WireEnvelope::encode_value::<
10049 crate::wire::Ref<'static>,
10050 ___E,
10051 >(
10052 value, preallocated.encoder, &mut out, ()
10053 )?;
10054 } else {
10055 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10056 }
10057 }
10058
10059 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
10060 }
10061 unsafe {
10062 preallocated.write_next(out.assume_init_ref());
10063 }
10064 }
10065
10066 ::fidl_next::WireTable::encode_len(table, max_ord);
10067
10068 Ok(())
10069 }
10070 }
10071
10072 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::UseRunner<'static>, ___E> for &'a UseRunner
10073 where
10074 ___E: ::fidl_next::Encoder + ?Sized,
10075 {
10076 #[inline]
10077 fn encode(
10078 self,
10079 encoder: &mut ___E,
10080 out: &mut ::core::mem::MaybeUninit<crate::wire::UseRunner<'static>>,
10081 _: (),
10082 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
10083 ::fidl_next::munge!(let crate::wire::UseRunner { table } = out);
10084
10085 let max_ord = self.__max_ordinal();
10086
10087 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
10088 ::fidl_next::Wire::zero_padding(&mut out);
10089
10090 let mut preallocated =
10091 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
10092
10093 for i in 1..=max_ord {
10094 match i {
10095 3 => {
10096 if let Some(value) = &self.source_dictionary {
10097 ::fidl_next::WireEnvelope::encode_value::<
10098 ::fidl_next::WireString<'static>,
10099 ___E,
10100 >(
10101 value, preallocated.encoder, &mut out, 1024
10102 )?;
10103 } else {
10104 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10105 }
10106 }
10107
10108 2 => {
10109 if let Some(value) = &self.source_name {
10110 ::fidl_next::WireEnvelope::encode_value::<
10111 ::fidl_next::WireString<'static>,
10112 ___E,
10113 >(
10114 value, preallocated.encoder, &mut out, 100
10115 )?;
10116 } else {
10117 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10118 }
10119 }
10120
10121 1 => {
10122 if let Some(value) = &self.source {
10123 ::fidl_next::WireEnvelope::encode_value::<
10124 crate::wire::Ref<'static>,
10125 ___E,
10126 >(
10127 value, preallocated.encoder, &mut out, ()
10128 )?;
10129 } else {
10130 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10131 }
10132 }
10133
10134 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
10135 }
10136 unsafe {
10137 preallocated.write_next(out.assume_init_ref());
10138 }
10139 }
10140
10141 ::fidl_next::WireTable::encode_len(table, max_ord);
10142
10143 Ok(())
10144 }
10145 }
10146
10147 impl<'de> ::fidl_next::FromWire<crate::wire::UseRunner<'de>> for UseRunner {
10148 #[inline]
10149 fn from_wire(wire_: crate::wire::UseRunner<'de>) -> Self {
10150 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
10151
10152 let source = wire_.table.get(1);
10153
10154 let source_name = wire_.table.get(2);
10155
10156 let source_dictionary = wire_.table.get(3);
10157
10158 Self {
10159 source: source.map(|envelope| {
10160 ::fidl_next::FromWire::from_wire(unsafe {
10161 envelope.read_unchecked::<crate::wire::Ref<'de>>()
10162 })
10163 }),
10164
10165 source_name: source_name.map(|envelope| {
10166 ::fidl_next::FromWire::from_wire(unsafe {
10167 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
10168 })
10169 }),
10170
10171 source_dictionary: source_dictionary.map(|envelope| {
10172 ::fidl_next::FromWire::from_wire(unsafe {
10173 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
10174 })
10175 }),
10176 }
10177 }
10178 }
10179
10180 impl<'de> ::fidl_next::FromWireRef<crate::wire::UseRunner<'de>> for UseRunner {
10181 #[inline]
10182 fn from_wire_ref(wire: &crate::wire::UseRunner<'de>) -> Self {
10183 Self {
10184 source: wire.table.get(1).map(|envelope| {
10185 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
10186 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
10187 })
10188 }),
10189
10190 source_name: wire.table.get(2).map(|envelope| {
10191 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
10192 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
10193 })
10194 }),
10195
10196 source_dictionary: wire.table.get(3).map(|envelope| {
10197 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
10198 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
10199 })
10200 }),
10201 }
10202 }
10203 }
10204
10205 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
10206 pub struct UseConfiguration {
10207 pub source: ::core::option::Option<crate::natural::Ref>,
10208
10209 pub source_name: ::core::option::Option<::std::string::String>,
10210
10211 pub target_name: ::core::option::Option<::std::string::String>,
10212
10213 pub availability: ::core::option::Option<crate::natural::Availability>,
10214
10215 pub type_: ::core::option::Option<crate::natural::ConfigType>,
10216
10217 pub default: ::core::option::Option<crate::natural::ConfigValue>,
10218
10219 pub source_dictionary: ::core::option::Option<::std::string::String>,
10220 }
10221
10222 impl UseConfiguration {
10223 fn __max_ordinal(&self) -> usize {
10224 if self.source_dictionary.is_some() {
10225 return 7;
10226 }
10227
10228 if self.default.is_some() {
10229 return 6;
10230 }
10231
10232 if self.type_.is_some() {
10233 return 5;
10234 }
10235
10236 if self.availability.is_some() {
10237 return 4;
10238 }
10239
10240 if self.target_name.is_some() {
10241 return 3;
10242 }
10243
10244 if self.source_name.is_some() {
10245 return 2;
10246 }
10247
10248 if self.source.is_some() {
10249 return 1;
10250 }
10251
10252 0
10253 }
10254 }
10255
10256 unsafe impl<___E> ::fidl_next::Encode<crate::wire::UseConfiguration<'static>, ___E>
10257 for UseConfiguration
10258 where
10259 ___E: ::fidl_next::Encoder + ?Sized,
10260 {
10261 #[inline]
10262 fn encode(
10263 mut self,
10264 encoder: &mut ___E,
10265 out: &mut ::core::mem::MaybeUninit<crate::wire::UseConfiguration<'static>>,
10266 _: (),
10267 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
10268 ::fidl_next::munge!(let crate::wire::UseConfiguration { table } = out);
10269
10270 let max_ord = self.__max_ordinal();
10271
10272 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
10273 ::fidl_next::Wire::zero_padding(&mut out);
10274
10275 let mut preallocated =
10276 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
10277
10278 for i in 1..=max_ord {
10279 match i {
10280 7 => {
10281 if let Some(value) = self.source_dictionary.take() {
10282 ::fidl_next::WireEnvelope::encode_value::<
10283 ::fidl_next::WireString<'static>,
10284 ___E,
10285 >(
10286 value, preallocated.encoder, &mut out, 1024
10287 )?;
10288 } else {
10289 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10290 }
10291 }
10292
10293 6 => {
10294 if let Some(value) = self.default.take() {
10295 ::fidl_next::WireEnvelope::encode_value::<
10296 crate::wire::ConfigValue<'static>,
10297 ___E,
10298 >(
10299 value, preallocated.encoder, &mut out, ()
10300 )?;
10301 } else {
10302 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10303 }
10304 }
10305
10306 5 => {
10307 if let Some(value) = self.type_.take() {
10308 ::fidl_next::WireEnvelope::encode_value::<
10309 crate::wire::ConfigType<'static>,
10310 ___E,
10311 >(
10312 value, preallocated.encoder, &mut out, ()
10313 )?;
10314 } else {
10315 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10316 }
10317 }
10318
10319 4 => {
10320 if let Some(value) = self.availability.take() {
10321 ::fidl_next::WireEnvelope::encode_value::<
10322 crate::wire::Availability,
10323 ___E,
10324 >(
10325 value, preallocated.encoder, &mut out, ()
10326 )?;
10327 } else {
10328 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10329 }
10330 }
10331
10332 3 => {
10333 if let Some(value) = self.target_name.take() {
10334 ::fidl_next::WireEnvelope::encode_value::<
10335 ::fidl_next::WireString<'static>,
10336 ___E,
10337 >(
10338 value, preallocated.encoder, &mut out, 100
10339 )?;
10340 } else {
10341 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10342 }
10343 }
10344
10345 2 => {
10346 if let Some(value) = self.source_name.take() {
10347 ::fidl_next::WireEnvelope::encode_value::<
10348 ::fidl_next::WireString<'static>,
10349 ___E,
10350 >(
10351 value, preallocated.encoder, &mut out, 100
10352 )?;
10353 } else {
10354 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10355 }
10356 }
10357
10358 1 => {
10359 if let Some(value) = self.source.take() {
10360 ::fidl_next::WireEnvelope::encode_value::<
10361 crate::wire::Ref<'static>,
10362 ___E,
10363 >(
10364 value, preallocated.encoder, &mut out, ()
10365 )?;
10366 } else {
10367 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10368 }
10369 }
10370
10371 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
10372 }
10373 unsafe {
10374 preallocated.write_next(out.assume_init_ref());
10375 }
10376 }
10377
10378 ::fidl_next::WireTable::encode_len(table, max_ord);
10379
10380 Ok(())
10381 }
10382 }
10383
10384 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::UseConfiguration<'static>, ___E>
10385 for &'a UseConfiguration
10386 where
10387 ___E: ::fidl_next::Encoder + ?Sized,
10388 {
10389 #[inline]
10390 fn encode(
10391 self,
10392 encoder: &mut ___E,
10393 out: &mut ::core::mem::MaybeUninit<crate::wire::UseConfiguration<'static>>,
10394 _: (),
10395 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
10396 ::fidl_next::munge!(let crate::wire::UseConfiguration { table } = out);
10397
10398 let max_ord = self.__max_ordinal();
10399
10400 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
10401 ::fidl_next::Wire::zero_padding(&mut out);
10402
10403 let mut preallocated =
10404 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
10405
10406 for i in 1..=max_ord {
10407 match i {
10408 7 => {
10409 if let Some(value) = &self.source_dictionary {
10410 ::fidl_next::WireEnvelope::encode_value::<
10411 ::fidl_next::WireString<'static>,
10412 ___E,
10413 >(
10414 value, preallocated.encoder, &mut out, 1024
10415 )?;
10416 } else {
10417 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10418 }
10419 }
10420
10421 6 => {
10422 if let Some(value) = &self.default {
10423 ::fidl_next::WireEnvelope::encode_value::<
10424 crate::wire::ConfigValue<'static>,
10425 ___E,
10426 >(
10427 value, preallocated.encoder, &mut out, ()
10428 )?;
10429 } else {
10430 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10431 }
10432 }
10433
10434 5 => {
10435 if let Some(value) = &self.type_ {
10436 ::fidl_next::WireEnvelope::encode_value::<
10437 crate::wire::ConfigType<'static>,
10438 ___E,
10439 >(
10440 value, preallocated.encoder, &mut out, ()
10441 )?;
10442 } else {
10443 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10444 }
10445 }
10446
10447 4 => {
10448 if let Some(value) = &self.availability {
10449 ::fidl_next::WireEnvelope::encode_value::<
10450 crate::wire::Availability,
10451 ___E,
10452 >(
10453 value, preallocated.encoder, &mut out, ()
10454 )?;
10455 } else {
10456 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10457 }
10458 }
10459
10460 3 => {
10461 if let Some(value) = &self.target_name {
10462 ::fidl_next::WireEnvelope::encode_value::<
10463 ::fidl_next::WireString<'static>,
10464 ___E,
10465 >(
10466 value, preallocated.encoder, &mut out, 100
10467 )?;
10468 } else {
10469 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10470 }
10471 }
10472
10473 2 => {
10474 if let Some(value) = &self.source_name {
10475 ::fidl_next::WireEnvelope::encode_value::<
10476 ::fidl_next::WireString<'static>,
10477 ___E,
10478 >(
10479 value, preallocated.encoder, &mut out, 100
10480 )?;
10481 } else {
10482 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10483 }
10484 }
10485
10486 1 => {
10487 if let Some(value) = &self.source {
10488 ::fidl_next::WireEnvelope::encode_value::<
10489 crate::wire::Ref<'static>,
10490 ___E,
10491 >(
10492 value, preallocated.encoder, &mut out, ()
10493 )?;
10494 } else {
10495 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10496 }
10497 }
10498
10499 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
10500 }
10501 unsafe {
10502 preallocated.write_next(out.assume_init_ref());
10503 }
10504 }
10505
10506 ::fidl_next::WireTable::encode_len(table, max_ord);
10507
10508 Ok(())
10509 }
10510 }
10511
10512 impl<'de> ::fidl_next::FromWire<crate::wire::UseConfiguration<'de>> for UseConfiguration {
10513 #[inline]
10514 fn from_wire(wire_: crate::wire::UseConfiguration<'de>) -> Self {
10515 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
10516
10517 let source = wire_.table.get(1);
10518
10519 let source_name = wire_.table.get(2);
10520
10521 let target_name = wire_.table.get(3);
10522
10523 let availability = wire_.table.get(4);
10524
10525 let type_ = wire_.table.get(5);
10526
10527 let default = wire_.table.get(6);
10528
10529 let source_dictionary = wire_.table.get(7);
10530
10531 Self {
10532 source: source.map(|envelope| {
10533 ::fidl_next::FromWire::from_wire(unsafe {
10534 envelope.read_unchecked::<crate::wire::Ref<'de>>()
10535 })
10536 }),
10537
10538 source_name: source_name.map(|envelope| {
10539 ::fidl_next::FromWire::from_wire(unsafe {
10540 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
10541 })
10542 }),
10543
10544 target_name: target_name.map(|envelope| {
10545 ::fidl_next::FromWire::from_wire(unsafe {
10546 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
10547 })
10548 }),
10549
10550 availability: availability.map(|envelope| {
10551 ::fidl_next::FromWire::from_wire(unsafe {
10552 envelope.read_unchecked::<crate::wire::Availability>()
10553 })
10554 }),
10555
10556 type_: type_.map(|envelope| {
10557 ::fidl_next::FromWire::from_wire(unsafe {
10558 envelope.read_unchecked::<crate::wire::ConfigType<'de>>()
10559 })
10560 }),
10561
10562 default: default.map(|envelope| {
10563 ::fidl_next::FromWire::from_wire(unsafe {
10564 envelope.read_unchecked::<crate::wire::ConfigValue<'de>>()
10565 })
10566 }),
10567
10568 source_dictionary: source_dictionary.map(|envelope| {
10569 ::fidl_next::FromWire::from_wire(unsafe {
10570 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
10571 })
10572 }),
10573 }
10574 }
10575 }
10576
10577 impl<'de> ::fidl_next::FromWireRef<crate::wire::UseConfiguration<'de>> for UseConfiguration {
10578 #[inline]
10579 fn from_wire_ref(wire: &crate::wire::UseConfiguration<'de>) -> Self {
10580 Self {
10581 source: wire.table.get(1).map(|envelope| {
10582 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
10583 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
10584 })
10585 }),
10586
10587 source_name: wire.table.get(2).map(|envelope| {
10588 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
10589 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
10590 })
10591 }),
10592
10593 target_name: wire.table.get(3).map(|envelope| {
10594 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
10595 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
10596 })
10597 }),
10598
10599 availability: wire.table.get(4).map(|envelope| {
10600 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
10601 envelope.deref_unchecked::<crate::wire::Availability>()
10602 })
10603 }),
10604
10605 type_: wire.table.get(5).map(|envelope| {
10606 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
10607 envelope.deref_unchecked::<crate::wire::ConfigType<'de>>()
10608 })
10609 }),
10610
10611 default: wire.table.get(6).map(|envelope| {
10612 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
10613 envelope.deref_unchecked::<crate::wire::ConfigValue<'de>>()
10614 })
10615 }),
10616
10617 source_dictionary: wire.table.get(7).map(|envelope| {
10618 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
10619 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
10620 })
10621 }),
10622 }
10623 }
10624 }
10625
10626 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
10627 pub struct UseDictionary {
10628 pub source: ::core::option::Option<crate::natural::Ref>,
10629
10630 pub source_name: ::core::option::Option<::std::string::String>,
10631
10632 pub target_path: ::core::option::Option<::std::string::String>,
10633
10634 pub dependency_type: ::core::option::Option<crate::natural::DependencyType>,
10635
10636 pub availability: ::core::option::Option<crate::natural::Availability>,
10637
10638 pub source_dictionary: ::core::option::Option<::std::string::String>,
10639 }
10640
10641 impl UseDictionary {
10642 fn __max_ordinal(&self) -> usize {
10643 if self.source_dictionary.is_some() {
10644 return 8;
10645 }
10646
10647 if self.availability.is_some() {
10648 return 7;
10649 }
10650
10651 if self.dependency_type.is_some() {
10652 return 6;
10653 }
10654
10655 if self.target_path.is_some() {
10656 return 3;
10657 }
10658
10659 if self.source_name.is_some() {
10660 return 2;
10661 }
10662
10663 if self.source.is_some() {
10664 return 1;
10665 }
10666
10667 0
10668 }
10669 }
10670
10671 unsafe impl<___E> ::fidl_next::Encode<crate::wire::UseDictionary<'static>, ___E> for UseDictionary
10672 where
10673 ___E: ::fidl_next::Encoder + ?Sized,
10674 {
10675 #[inline]
10676 fn encode(
10677 mut self,
10678 encoder: &mut ___E,
10679 out: &mut ::core::mem::MaybeUninit<crate::wire::UseDictionary<'static>>,
10680 _: (),
10681 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
10682 ::fidl_next::munge!(let crate::wire::UseDictionary { table } = out);
10683
10684 let max_ord = self.__max_ordinal();
10685
10686 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
10687 ::fidl_next::Wire::zero_padding(&mut out);
10688
10689 let mut preallocated =
10690 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
10691
10692 for i in 1..=max_ord {
10693 match i {
10694 8 => {
10695 if let Some(value) = self.source_dictionary.take() {
10696 ::fidl_next::WireEnvelope::encode_value::<
10697 ::fidl_next::WireString<'static>,
10698 ___E,
10699 >(
10700 value, preallocated.encoder, &mut out, 1024
10701 )?;
10702 } else {
10703 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10704 }
10705 }
10706
10707 7 => {
10708 if let Some(value) = self.availability.take() {
10709 ::fidl_next::WireEnvelope::encode_value::<
10710 crate::wire::Availability,
10711 ___E,
10712 >(
10713 value, preallocated.encoder, &mut out, ()
10714 )?;
10715 } else {
10716 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10717 }
10718 }
10719
10720 6 => {
10721 if let Some(value) = self.dependency_type.take() {
10722 ::fidl_next::WireEnvelope::encode_value::<
10723 crate::wire::DependencyType,
10724 ___E,
10725 >(
10726 value, preallocated.encoder, &mut out, ()
10727 )?;
10728 } else {
10729 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10730 }
10731 }
10732
10733 3 => {
10734 if let Some(value) = self.target_path.take() {
10735 ::fidl_next::WireEnvelope::encode_value::<
10736 ::fidl_next::WireString<'static>,
10737 ___E,
10738 >(
10739 value, preallocated.encoder, &mut out, 1024
10740 )?;
10741 } else {
10742 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10743 }
10744 }
10745
10746 2 => {
10747 if let Some(value) = self.source_name.take() {
10748 ::fidl_next::WireEnvelope::encode_value::<
10749 ::fidl_next::WireString<'static>,
10750 ___E,
10751 >(
10752 value, preallocated.encoder, &mut out, 100
10753 )?;
10754 } else {
10755 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10756 }
10757 }
10758
10759 1 => {
10760 if let Some(value) = self.source.take() {
10761 ::fidl_next::WireEnvelope::encode_value::<
10762 crate::wire::Ref<'static>,
10763 ___E,
10764 >(
10765 value, preallocated.encoder, &mut out, ()
10766 )?;
10767 } else {
10768 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10769 }
10770 }
10771
10772 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
10773 }
10774 unsafe {
10775 preallocated.write_next(out.assume_init_ref());
10776 }
10777 }
10778
10779 ::fidl_next::WireTable::encode_len(table, max_ord);
10780
10781 Ok(())
10782 }
10783 }
10784
10785 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::UseDictionary<'static>, ___E>
10786 for &'a UseDictionary
10787 where
10788 ___E: ::fidl_next::Encoder + ?Sized,
10789 {
10790 #[inline]
10791 fn encode(
10792 self,
10793 encoder: &mut ___E,
10794 out: &mut ::core::mem::MaybeUninit<crate::wire::UseDictionary<'static>>,
10795 _: (),
10796 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
10797 ::fidl_next::munge!(let crate::wire::UseDictionary { table } = out);
10798
10799 let max_ord = self.__max_ordinal();
10800
10801 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
10802 ::fidl_next::Wire::zero_padding(&mut out);
10803
10804 let mut preallocated =
10805 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
10806
10807 for i in 1..=max_ord {
10808 match i {
10809 8 => {
10810 if let Some(value) = &self.source_dictionary {
10811 ::fidl_next::WireEnvelope::encode_value::<
10812 ::fidl_next::WireString<'static>,
10813 ___E,
10814 >(
10815 value, preallocated.encoder, &mut out, 1024
10816 )?;
10817 } else {
10818 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10819 }
10820 }
10821
10822 7 => {
10823 if let Some(value) = &self.availability {
10824 ::fidl_next::WireEnvelope::encode_value::<
10825 crate::wire::Availability,
10826 ___E,
10827 >(
10828 value, preallocated.encoder, &mut out, ()
10829 )?;
10830 } else {
10831 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10832 }
10833 }
10834
10835 6 => {
10836 if let Some(value) = &self.dependency_type {
10837 ::fidl_next::WireEnvelope::encode_value::<
10838 crate::wire::DependencyType,
10839 ___E,
10840 >(
10841 value, preallocated.encoder, &mut out, ()
10842 )?;
10843 } else {
10844 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10845 }
10846 }
10847
10848 3 => {
10849 if let Some(value) = &self.target_path {
10850 ::fidl_next::WireEnvelope::encode_value::<
10851 ::fidl_next::WireString<'static>,
10852 ___E,
10853 >(
10854 value, preallocated.encoder, &mut out, 1024
10855 )?;
10856 } else {
10857 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10858 }
10859 }
10860
10861 2 => {
10862 if let Some(value) = &self.source_name {
10863 ::fidl_next::WireEnvelope::encode_value::<
10864 ::fidl_next::WireString<'static>,
10865 ___E,
10866 >(
10867 value, preallocated.encoder, &mut out, 100
10868 )?;
10869 } else {
10870 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10871 }
10872 }
10873
10874 1 => {
10875 if let Some(value) = &self.source {
10876 ::fidl_next::WireEnvelope::encode_value::<
10877 crate::wire::Ref<'static>,
10878 ___E,
10879 >(
10880 value, preallocated.encoder, &mut out, ()
10881 )?;
10882 } else {
10883 ::fidl_next::WireEnvelope::encode_zero(&mut out)
10884 }
10885 }
10886
10887 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
10888 }
10889 unsafe {
10890 preallocated.write_next(out.assume_init_ref());
10891 }
10892 }
10893
10894 ::fidl_next::WireTable::encode_len(table, max_ord);
10895
10896 Ok(())
10897 }
10898 }
10899
10900 impl<'de> ::fidl_next::FromWire<crate::wire::UseDictionary<'de>> for UseDictionary {
10901 #[inline]
10902 fn from_wire(wire_: crate::wire::UseDictionary<'de>) -> Self {
10903 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
10904
10905 let source = wire_.table.get(1);
10906
10907 let source_name = wire_.table.get(2);
10908
10909 let target_path = wire_.table.get(3);
10910
10911 let dependency_type = wire_.table.get(6);
10912
10913 let availability = wire_.table.get(7);
10914
10915 let source_dictionary = wire_.table.get(8);
10916
10917 Self {
10918 source: source.map(|envelope| {
10919 ::fidl_next::FromWire::from_wire(unsafe {
10920 envelope.read_unchecked::<crate::wire::Ref<'de>>()
10921 })
10922 }),
10923
10924 source_name: source_name.map(|envelope| {
10925 ::fidl_next::FromWire::from_wire(unsafe {
10926 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
10927 })
10928 }),
10929
10930 target_path: target_path.map(|envelope| {
10931 ::fidl_next::FromWire::from_wire(unsafe {
10932 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
10933 })
10934 }),
10935
10936 dependency_type: dependency_type.map(|envelope| {
10937 ::fidl_next::FromWire::from_wire(unsafe {
10938 envelope.read_unchecked::<crate::wire::DependencyType>()
10939 })
10940 }),
10941
10942 availability: availability.map(|envelope| {
10943 ::fidl_next::FromWire::from_wire(unsafe {
10944 envelope.read_unchecked::<crate::wire::Availability>()
10945 })
10946 }),
10947
10948 source_dictionary: source_dictionary.map(|envelope| {
10949 ::fidl_next::FromWire::from_wire(unsafe {
10950 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
10951 })
10952 }),
10953 }
10954 }
10955 }
10956
10957 impl<'de> ::fidl_next::FromWireRef<crate::wire::UseDictionary<'de>> for UseDictionary {
10958 #[inline]
10959 fn from_wire_ref(wire: &crate::wire::UseDictionary<'de>) -> Self {
10960 Self {
10961 source: wire.table.get(1).map(|envelope| {
10962 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
10963 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
10964 })
10965 }),
10966
10967 source_name: wire.table.get(2).map(|envelope| {
10968 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
10969 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
10970 })
10971 }),
10972
10973 target_path: wire.table.get(3).map(|envelope| {
10974 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
10975 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
10976 })
10977 }),
10978
10979 dependency_type: wire.table.get(6).map(|envelope| {
10980 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
10981 envelope.deref_unchecked::<crate::wire::DependencyType>()
10982 })
10983 }),
10984
10985 availability: wire.table.get(7).map(|envelope| {
10986 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
10987 envelope.deref_unchecked::<crate::wire::Availability>()
10988 })
10989 }),
10990
10991 source_dictionary: wire.table.get(8).map(|envelope| {
10992 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
10993 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
10994 })
10995 }),
10996 }
10997 }
10998 }
10999
11000 #[doc = " Declares a capability used by a component, which was offered to it.\n"]
11001 #[derive(Debug, PartialEq)]
11002 pub enum Use {
11003 Service(crate::natural::UseService),
11004
11005 Protocol(crate::natural::UseProtocol),
11006
11007 Directory(crate::natural::UseDirectory),
11008
11009 Storage(crate::natural::UseStorage),
11010
11011 EventStream(crate::natural::UseEventStream),
11012
11013 Runner(crate::natural::UseRunner),
11014
11015 Config(crate::natural::UseConfiguration),
11016
11017 Dictionary(crate::natural::UseDictionary),
11018
11019 UnknownOrdinal_(u64),
11020 }
11021
11022 impl Use {
11023 pub fn is_unknown(&self) -> bool {
11024 #[allow(unreachable_patterns)]
11025 match self {
11026 Self::UnknownOrdinal_(_) => true,
11027 _ => false,
11028 }
11029 }
11030 }
11031
11032 unsafe impl<___E> ::fidl_next::Encode<crate::wire::Use<'static>, ___E> for Use
11033 where
11034 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
11035 ___E: ::fidl_next::Encoder,
11036 {
11037 #[inline]
11038 fn encode(
11039 self,
11040 encoder: &mut ___E,
11041 out: &mut ::core::mem::MaybeUninit<crate::wire::Use<'static>>,
11042 _: (),
11043 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
11044 ::fidl_next::munge!(let crate::wire::Use { raw, _phantom: _ } = out);
11045
11046 match self {
11047 Self::Service(value) => ::fidl_next::RawWireUnion::encode_as::<
11048 ___E,
11049 crate::wire::UseService<'static>,
11050 >(value, 1, encoder, raw, ())?,
11051
11052 Self::Protocol(value) => ::fidl_next::RawWireUnion::encode_as::<
11053 ___E,
11054 crate::wire::UseProtocol<'static>,
11055 >(value, 2, encoder, raw, ())?,
11056
11057 Self::Directory(value) => ::fidl_next::RawWireUnion::encode_as::<
11058 ___E,
11059 crate::wire::UseDirectory<'static>,
11060 >(value, 3, encoder, raw, ())?,
11061
11062 Self::Storage(value) => ::fidl_next::RawWireUnion::encode_as::<
11063 ___E,
11064 crate::wire::UseStorage<'static>,
11065 >(value, 4, encoder, raw, ())?,
11066
11067 Self::EventStream(value) => ::fidl_next::RawWireUnion::encode_as::<
11068 ___E,
11069 crate::wire::UseEventStream<'static>,
11070 >(value, 7, encoder, raw, ())?,
11071
11072 Self::Runner(value) => ::fidl_next::RawWireUnion::encode_as::<
11073 ___E,
11074 crate::wire::UseRunner<'static>,
11075 >(value, 8, encoder, raw, ())?,
11076
11077 Self::Config(value) => ::fidl_next::RawWireUnion::encode_as::<
11078 ___E,
11079 crate::wire::UseConfiguration<'static>,
11080 >(value, 9, encoder, raw, ())?,
11081
11082 Self::Dictionary(value) => ::fidl_next::RawWireUnion::encode_as::<
11083 ___E,
11084 crate::wire::UseDictionary<'static>,
11085 >(value, 10, encoder, raw, ())?,
11086
11087 Self::UnknownOrdinal_(ordinal) => {
11088 return Err(::fidl_next::EncodeError::UnknownUnionOrdinal(ordinal as usize));
11089 }
11090 }
11091
11092 Ok(())
11093 }
11094 }
11095
11096 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::Use<'static>, ___E> for &'a Use
11097 where
11098 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
11099 ___E: ::fidl_next::Encoder,
11100 {
11101 #[inline]
11102 fn encode(
11103 self,
11104 encoder: &mut ___E,
11105 out: &mut ::core::mem::MaybeUninit<crate::wire::Use<'static>>,
11106 _: (),
11107 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
11108 ::fidl_next::munge!(let crate::wire::Use { raw, _phantom: _ } = out);
11109
11110 match self {
11111 Use::Service(value) => ::fidl_next::RawWireUnion::encode_as::<
11112 ___E,
11113 crate::wire::UseService<'static>,
11114 >(value, 1, encoder, raw, ())?,
11115
11116 Use::Protocol(value) => ::fidl_next::RawWireUnion::encode_as::<
11117 ___E,
11118 crate::wire::UseProtocol<'static>,
11119 >(value, 2, encoder, raw, ())?,
11120
11121 Use::Directory(value) => ::fidl_next::RawWireUnion::encode_as::<
11122 ___E,
11123 crate::wire::UseDirectory<'static>,
11124 >(value, 3, encoder, raw, ())?,
11125
11126 Use::Storage(value) => ::fidl_next::RawWireUnion::encode_as::<
11127 ___E,
11128 crate::wire::UseStorage<'static>,
11129 >(value, 4, encoder, raw, ())?,
11130
11131 Use::EventStream(value) => ::fidl_next::RawWireUnion::encode_as::<
11132 ___E,
11133 crate::wire::UseEventStream<'static>,
11134 >(value, 7, encoder, raw, ())?,
11135
11136 Use::Runner(value) => ::fidl_next::RawWireUnion::encode_as::<
11137 ___E,
11138 crate::wire::UseRunner<'static>,
11139 >(value, 8, encoder, raw, ())?,
11140
11141 Use::Config(value) => ::fidl_next::RawWireUnion::encode_as::<
11142 ___E,
11143 crate::wire::UseConfiguration<'static>,
11144 >(value, 9, encoder, raw, ())?,
11145
11146 Use::Dictionary(value) => ::fidl_next::RawWireUnion::encode_as::<
11147 ___E,
11148 crate::wire::UseDictionary<'static>,
11149 >(value, 10, encoder, raw, ())?,
11150
11151 Use::UnknownOrdinal_(ordinal) => {
11152 return Err(::fidl_next::EncodeError::UnknownUnionOrdinal(*ordinal as usize));
11153 }
11154 }
11155
11156 Ok(())
11157 }
11158 }
11159
11160 unsafe impl<___E> ::fidl_next::EncodeOption<crate::wire_optional::Use<'static>, ___E> for Use
11161 where
11162 ___E: ?Sized,
11163 Use: ::fidl_next::Encode<crate::wire::Use<'static>, ___E>,
11164 {
11165 #[inline]
11166 fn encode_option(
11167 this: ::core::option::Option<Self>,
11168 encoder: &mut ___E,
11169 out: &mut ::core::mem::MaybeUninit<crate::wire_optional::Use<'static>>,
11170 _: (),
11171 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
11172 ::fidl_next::munge!(let crate::wire_optional::Use { raw, _phantom: _ } = &mut *out);
11173
11174 if let Some(inner) = this {
11175 let value_out = unsafe { &mut *out.as_mut_ptr().cast() };
11176 ::fidl_next::Encode::encode(inner, encoder, value_out, ())?;
11177 } else {
11178 ::fidl_next::RawWireUnion::encode_absent(raw);
11179 }
11180
11181 Ok(())
11182 }
11183 }
11184
11185 unsafe impl<'a, ___E> ::fidl_next::EncodeOption<crate::wire_optional::Use<'static>, ___E>
11186 for &'a Use
11187 where
11188 ___E: ?Sized,
11189 &'a Use: ::fidl_next::Encode<crate::wire::Use<'static>, ___E>,
11190 {
11191 #[inline]
11192 fn encode_option(
11193 this: ::core::option::Option<Self>,
11194 encoder: &mut ___E,
11195 out: &mut ::core::mem::MaybeUninit<crate::wire_optional::Use<'static>>,
11196 _: (),
11197 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
11198 ::fidl_next::munge!(let crate::wire_optional::Use { raw, _phantom: _ } = &mut *out);
11199
11200 if let Some(inner) = this {
11201 let value_out = unsafe { &mut *out.as_mut_ptr().cast() };
11202 ::fidl_next::Encode::encode(inner, encoder, value_out, ())?;
11203 } else {
11204 ::fidl_next::RawWireUnion::encode_absent(raw);
11205 }
11206
11207 Ok(())
11208 }
11209 }
11210
11211 impl<'de> ::fidl_next::FromWire<crate::wire::Use<'de>> for Use {
11212 #[inline]
11213 fn from_wire(wire: crate::wire::Use<'de>) -> Self {
11214 let wire = ::core::mem::ManuallyDrop::new(wire);
11215 match wire.raw.ordinal() {
11216 1 => Self::Service(::fidl_next::FromWire::from_wire(unsafe {
11217 wire.raw.get().read_unchecked::<crate::wire::UseService<'de>>()
11218 })),
11219
11220 2 => Self::Protocol(::fidl_next::FromWire::from_wire(unsafe {
11221 wire.raw.get().read_unchecked::<crate::wire::UseProtocol<'de>>()
11222 })),
11223
11224 3 => Self::Directory(::fidl_next::FromWire::from_wire(unsafe {
11225 wire.raw.get().read_unchecked::<crate::wire::UseDirectory<'de>>()
11226 })),
11227
11228 4 => Self::Storage(::fidl_next::FromWire::from_wire(unsafe {
11229 wire.raw.get().read_unchecked::<crate::wire::UseStorage<'de>>()
11230 })),
11231
11232 7 => Self::EventStream(::fidl_next::FromWire::from_wire(unsafe {
11233 wire.raw.get().read_unchecked::<crate::wire::UseEventStream<'de>>()
11234 })),
11235
11236 8 => Self::Runner(::fidl_next::FromWire::from_wire(unsafe {
11237 wire.raw.get().read_unchecked::<crate::wire::UseRunner<'de>>()
11238 })),
11239
11240 9 => Self::Config(::fidl_next::FromWire::from_wire(unsafe {
11241 wire.raw.get().read_unchecked::<crate::wire::UseConfiguration<'de>>()
11242 })),
11243
11244 10 => Self::Dictionary(::fidl_next::FromWire::from_wire(unsafe {
11245 wire.raw.get().read_unchecked::<crate::wire::UseDictionary<'de>>()
11246 })),
11247
11248 ord => return Self::UnknownOrdinal_(ord as u64),
11249 }
11250 }
11251 }
11252
11253 impl<'de> ::fidl_next::FromWireRef<crate::wire::Use<'de>> for Use {
11254 #[inline]
11255 fn from_wire_ref(wire: &crate::wire::Use<'de>) -> Self {
11256 match wire.raw.ordinal() {
11257 1 => Self::Service(::fidl_next::FromWireRef::from_wire_ref(unsafe {
11258 wire.raw.get().deref_unchecked::<crate::wire::UseService<'de>>()
11259 })),
11260
11261 2 => Self::Protocol(::fidl_next::FromWireRef::from_wire_ref(unsafe {
11262 wire.raw.get().deref_unchecked::<crate::wire::UseProtocol<'de>>()
11263 })),
11264
11265 3 => Self::Directory(::fidl_next::FromWireRef::from_wire_ref(unsafe {
11266 wire.raw.get().deref_unchecked::<crate::wire::UseDirectory<'de>>()
11267 })),
11268
11269 4 => Self::Storage(::fidl_next::FromWireRef::from_wire_ref(unsafe {
11270 wire.raw.get().deref_unchecked::<crate::wire::UseStorage<'de>>()
11271 })),
11272
11273 7 => Self::EventStream(::fidl_next::FromWireRef::from_wire_ref(unsafe {
11274 wire.raw.get().deref_unchecked::<crate::wire::UseEventStream<'de>>()
11275 })),
11276
11277 8 => Self::Runner(::fidl_next::FromWireRef::from_wire_ref(unsafe {
11278 wire.raw.get().deref_unchecked::<crate::wire::UseRunner<'de>>()
11279 })),
11280
11281 9 => Self::Config(::fidl_next::FromWireRef::from_wire_ref(unsafe {
11282 wire.raw.get().deref_unchecked::<crate::wire::UseConfiguration<'de>>()
11283 })),
11284
11285 10 => Self::Dictionary(::fidl_next::FromWireRef::from_wire_ref(unsafe {
11286 wire.raw.get().deref_unchecked::<crate::wire::UseDictionary<'de>>()
11287 })),
11288
11289 ord => return Self::UnknownOrdinal_(ord as u64),
11290 }
11291 }
11292 }
11293
11294 impl<'de> ::fidl_next::FromWireOption<crate::wire_optional::Use<'de>> for Use {
11295 #[inline]
11296 fn from_wire_option(wire: crate::wire_optional::Use<'de>) -> ::core::option::Option<Self> {
11297 if let Some(inner) = wire.into_option() {
11298 Some(::fidl_next::FromWire::from_wire(inner))
11299 } else {
11300 None
11301 }
11302 }
11303 }
11304
11305 impl<'de> ::fidl_next::FromWireOption<crate::wire_optional::Use<'de>> for Box<Use> {
11306 #[inline]
11307 fn from_wire_option(wire: crate::wire_optional::Use<'de>) -> ::core::option::Option<Self> {
11308 <Use as ::fidl_next::FromWireOption<crate::wire_optional::Use<'de>>>::from_wire_option(
11309 wire,
11310 )
11311 .map(Box::new)
11312 }
11313 }
11314
11315 impl<'de> ::fidl_next::FromWireOptionRef<crate::wire_optional::Use<'de>> for Box<Use> {
11316 #[inline]
11317 fn from_wire_option_ref(
11318 wire: &crate::wire_optional::Use<'de>,
11319 ) -> ::core::option::Option<Self> {
11320 if let Some(inner) = wire.as_ref() {
11321 Some(Box::new(::fidl_next::FromWireRef::from_wire_ref(inner)))
11322 } else {
11323 None
11324 }
11325 }
11326 }
11327
11328 #[doc = " Declares a service exposed to a component\'s containing realm, such as a\n service exposed by the component or one of its children at runtime.\n\n To learn more about services, see:\n https://fuchsia.dev/fuchsia-src/glossary#service\n"]
11329 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
11330 pub struct ExposeService {
11331 pub source: ::core::option::Option<crate::natural::Ref>,
11332
11333 pub source_name: ::core::option::Option<::std::string::String>,
11334
11335 pub target: ::core::option::Option<crate::natural::Ref>,
11336
11337 pub target_name: ::core::option::Option<::std::string::String>,
11338
11339 pub availability: ::core::option::Option<crate::natural::Availability>,
11340
11341 pub source_dictionary: ::core::option::Option<::std::string::String>,
11342 }
11343
11344 impl ExposeService {
11345 fn __max_ordinal(&self) -> usize {
11346 if self.source_dictionary.is_some() {
11347 return 6;
11348 }
11349
11350 if self.availability.is_some() {
11351 return 5;
11352 }
11353
11354 if self.target_name.is_some() {
11355 return 4;
11356 }
11357
11358 if self.target.is_some() {
11359 return 3;
11360 }
11361
11362 if self.source_name.is_some() {
11363 return 2;
11364 }
11365
11366 if self.source.is_some() {
11367 return 1;
11368 }
11369
11370 0
11371 }
11372 }
11373
11374 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ExposeService<'static>, ___E> for ExposeService
11375 where
11376 ___E: ::fidl_next::Encoder + ?Sized,
11377 {
11378 #[inline]
11379 fn encode(
11380 mut self,
11381 encoder: &mut ___E,
11382 out: &mut ::core::mem::MaybeUninit<crate::wire::ExposeService<'static>>,
11383 _: (),
11384 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
11385 ::fidl_next::munge!(let crate::wire::ExposeService { table } = out);
11386
11387 let max_ord = self.__max_ordinal();
11388
11389 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
11390 ::fidl_next::Wire::zero_padding(&mut out);
11391
11392 let mut preallocated =
11393 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
11394
11395 for i in 1..=max_ord {
11396 match i {
11397 6 => {
11398 if let Some(value) = self.source_dictionary.take() {
11399 ::fidl_next::WireEnvelope::encode_value::<
11400 ::fidl_next::WireString<'static>,
11401 ___E,
11402 >(
11403 value, preallocated.encoder, &mut out, 1024
11404 )?;
11405 } else {
11406 ::fidl_next::WireEnvelope::encode_zero(&mut out)
11407 }
11408 }
11409
11410 5 => {
11411 if let Some(value) = self.availability.take() {
11412 ::fidl_next::WireEnvelope::encode_value::<
11413 crate::wire::Availability,
11414 ___E,
11415 >(
11416 value, preallocated.encoder, &mut out, ()
11417 )?;
11418 } else {
11419 ::fidl_next::WireEnvelope::encode_zero(&mut out)
11420 }
11421 }
11422
11423 4 => {
11424 if let Some(value) = self.target_name.take() {
11425 ::fidl_next::WireEnvelope::encode_value::<
11426 ::fidl_next::WireString<'static>,
11427 ___E,
11428 >(
11429 value, preallocated.encoder, &mut out, 100
11430 )?;
11431 } else {
11432 ::fidl_next::WireEnvelope::encode_zero(&mut out)
11433 }
11434 }
11435
11436 3 => {
11437 if let Some(value) = self.target.take() {
11438 ::fidl_next::WireEnvelope::encode_value::<
11439 crate::wire::Ref<'static>,
11440 ___E,
11441 >(
11442 value, preallocated.encoder, &mut out, ()
11443 )?;
11444 } else {
11445 ::fidl_next::WireEnvelope::encode_zero(&mut out)
11446 }
11447 }
11448
11449 2 => {
11450 if let Some(value) = self.source_name.take() {
11451 ::fidl_next::WireEnvelope::encode_value::<
11452 ::fidl_next::WireString<'static>,
11453 ___E,
11454 >(
11455 value, preallocated.encoder, &mut out, 100
11456 )?;
11457 } else {
11458 ::fidl_next::WireEnvelope::encode_zero(&mut out)
11459 }
11460 }
11461
11462 1 => {
11463 if let Some(value) = self.source.take() {
11464 ::fidl_next::WireEnvelope::encode_value::<
11465 crate::wire::Ref<'static>,
11466 ___E,
11467 >(
11468 value, preallocated.encoder, &mut out, ()
11469 )?;
11470 } else {
11471 ::fidl_next::WireEnvelope::encode_zero(&mut out)
11472 }
11473 }
11474
11475 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
11476 }
11477 unsafe {
11478 preallocated.write_next(out.assume_init_ref());
11479 }
11480 }
11481
11482 ::fidl_next::WireTable::encode_len(table, max_ord);
11483
11484 Ok(())
11485 }
11486 }
11487
11488 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ExposeService<'static>, ___E>
11489 for &'a ExposeService
11490 where
11491 ___E: ::fidl_next::Encoder + ?Sized,
11492 {
11493 #[inline]
11494 fn encode(
11495 self,
11496 encoder: &mut ___E,
11497 out: &mut ::core::mem::MaybeUninit<crate::wire::ExposeService<'static>>,
11498 _: (),
11499 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
11500 ::fidl_next::munge!(let crate::wire::ExposeService { table } = out);
11501
11502 let max_ord = self.__max_ordinal();
11503
11504 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
11505 ::fidl_next::Wire::zero_padding(&mut out);
11506
11507 let mut preallocated =
11508 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
11509
11510 for i in 1..=max_ord {
11511 match i {
11512 6 => {
11513 if let Some(value) = &self.source_dictionary {
11514 ::fidl_next::WireEnvelope::encode_value::<
11515 ::fidl_next::WireString<'static>,
11516 ___E,
11517 >(
11518 value, preallocated.encoder, &mut out, 1024
11519 )?;
11520 } else {
11521 ::fidl_next::WireEnvelope::encode_zero(&mut out)
11522 }
11523 }
11524
11525 5 => {
11526 if let Some(value) = &self.availability {
11527 ::fidl_next::WireEnvelope::encode_value::<
11528 crate::wire::Availability,
11529 ___E,
11530 >(
11531 value, preallocated.encoder, &mut out, ()
11532 )?;
11533 } else {
11534 ::fidl_next::WireEnvelope::encode_zero(&mut out)
11535 }
11536 }
11537
11538 4 => {
11539 if let Some(value) = &self.target_name {
11540 ::fidl_next::WireEnvelope::encode_value::<
11541 ::fidl_next::WireString<'static>,
11542 ___E,
11543 >(
11544 value, preallocated.encoder, &mut out, 100
11545 )?;
11546 } else {
11547 ::fidl_next::WireEnvelope::encode_zero(&mut out)
11548 }
11549 }
11550
11551 3 => {
11552 if let Some(value) = &self.target {
11553 ::fidl_next::WireEnvelope::encode_value::<
11554 crate::wire::Ref<'static>,
11555 ___E,
11556 >(
11557 value, preallocated.encoder, &mut out, ()
11558 )?;
11559 } else {
11560 ::fidl_next::WireEnvelope::encode_zero(&mut out)
11561 }
11562 }
11563
11564 2 => {
11565 if let Some(value) = &self.source_name {
11566 ::fidl_next::WireEnvelope::encode_value::<
11567 ::fidl_next::WireString<'static>,
11568 ___E,
11569 >(
11570 value, preallocated.encoder, &mut out, 100
11571 )?;
11572 } else {
11573 ::fidl_next::WireEnvelope::encode_zero(&mut out)
11574 }
11575 }
11576
11577 1 => {
11578 if let Some(value) = &self.source {
11579 ::fidl_next::WireEnvelope::encode_value::<
11580 crate::wire::Ref<'static>,
11581 ___E,
11582 >(
11583 value, preallocated.encoder, &mut out, ()
11584 )?;
11585 } else {
11586 ::fidl_next::WireEnvelope::encode_zero(&mut out)
11587 }
11588 }
11589
11590 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
11591 }
11592 unsafe {
11593 preallocated.write_next(out.assume_init_ref());
11594 }
11595 }
11596
11597 ::fidl_next::WireTable::encode_len(table, max_ord);
11598
11599 Ok(())
11600 }
11601 }
11602
11603 impl<'de> ::fidl_next::FromWire<crate::wire::ExposeService<'de>> for ExposeService {
11604 #[inline]
11605 fn from_wire(wire_: crate::wire::ExposeService<'de>) -> Self {
11606 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
11607
11608 let source = wire_.table.get(1);
11609
11610 let source_name = wire_.table.get(2);
11611
11612 let target = wire_.table.get(3);
11613
11614 let target_name = wire_.table.get(4);
11615
11616 let availability = wire_.table.get(5);
11617
11618 let source_dictionary = wire_.table.get(6);
11619
11620 Self {
11621 source: source.map(|envelope| {
11622 ::fidl_next::FromWire::from_wire(unsafe {
11623 envelope.read_unchecked::<crate::wire::Ref<'de>>()
11624 })
11625 }),
11626
11627 source_name: source_name.map(|envelope| {
11628 ::fidl_next::FromWire::from_wire(unsafe {
11629 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
11630 })
11631 }),
11632
11633 target: target.map(|envelope| {
11634 ::fidl_next::FromWire::from_wire(unsafe {
11635 envelope.read_unchecked::<crate::wire::Ref<'de>>()
11636 })
11637 }),
11638
11639 target_name: target_name.map(|envelope| {
11640 ::fidl_next::FromWire::from_wire(unsafe {
11641 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
11642 })
11643 }),
11644
11645 availability: availability.map(|envelope| {
11646 ::fidl_next::FromWire::from_wire(unsafe {
11647 envelope.read_unchecked::<crate::wire::Availability>()
11648 })
11649 }),
11650
11651 source_dictionary: source_dictionary.map(|envelope| {
11652 ::fidl_next::FromWire::from_wire(unsafe {
11653 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
11654 })
11655 }),
11656 }
11657 }
11658 }
11659
11660 impl<'de> ::fidl_next::FromWireRef<crate::wire::ExposeService<'de>> for ExposeService {
11661 #[inline]
11662 fn from_wire_ref(wire: &crate::wire::ExposeService<'de>) -> Self {
11663 Self {
11664 source: wire.table.get(1).map(|envelope| {
11665 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
11666 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
11667 })
11668 }),
11669
11670 source_name: wire.table.get(2).map(|envelope| {
11671 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
11672 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
11673 })
11674 }),
11675
11676 target: wire.table.get(3).map(|envelope| {
11677 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
11678 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
11679 })
11680 }),
11681
11682 target_name: wire.table.get(4).map(|envelope| {
11683 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
11684 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
11685 })
11686 }),
11687
11688 availability: wire.table.get(5).map(|envelope| {
11689 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
11690 envelope.deref_unchecked::<crate::wire::Availability>()
11691 })
11692 }),
11693
11694 source_dictionary: wire.table.get(6).map(|envelope| {
11695 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
11696 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
11697 })
11698 }),
11699 }
11700 }
11701 }
11702
11703 #[doc = " Declares a protocol exposed to a component\'s containing realm, such as\n a protocol exposed by the component or one of its children at runtime.\n\n To learn more about protocols, see:\n https://fuchsia.dev/fuchsia-src/glossary#protocol\n"]
11704 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
11705 pub struct ExposeProtocol {
11706 pub source: ::core::option::Option<crate::natural::Ref>,
11707
11708 pub source_name: ::core::option::Option<::std::string::String>,
11709
11710 pub target: ::core::option::Option<crate::natural::Ref>,
11711
11712 pub target_name: ::core::option::Option<::std::string::String>,
11713
11714 pub availability: ::core::option::Option<crate::natural::Availability>,
11715
11716 pub source_dictionary: ::core::option::Option<::std::string::String>,
11717 }
11718
11719 impl ExposeProtocol {
11720 fn __max_ordinal(&self) -> usize {
11721 if self.source_dictionary.is_some() {
11722 return 6;
11723 }
11724
11725 if self.availability.is_some() {
11726 return 5;
11727 }
11728
11729 if self.target_name.is_some() {
11730 return 4;
11731 }
11732
11733 if self.target.is_some() {
11734 return 3;
11735 }
11736
11737 if self.source_name.is_some() {
11738 return 2;
11739 }
11740
11741 if self.source.is_some() {
11742 return 1;
11743 }
11744
11745 0
11746 }
11747 }
11748
11749 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ExposeProtocol<'static>, ___E> for ExposeProtocol
11750 where
11751 ___E: ::fidl_next::Encoder + ?Sized,
11752 {
11753 #[inline]
11754 fn encode(
11755 mut self,
11756 encoder: &mut ___E,
11757 out: &mut ::core::mem::MaybeUninit<crate::wire::ExposeProtocol<'static>>,
11758 _: (),
11759 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
11760 ::fidl_next::munge!(let crate::wire::ExposeProtocol { table } = out);
11761
11762 let max_ord = self.__max_ordinal();
11763
11764 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
11765 ::fidl_next::Wire::zero_padding(&mut out);
11766
11767 let mut preallocated =
11768 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
11769
11770 for i in 1..=max_ord {
11771 match i {
11772 6 => {
11773 if let Some(value) = self.source_dictionary.take() {
11774 ::fidl_next::WireEnvelope::encode_value::<
11775 ::fidl_next::WireString<'static>,
11776 ___E,
11777 >(
11778 value, preallocated.encoder, &mut out, 1024
11779 )?;
11780 } else {
11781 ::fidl_next::WireEnvelope::encode_zero(&mut out)
11782 }
11783 }
11784
11785 5 => {
11786 if let Some(value) = self.availability.take() {
11787 ::fidl_next::WireEnvelope::encode_value::<
11788 crate::wire::Availability,
11789 ___E,
11790 >(
11791 value, preallocated.encoder, &mut out, ()
11792 )?;
11793 } else {
11794 ::fidl_next::WireEnvelope::encode_zero(&mut out)
11795 }
11796 }
11797
11798 4 => {
11799 if let Some(value) = self.target_name.take() {
11800 ::fidl_next::WireEnvelope::encode_value::<
11801 ::fidl_next::WireString<'static>,
11802 ___E,
11803 >(
11804 value, preallocated.encoder, &mut out, 100
11805 )?;
11806 } else {
11807 ::fidl_next::WireEnvelope::encode_zero(&mut out)
11808 }
11809 }
11810
11811 3 => {
11812 if let Some(value) = self.target.take() {
11813 ::fidl_next::WireEnvelope::encode_value::<
11814 crate::wire::Ref<'static>,
11815 ___E,
11816 >(
11817 value, preallocated.encoder, &mut out, ()
11818 )?;
11819 } else {
11820 ::fidl_next::WireEnvelope::encode_zero(&mut out)
11821 }
11822 }
11823
11824 2 => {
11825 if let Some(value) = self.source_name.take() {
11826 ::fidl_next::WireEnvelope::encode_value::<
11827 ::fidl_next::WireString<'static>,
11828 ___E,
11829 >(
11830 value, preallocated.encoder, &mut out, 100
11831 )?;
11832 } else {
11833 ::fidl_next::WireEnvelope::encode_zero(&mut out)
11834 }
11835 }
11836
11837 1 => {
11838 if let Some(value) = self.source.take() {
11839 ::fidl_next::WireEnvelope::encode_value::<
11840 crate::wire::Ref<'static>,
11841 ___E,
11842 >(
11843 value, preallocated.encoder, &mut out, ()
11844 )?;
11845 } else {
11846 ::fidl_next::WireEnvelope::encode_zero(&mut out)
11847 }
11848 }
11849
11850 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
11851 }
11852 unsafe {
11853 preallocated.write_next(out.assume_init_ref());
11854 }
11855 }
11856
11857 ::fidl_next::WireTable::encode_len(table, max_ord);
11858
11859 Ok(())
11860 }
11861 }
11862
11863 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ExposeProtocol<'static>, ___E>
11864 for &'a ExposeProtocol
11865 where
11866 ___E: ::fidl_next::Encoder + ?Sized,
11867 {
11868 #[inline]
11869 fn encode(
11870 self,
11871 encoder: &mut ___E,
11872 out: &mut ::core::mem::MaybeUninit<crate::wire::ExposeProtocol<'static>>,
11873 _: (),
11874 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
11875 ::fidl_next::munge!(let crate::wire::ExposeProtocol { table } = out);
11876
11877 let max_ord = self.__max_ordinal();
11878
11879 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
11880 ::fidl_next::Wire::zero_padding(&mut out);
11881
11882 let mut preallocated =
11883 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
11884
11885 for i in 1..=max_ord {
11886 match i {
11887 6 => {
11888 if let Some(value) = &self.source_dictionary {
11889 ::fidl_next::WireEnvelope::encode_value::<
11890 ::fidl_next::WireString<'static>,
11891 ___E,
11892 >(
11893 value, preallocated.encoder, &mut out, 1024
11894 )?;
11895 } else {
11896 ::fidl_next::WireEnvelope::encode_zero(&mut out)
11897 }
11898 }
11899
11900 5 => {
11901 if let Some(value) = &self.availability {
11902 ::fidl_next::WireEnvelope::encode_value::<
11903 crate::wire::Availability,
11904 ___E,
11905 >(
11906 value, preallocated.encoder, &mut out, ()
11907 )?;
11908 } else {
11909 ::fidl_next::WireEnvelope::encode_zero(&mut out)
11910 }
11911 }
11912
11913 4 => {
11914 if let Some(value) = &self.target_name {
11915 ::fidl_next::WireEnvelope::encode_value::<
11916 ::fidl_next::WireString<'static>,
11917 ___E,
11918 >(
11919 value, preallocated.encoder, &mut out, 100
11920 )?;
11921 } else {
11922 ::fidl_next::WireEnvelope::encode_zero(&mut out)
11923 }
11924 }
11925
11926 3 => {
11927 if let Some(value) = &self.target {
11928 ::fidl_next::WireEnvelope::encode_value::<
11929 crate::wire::Ref<'static>,
11930 ___E,
11931 >(
11932 value, preallocated.encoder, &mut out, ()
11933 )?;
11934 } else {
11935 ::fidl_next::WireEnvelope::encode_zero(&mut out)
11936 }
11937 }
11938
11939 2 => {
11940 if let Some(value) = &self.source_name {
11941 ::fidl_next::WireEnvelope::encode_value::<
11942 ::fidl_next::WireString<'static>,
11943 ___E,
11944 >(
11945 value, preallocated.encoder, &mut out, 100
11946 )?;
11947 } else {
11948 ::fidl_next::WireEnvelope::encode_zero(&mut out)
11949 }
11950 }
11951
11952 1 => {
11953 if let Some(value) = &self.source {
11954 ::fidl_next::WireEnvelope::encode_value::<
11955 crate::wire::Ref<'static>,
11956 ___E,
11957 >(
11958 value, preallocated.encoder, &mut out, ()
11959 )?;
11960 } else {
11961 ::fidl_next::WireEnvelope::encode_zero(&mut out)
11962 }
11963 }
11964
11965 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
11966 }
11967 unsafe {
11968 preallocated.write_next(out.assume_init_ref());
11969 }
11970 }
11971
11972 ::fidl_next::WireTable::encode_len(table, max_ord);
11973
11974 Ok(())
11975 }
11976 }
11977
11978 impl<'de> ::fidl_next::FromWire<crate::wire::ExposeProtocol<'de>> for ExposeProtocol {
11979 #[inline]
11980 fn from_wire(wire_: crate::wire::ExposeProtocol<'de>) -> Self {
11981 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
11982
11983 let source = wire_.table.get(1);
11984
11985 let source_name = wire_.table.get(2);
11986
11987 let target = wire_.table.get(3);
11988
11989 let target_name = wire_.table.get(4);
11990
11991 let availability = wire_.table.get(5);
11992
11993 let source_dictionary = wire_.table.get(6);
11994
11995 Self {
11996 source: source.map(|envelope| {
11997 ::fidl_next::FromWire::from_wire(unsafe {
11998 envelope.read_unchecked::<crate::wire::Ref<'de>>()
11999 })
12000 }),
12001
12002 source_name: source_name.map(|envelope| {
12003 ::fidl_next::FromWire::from_wire(unsafe {
12004 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
12005 })
12006 }),
12007
12008 target: target.map(|envelope| {
12009 ::fidl_next::FromWire::from_wire(unsafe {
12010 envelope.read_unchecked::<crate::wire::Ref<'de>>()
12011 })
12012 }),
12013
12014 target_name: target_name.map(|envelope| {
12015 ::fidl_next::FromWire::from_wire(unsafe {
12016 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
12017 })
12018 }),
12019
12020 availability: availability.map(|envelope| {
12021 ::fidl_next::FromWire::from_wire(unsafe {
12022 envelope.read_unchecked::<crate::wire::Availability>()
12023 })
12024 }),
12025
12026 source_dictionary: source_dictionary.map(|envelope| {
12027 ::fidl_next::FromWire::from_wire(unsafe {
12028 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
12029 })
12030 }),
12031 }
12032 }
12033 }
12034
12035 impl<'de> ::fidl_next::FromWireRef<crate::wire::ExposeProtocol<'de>> for ExposeProtocol {
12036 #[inline]
12037 fn from_wire_ref(wire: &crate::wire::ExposeProtocol<'de>) -> Self {
12038 Self {
12039 source: wire.table.get(1).map(|envelope| {
12040 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
12041 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
12042 })
12043 }),
12044
12045 source_name: wire.table.get(2).map(|envelope| {
12046 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
12047 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
12048 })
12049 }),
12050
12051 target: wire.table.get(3).map(|envelope| {
12052 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
12053 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
12054 })
12055 }),
12056
12057 target_name: wire.table.get(4).map(|envelope| {
12058 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
12059 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
12060 })
12061 }),
12062
12063 availability: wire.table.get(5).map(|envelope| {
12064 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
12065 envelope.deref_unchecked::<crate::wire::Availability>()
12066 })
12067 }),
12068
12069 source_dictionary: wire.table.get(6).map(|envelope| {
12070 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
12071 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
12072 })
12073 }),
12074 }
12075 }
12076 }
12077
12078 #[doc = " Declares a directory exposed to a component\'s containing realm, such as a\n directory exposed by the component or one of its children at runtime.\n"]
12079 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
12080 pub struct ExposeDirectory {
12081 pub source: ::core::option::Option<crate::natural::Ref>,
12082
12083 pub source_name: ::core::option::Option<::std::string::String>,
12084
12085 pub target: ::core::option::Option<crate::natural::Ref>,
12086
12087 pub target_name: ::core::option::Option<::std::string::String>,
12088
12089 pub rights: ::core::option::Option<::fidl_next_common_fuchsia_io::natural::Operations>,
12090
12091 pub subdir: ::core::option::Option<::std::string::String>,
12092
12093 pub availability: ::core::option::Option<crate::natural::Availability>,
12094
12095 pub source_dictionary: ::core::option::Option<::std::string::String>,
12096 }
12097
12098 impl ExposeDirectory {
12099 fn __max_ordinal(&self) -> usize {
12100 if self.source_dictionary.is_some() {
12101 return 8;
12102 }
12103
12104 if self.availability.is_some() {
12105 return 7;
12106 }
12107
12108 if self.subdir.is_some() {
12109 return 6;
12110 }
12111
12112 if self.rights.is_some() {
12113 return 5;
12114 }
12115
12116 if self.target_name.is_some() {
12117 return 4;
12118 }
12119
12120 if self.target.is_some() {
12121 return 3;
12122 }
12123
12124 if self.source_name.is_some() {
12125 return 2;
12126 }
12127
12128 if self.source.is_some() {
12129 return 1;
12130 }
12131
12132 0
12133 }
12134 }
12135
12136 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ExposeDirectory<'static>, ___E>
12137 for ExposeDirectory
12138 where
12139 ___E: ::fidl_next::Encoder + ?Sized,
12140 {
12141 #[inline]
12142 fn encode(
12143 mut self,
12144 encoder: &mut ___E,
12145 out: &mut ::core::mem::MaybeUninit<crate::wire::ExposeDirectory<'static>>,
12146 _: (),
12147 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
12148 ::fidl_next::munge!(let crate::wire::ExposeDirectory { table } = out);
12149
12150 let max_ord = self.__max_ordinal();
12151
12152 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
12153 ::fidl_next::Wire::zero_padding(&mut out);
12154
12155 let mut preallocated =
12156 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
12157
12158 for i in 1..=max_ord {
12159 match i {
12160 8 => {
12161 if let Some(value) = self.source_dictionary.take() {
12162 ::fidl_next::WireEnvelope::encode_value::<
12163 ::fidl_next::WireString<'static>,
12164 ___E,
12165 >(
12166 value, preallocated.encoder, &mut out, 1024
12167 )?;
12168 } else {
12169 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12170 }
12171 }
12172
12173 7 => {
12174 if let Some(value) = self.availability.take() {
12175 ::fidl_next::WireEnvelope::encode_value::<
12176 crate::wire::Availability,
12177 ___E,
12178 >(
12179 value, preallocated.encoder, &mut out, ()
12180 )?;
12181 } else {
12182 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12183 }
12184 }
12185
12186 6 => {
12187 if let Some(value) = self.subdir.take() {
12188 ::fidl_next::WireEnvelope::encode_value::<
12189 ::fidl_next::WireString<'static>,
12190 ___E,
12191 >(
12192 value, preallocated.encoder, &mut out, 1024
12193 )?;
12194 } else {
12195 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12196 }
12197 }
12198
12199 5 => {
12200 if let Some(value) = self.rights.take() {
12201 ::fidl_next::WireEnvelope::encode_value::<
12202 ::fidl_next_common_fuchsia_io::wire::Operations,
12203 ___E,
12204 >(
12205 value, preallocated.encoder, &mut out, ()
12206 )?;
12207 } else {
12208 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12209 }
12210 }
12211
12212 4 => {
12213 if let Some(value) = self.target_name.take() {
12214 ::fidl_next::WireEnvelope::encode_value::<
12215 ::fidl_next::WireString<'static>,
12216 ___E,
12217 >(
12218 value, preallocated.encoder, &mut out, 100
12219 )?;
12220 } else {
12221 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12222 }
12223 }
12224
12225 3 => {
12226 if let Some(value) = self.target.take() {
12227 ::fidl_next::WireEnvelope::encode_value::<
12228 crate::wire::Ref<'static>,
12229 ___E,
12230 >(
12231 value, preallocated.encoder, &mut out, ()
12232 )?;
12233 } else {
12234 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12235 }
12236 }
12237
12238 2 => {
12239 if let Some(value) = self.source_name.take() {
12240 ::fidl_next::WireEnvelope::encode_value::<
12241 ::fidl_next::WireString<'static>,
12242 ___E,
12243 >(
12244 value, preallocated.encoder, &mut out, 100
12245 )?;
12246 } else {
12247 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12248 }
12249 }
12250
12251 1 => {
12252 if let Some(value) = self.source.take() {
12253 ::fidl_next::WireEnvelope::encode_value::<
12254 crate::wire::Ref<'static>,
12255 ___E,
12256 >(
12257 value, preallocated.encoder, &mut out, ()
12258 )?;
12259 } else {
12260 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12261 }
12262 }
12263
12264 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
12265 }
12266 unsafe {
12267 preallocated.write_next(out.assume_init_ref());
12268 }
12269 }
12270
12271 ::fidl_next::WireTable::encode_len(table, max_ord);
12272
12273 Ok(())
12274 }
12275 }
12276
12277 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ExposeDirectory<'static>, ___E>
12278 for &'a ExposeDirectory
12279 where
12280 ___E: ::fidl_next::Encoder + ?Sized,
12281 {
12282 #[inline]
12283 fn encode(
12284 self,
12285 encoder: &mut ___E,
12286 out: &mut ::core::mem::MaybeUninit<crate::wire::ExposeDirectory<'static>>,
12287 _: (),
12288 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
12289 ::fidl_next::munge!(let crate::wire::ExposeDirectory { table } = out);
12290
12291 let max_ord = self.__max_ordinal();
12292
12293 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
12294 ::fidl_next::Wire::zero_padding(&mut out);
12295
12296 let mut preallocated =
12297 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
12298
12299 for i in 1..=max_ord {
12300 match i {
12301 8 => {
12302 if let Some(value) = &self.source_dictionary {
12303 ::fidl_next::WireEnvelope::encode_value::<
12304 ::fidl_next::WireString<'static>,
12305 ___E,
12306 >(
12307 value, preallocated.encoder, &mut out, 1024
12308 )?;
12309 } else {
12310 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12311 }
12312 }
12313
12314 7 => {
12315 if let Some(value) = &self.availability {
12316 ::fidl_next::WireEnvelope::encode_value::<
12317 crate::wire::Availability,
12318 ___E,
12319 >(
12320 value, preallocated.encoder, &mut out, ()
12321 )?;
12322 } else {
12323 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12324 }
12325 }
12326
12327 6 => {
12328 if let Some(value) = &self.subdir {
12329 ::fidl_next::WireEnvelope::encode_value::<
12330 ::fidl_next::WireString<'static>,
12331 ___E,
12332 >(
12333 value, preallocated.encoder, &mut out, 1024
12334 )?;
12335 } else {
12336 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12337 }
12338 }
12339
12340 5 => {
12341 if let Some(value) = &self.rights {
12342 ::fidl_next::WireEnvelope::encode_value::<
12343 ::fidl_next_common_fuchsia_io::wire::Operations,
12344 ___E,
12345 >(
12346 value, preallocated.encoder, &mut out, ()
12347 )?;
12348 } else {
12349 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12350 }
12351 }
12352
12353 4 => {
12354 if let Some(value) = &self.target_name {
12355 ::fidl_next::WireEnvelope::encode_value::<
12356 ::fidl_next::WireString<'static>,
12357 ___E,
12358 >(
12359 value, preallocated.encoder, &mut out, 100
12360 )?;
12361 } else {
12362 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12363 }
12364 }
12365
12366 3 => {
12367 if let Some(value) = &self.target {
12368 ::fidl_next::WireEnvelope::encode_value::<
12369 crate::wire::Ref<'static>,
12370 ___E,
12371 >(
12372 value, preallocated.encoder, &mut out, ()
12373 )?;
12374 } else {
12375 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12376 }
12377 }
12378
12379 2 => {
12380 if let Some(value) = &self.source_name {
12381 ::fidl_next::WireEnvelope::encode_value::<
12382 ::fidl_next::WireString<'static>,
12383 ___E,
12384 >(
12385 value, preallocated.encoder, &mut out, 100
12386 )?;
12387 } else {
12388 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12389 }
12390 }
12391
12392 1 => {
12393 if let Some(value) = &self.source {
12394 ::fidl_next::WireEnvelope::encode_value::<
12395 crate::wire::Ref<'static>,
12396 ___E,
12397 >(
12398 value, preallocated.encoder, &mut out, ()
12399 )?;
12400 } else {
12401 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12402 }
12403 }
12404
12405 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
12406 }
12407 unsafe {
12408 preallocated.write_next(out.assume_init_ref());
12409 }
12410 }
12411
12412 ::fidl_next::WireTable::encode_len(table, max_ord);
12413
12414 Ok(())
12415 }
12416 }
12417
12418 impl<'de> ::fidl_next::FromWire<crate::wire::ExposeDirectory<'de>> for ExposeDirectory {
12419 #[inline]
12420 fn from_wire(wire_: crate::wire::ExposeDirectory<'de>) -> Self {
12421 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
12422
12423 let source = wire_.table.get(1);
12424
12425 let source_name = wire_.table.get(2);
12426
12427 let target = wire_.table.get(3);
12428
12429 let target_name = wire_.table.get(4);
12430
12431 let rights = wire_.table.get(5);
12432
12433 let subdir = wire_.table.get(6);
12434
12435 let availability = wire_.table.get(7);
12436
12437 let source_dictionary = wire_.table.get(8);
12438
12439 Self {
12440 source: source.map(|envelope| {
12441 ::fidl_next::FromWire::from_wire(unsafe {
12442 envelope.read_unchecked::<crate::wire::Ref<'de>>()
12443 })
12444 }),
12445
12446 source_name: source_name.map(|envelope| {
12447 ::fidl_next::FromWire::from_wire(unsafe {
12448 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
12449 })
12450 }),
12451
12452 target: target.map(|envelope| {
12453 ::fidl_next::FromWire::from_wire(unsafe {
12454 envelope.read_unchecked::<crate::wire::Ref<'de>>()
12455 })
12456 }),
12457
12458 target_name: target_name.map(|envelope| {
12459 ::fidl_next::FromWire::from_wire(unsafe {
12460 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
12461 })
12462 }),
12463
12464 rights: rights.map(|envelope| {
12465 ::fidl_next::FromWire::from_wire(unsafe {
12466 envelope.read_unchecked::<::fidl_next_common_fuchsia_io::wire::Operations>()
12467 })
12468 }),
12469
12470 subdir: subdir.map(|envelope| {
12471 ::fidl_next::FromWire::from_wire(unsafe {
12472 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
12473 })
12474 }),
12475
12476 availability: availability.map(|envelope| {
12477 ::fidl_next::FromWire::from_wire(unsafe {
12478 envelope.read_unchecked::<crate::wire::Availability>()
12479 })
12480 }),
12481
12482 source_dictionary: source_dictionary.map(|envelope| {
12483 ::fidl_next::FromWire::from_wire(unsafe {
12484 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
12485 })
12486 }),
12487 }
12488 }
12489 }
12490
12491 impl<'de> ::fidl_next::FromWireRef<crate::wire::ExposeDirectory<'de>> for ExposeDirectory {
12492 #[inline]
12493 fn from_wire_ref(wire: &crate::wire::ExposeDirectory<'de>) -> Self {
12494 Self {
12495 source: wire.table.get(1).map(|envelope| {
12496 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
12497 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
12498 })
12499 }),
12500
12501 source_name: wire.table.get(2).map(|envelope| {
12502 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
12503 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
12504 })
12505 }),
12506
12507 target: wire.table.get(3).map(|envelope| {
12508 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
12509 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
12510 })
12511 }),
12512
12513 target_name: wire.table.get(4).map(|envelope| {
12514 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
12515 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
12516 })
12517 }),
12518
12519 rights: wire.table.get(5).map(|envelope| {
12520 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
12521 envelope
12522 .deref_unchecked::<::fidl_next_common_fuchsia_io::wire::Operations>()
12523 })
12524 }),
12525
12526 subdir: wire.table.get(6).map(|envelope| {
12527 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
12528 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
12529 })
12530 }),
12531
12532 availability: wire.table.get(7).map(|envelope| {
12533 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
12534 envelope.deref_unchecked::<crate::wire::Availability>()
12535 })
12536 }),
12537
12538 source_dictionary: wire.table.get(8).map(|envelope| {
12539 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
12540 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
12541 })
12542 }),
12543 }
12544 }
12545 }
12546
12547 #[doc = " Declares a runner exposed to a component\'s containing realm, such as a\n runner exposed by the component or one of its children at runtime.\n"]
12548 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
12549 pub struct ExposeRunner {
12550 pub source: ::core::option::Option<crate::natural::Ref>,
12551
12552 pub source_name: ::core::option::Option<::std::string::String>,
12553
12554 pub target: ::core::option::Option<crate::natural::Ref>,
12555
12556 pub target_name: ::core::option::Option<::std::string::String>,
12557
12558 pub source_dictionary: ::core::option::Option<::std::string::String>,
12559 }
12560
12561 impl ExposeRunner {
12562 fn __max_ordinal(&self) -> usize {
12563 if self.source_dictionary.is_some() {
12564 return 6;
12565 }
12566
12567 if self.target_name.is_some() {
12568 return 4;
12569 }
12570
12571 if self.target.is_some() {
12572 return 3;
12573 }
12574
12575 if self.source_name.is_some() {
12576 return 2;
12577 }
12578
12579 if self.source.is_some() {
12580 return 1;
12581 }
12582
12583 0
12584 }
12585 }
12586
12587 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ExposeRunner<'static>, ___E> for ExposeRunner
12588 where
12589 ___E: ::fidl_next::Encoder + ?Sized,
12590 {
12591 #[inline]
12592 fn encode(
12593 mut self,
12594 encoder: &mut ___E,
12595 out: &mut ::core::mem::MaybeUninit<crate::wire::ExposeRunner<'static>>,
12596 _: (),
12597 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
12598 ::fidl_next::munge!(let crate::wire::ExposeRunner { table } = out);
12599
12600 let max_ord = self.__max_ordinal();
12601
12602 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
12603 ::fidl_next::Wire::zero_padding(&mut out);
12604
12605 let mut preallocated =
12606 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
12607
12608 for i in 1..=max_ord {
12609 match i {
12610 6 => {
12611 if let Some(value) = self.source_dictionary.take() {
12612 ::fidl_next::WireEnvelope::encode_value::<
12613 ::fidl_next::WireString<'static>,
12614 ___E,
12615 >(
12616 value, preallocated.encoder, &mut out, 1024
12617 )?;
12618 } else {
12619 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12620 }
12621 }
12622
12623 4 => {
12624 if let Some(value) = self.target_name.take() {
12625 ::fidl_next::WireEnvelope::encode_value::<
12626 ::fidl_next::WireString<'static>,
12627 ___E,
12628 >(
12629 value, preallocated.encoder, &mut out, 100
12630 )?;
12631 } else {
12632 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12633 }
12634 }
12635
12636 3 => {
12637 if let Some(value) = self.target.take() {
12638 ::fidl_next::WireEnvelope::encode_value::<
12639 crate::wire::Ref<'static>,
12640 ___E,
12641 >(
12642 value, preallocated.encoder, &mut out, ()
12643 )?;
12644 } else {
12645 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12646 }
12647 }
12648
12649 2 => {
12650 if let Some(value) = self.source_name.take() {
12651 ::fidl_next::WireEnvelope::encode_value::<
12652 ::fidl_next::WireString<'static>,
12653 ___E,
12654 >(
12655 value, preallocated.encoder, &mut out, 100
12656 )?;
12657 } else {
12658 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12659 }
12660 }
12661
12662 1 => {
12663 if let Some(value) = self.source.take() {
12664 ::fidl_next::WireEnvelope::encode_value::<
12665 crate::wire::Ref<'static>,
12666 ___E,
12667 >(
12668 value, preallocated.encoder, &mut out, ()
12669 )?;
12670 } else {
12671 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12672 }
12673 }
12674
12675 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
12676 }
12677 unsafe {
12678 preallocated.write_next(out.assume_init_ref());
12679 }
12680 }
12681
12682 ::fidl_next::WireTable::encode_len(table, max_ord);
12683
12684 Ok(())
12685 }
12686 }
12687
12688 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ExposeRunner<'static>, ___E>
12689 for &'a ExposeRunner
12690 where
12691 ___E: ::fidl_next::Encoder + ?Sized,
12692 {
12693 #[inline]
12694 fn encode(
12695 self,
12696 encoder: &mut ___E,
12697 out: &mut ::core::mem::MaybeUninit<crate::wire::ExposeRunner<'static>>,
12698 _: (),
12699 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
12700 ::fidl_next::munge!(let crate::wire::ExposeRunner { table } = out);
12701
12702 let max_ord = self.__max_ordinal();
12703
12704 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
12705 ::fidl_next::Wire::zero_padding(&mut out);
12706
12707 let mut preallocated =
12708 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
12709
12710 for i in 1..=max_ord {
12711 match i {
12712 6 => {
12713 if let Some(value) = &self.source_dictionary {
12714 ::fidl_next::WireEnvelope::encode_value::<
12715 ::fidl_next::WireString<'static>,
12716 ___E,
12717 >(
12718 value, preallocated.encoder, &mut out, 1024
12719 )?;
12720 } else {
12721 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12722 }
12723 }
12724
12725 4 => {
12726 if let Some(value) = &self.target_name {
12727 ::fidl_next::WireEnvelope::encode_value::<
12728 ::fidl_next::WireString<'static>,
12729 ___E,
12730 >(
12731 value, preallocated.encoder, &mut out, 100
12732 )?;
12733 } else {
12734 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12735 }
12736 }
12737
12738 3 => {
12739 if let Some(value) = &self.target {
12740 ::fidl_next::WireEnvelope::encode_value::<
12741 crate::wire::Ref<'static>,
12742 ___E,
12743 >(
12744 value, preallocated.encoder, &mut out, ()
12745 )?;
12746 } else {
12747 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12748 }
12749 }
12750
12751 2 => {
12752 if let Some(value) = &self.source_name {
12753 ::fidl_next::WireEnvelope::encode_value::<
12754 ::fidl_next::WireString<'static>,
12755 ___E,
12756 >(
12757 value, preallocated.encoder, &mut out, 100
12758 )?;
12759 } else {
12760 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12761 }
12762 }
12763
12764 1 => {
12765 if let Some(value) = &self.source {
12766 ::fidl_next::WireEnvelope::encode_value::<
12767 crate::wire::Ref<'static>,
12768 ___E,
12769 >(
12770 value, preallocated.encoder, &mut out, ()
12771 )?;
12772 } else {
12773 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12774 }
12775 }
12776
12777 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
12778 }
12779 unsafe {
12780 preallocated.write_next(out.assume_init_ref());
12781 }
12782 }
12783
12784 ::fidl_next::WireTable::encode_len(table, max_ord);
12785
12786 Ok(())
12787 }
12788 }
12789
12790 impl<'de> ::fidl_next::FromWire<crate::wire::ExposeRunner<'de>> for ExposeRunner {
12791 #[inline]
12792 fn from_wire(wire_: crate::wire::ExposeRunner<'de>) -> Self {
12793 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
12794
12795 let source = wire_.table.get(1);
12796
12797 let source_name = wire_.table.get(2);
12798
12799 let target = wire_.table.get(3);
12800
12801 let target_name = wire_.table.get(4);
12802
12803 let source_dictionary = wire_.table.get(6);
12804
12805 Self {
12806 source: source.map(|envelope| {
12807 ::fidl_next::FromWire::from_wire(unsafe {
12808 envelope.read_unchecked::<crate::wire::Ref<'de>>()
12809 })
12810 }),
12811
12812 source_name: source_name.map(|envelope| {
12813 ::fidl_next::FromWire::from_wire(unsafe {
12814 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
12815 })
12816 }),
12817
12818 target: target.map(|envelope| {
12819 ::fidl_next::FromWire::from_wire(unsafe {
12820 envelope.read_unchecked::<crate::wire::Ref<'de>>()
12821 })
12822 }),
12823
12824 target_name: target_name.map(|envelope| {
12825 ::fidl_next::FromWire::from_wire(unsafe {
12826 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
12827 })
12828 }),
12829
12830 source_dictionary: source_dictionary.map(|envelope| {
12831 ::fidl_next::FromWire::from_wire(unsafe {
12832 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
12833 })
12834 }),
12835 }
12836 }
12837 }
12838
12839 impl<'de> ::fidl_next::FromWireRef<crate::wire::ExposeRunner<'de>> for ExposeRunner {
12840 #[inline]
12841 fn from_wire_ref(wire: &crate::wire::ExposeRunner<'de>) -> Self {
12842 Self {
12843 source: wire.table.get(1).map(|envelope| {
12844 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
12845 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
12846 })
12847 }),
12848
12849 source_name: wire.table.get(2).map(|envelope| {
12850 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
12851 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
12852 })
12853 }),
12854
12855 target: wire.table.get(3).map(|envelope| {
12856 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
12857 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
12858 })
12859 }),
12860
12861 target_name: wire.table.get(4).map(|envelope| {
12862 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
12863 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
12864 })
12865 }),
12866
12867 source_dictionary: wire.table.get(6).map(|envelope| {
12868 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
12869 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
12870 })
12871 }),
12872 }
12873 }
12874 }
12875
12876 #[doc = " Declares a resolver exposed to a component\'s containing realm, such as a\n resolver exposed by the component or one of its children at runtime.\n"]
12877 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
12878 pub struct ExposeResolver {
12879 pub source: ::core::option::Option<crate::natural::Ref>,
12880
12881 pub source_name: ::core::option::Option<::std::string::String>,
12882
12883 pub target: ::core::option::Option<crate::natural::Ref>,
12884
12885 pub target_name: ::core::option::Option<::std::string::String>,
12886
12887 pub source_dictionary: ::core::option::Option<::std::string::String>,
12888 }
12889
12890 impl ExposeResolver {
12891 fn __max_ordinal(&self) -> usize {
12892 if self.source_dictionary.is_some() {
12893 return 6;
12894 }
12895
12896 if self.target_name.is_some() {
12897 return 4;
12898 }
12899
12900 if self.target.is_some() {
12901 return 3;
12902 }
12903
12904 if self.source_name.is_some() {
12905 return 2;
12906 }
12907
12908 if self.source.is_some() {
12909 return 1;
12910 }
12911
12912 0
12913 }
12914 }
12915
12916 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ExposeResolver<'static>, ___E> for ExposeResolver
12917 where
12918 ___E: ::fidl_next::Encoder + ?Sized,
12919 {
12920 #[inline]
12921 fn encode(
12922 mut self,
12923 encoder: &mut ___E,
12924 out: &mut ::core::mem::MaybeUninit<crate::wire::ExposeResolver<'static>>,
12925 _: (),
12926 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
12927 ::fidl_next::munge!(let crate::wire::ExposeResolver { table } = out);
12928
12929 let max_ord = self.__max_ordinal();
12930
12931 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
12932 ::fidl_next::Wire::zero_padding(&mut out);
12933
12934 let mut preallocated =
12935 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
12936
12937 for i in 1..=max_ord {
12938 match i {
12939 6 => {
12940 if let Some(value) = self.source_dictionary.take() {
12941 ::fidl_next::WireEnvelope::encode_value::<
12942 ::fidl_next::WireString<'static>,
12943 ___E,
12944 >(
12945 value, preallocated.encoder, &mut out, 1024
12946 )?;
12947 } else {
12948 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12949 }
12950 }
12951
12952 4 => {
12953 if let Some(value) = self.target_name.take() {
12954 ::fidl_next::WireEnvelope::encode_value::<
12955 ::fidl_next::WireString<'static>,
12956 ___E,
12957 >(
12958 value, preallocated.encoder, &mut out, 100
12959 )?;
12960 } else {
12961 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12962 }
12963 }
12964
12965 3 => {
12966 if let Some(value) = self.target.take() {
12967 ::fidl_next::WireEnvelope::encode_value::<
12968 crate::wire::Ref<'static>,
12969 ___E,
12970 >(
12971 value, preallocated.encoder, &mut out, ()
12972 )?;
12973 } else {
12974 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12975 }
12976 }
12977
12978 2 => {
12979 if let Some(value) = self.source_name.take() {
12980 ::fidl_next::WireEnvelope::encode_value::<
12981 ::fidl_next::WireString<'static>,
12982 ___E,
12983 >(
12984 value, preallocated.encoder, &mut out, 100
12985 )?;
12986 } else {
12987 ::fidl_next::WireEnvelope::encode_zero(&mut out)
12988 }
12989 }
12990
12991 1 => {
12992 if let Some(value) = self.source.take() {
12993 ::fidl_next::WireEnvelope::encode_value::<
12994 crate::wire::Ref<'static>,
12995 ___E,
12996 >(
12997 value, preallocated.encoder, &mut out, ()
12998 )?;
12999 } else {
13000 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13001 }
13002 }
13003
13004 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
13005 }
13006 unsafe {
13007 preallocated.write_next(out.assume_init_ref());
13008 }
13009 }
13010
13011 ::fidl_next::WireTable::encode_len(table, max_ord);
13012
13013 Ok(())
13014 }
13015 }
13016
13017 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ExposeResolver<'static>, ___E>
13018 for &'a ExposeResolver
13019 where
13020 ___E: ::fidl_next::Encoder + ?Sized,
13021 {
13022 #[inline]
13023 fn encode(
13024 self,
13025 encoder: &mut ___E,
13026 out: &mut ::core::mem::MaybeUninit<crate::wire::ExposeResolver<'static>>,
13027 _: (),
13028 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
13029 ::fidl_next::munge!(let crate::wire::ExposeResolver { table } = out);
13030
13031 let max_ord = self.__max_ordinal();
13032
13033 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
13034 ::fidl_next::Wire::zero_padding(&mut out);
13035
13036 let mut preallocated =
13037 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
13038
13039 for i in 1..=max_ord {
13040 match i {
13041 6 => {
13042 if let Some(value) = &self.source_dictionary {
13043 ::fidl_next::WireEnvelope::encode_value::<
13044 ::fidl_next::WireString<'static>,
13045 ___E,
13046 >(
13047 value, preallocated.encoder, &mut out, 1024
13048 )?;
13049 } else {
13050 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13051 }
13052 }
13053
13054 4 => {
13055 if let Some(value) = &self.target_name {
13056 ::fidl_next::WireEnvelope::encode_value::<
13057 ::fidl_next::WireString<'static>,
13058 ___E,
13059 >(
13060 value, preallocated.encoder, &mut out, 100
13061 )?;
13062 } else {
13063 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13064 }
13065 }
13066
13067 3 => {
13068 if let Some(value) = &self.target {
13069 ::fidl_next::WireEnvelope::encode_value::<
13070 crate::wire::Ref<'static>,
13071 ___E,
13072 >(
13073 value, preallocated.encoder, &mut out, ()
13074 )?;
13075 } else {
13076 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13077 }
13078 }
13079
13080 2 => {
13081 if let Some(value) = &self.source_name {
13082 ::fidl_next::WireEnvelope::encode_value::<
13083 ::fidl_next::WireString<'static>,
13084 ___E,
13085 >(
13086 value, preallocated.encoder, &mut out, 100
13087 )?;
13088 } else {
13089 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13090 }
13091 }
13092
13093 1 => {
13094 if let Some(value) = &self.source {
13095 ::fidl_next::WireEnvelope::encode_value::<
13096 crate::wire::Ref<'static>,
13097 ___E,
13098 >(
13099 value, preallocated.encoder, &mut out, ()
13100 )?;
13101 } else {
13102 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13103 }
13104 }
13105
13106 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
13107 }
13108 unsafe {
13109 preallocated.write_next(out.assume_init_ref());
13110 }
13111 }
13112
13113 ::fidl_next::WireTable::encode_len(table, max_ord);
13114
13115 Ok(())
13116 }
13117 }
13118
13119 impl<'de> ::fidl_next::FromWire<crate::wire::ExposeResolver<'de>> for ExposeResolver {
13120 #[inline]
13121 fn from_wire(wire_: crate::wire::ExposeResolver<'de>) -> Self {
13122 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
13123
13124 let source = wire_.table.get(1);
13125
13126 let source_name = wire_.table.get(2);
13127
13128 let target = wire_.table.get(3);
13129
13130 let target_name = wire_.table.get(4);
13131
13132 let source_dictionary = wire_.table.get(6);
13133
13134 Self {
13135 source: source.map(|envelope| {
13136 ::fidl_next::FromWire::from_wire(unsafe {
13137 envelope.read_unchecked::<crate::wire::Ref<'de>>()
13138 })
13139 }),
13140
13141 source_name: source_name.map(|envelope| {
13142 ::fidl_next::FromWire::from_wire(unsafe {
13143 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
13144 })
13145 }),
13146
13147 target: target.map(|envelope| {
13148 ::fidl_next::FromWire::from_wire(unsafe {
13149 envelope.read_unchecked::<crate::wire::Ref<'de>>()
13150 })
13151 }),
13152
13153 target_name: target_name.map(|envelope| {
13154 ::fidl_next::FromWire::from_wire(unsafe {
13155 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
13156 })
13157 }),
13158
13159 source_dictionary: source_dictionary.map(|envelope| {
13160 ::fidl_next::FromWire::from_wire(unsafe {
13161 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
13162 })
13163 }),
13164 }
13165 }
13166 }
13167
13168 impl<'de> ::fidl_next::FromWireRef<crate::wire::ExposeResolver<'de>> for ExposeResolver {
13169 #[inline]
13170 fn from_wire_ref(wire: &crate::wire::ExposeResolver<'de>) -> Self {
13171 Self {
13172 source: wire.table.get(1).map(|envelope| {
13173 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
13174 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
13175 })
13176 }),
13177
13178 source_name: wire.table.get(2).map(|envelope| {
13179 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
13180 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
13181 })
13182 }),
13183
13184 target: wire.table.get(3).map(|envelope| {
13185 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
13186 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
13187 })
13188 }),
13189
13190 target_name: wire.table.get(4).map(|envelope| {
13191 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
13192 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
13193 })
13194 }),
13195
13196 source_dictionary: wire.table.get(6).map(|envelope| {
13197 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
13198 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
13199 })
13200 }),
13201 }
13202 }
13203 }
13204
13205 #[doc = " Declares a dictionary exposed to a component\'s containing realm, such as\n a dictionary exposed by the component or one of its children at runtime.\n\n To learn more about dictionarys, see:\n https://fuchsia.dev/fuchsia-src/glossary#dictionary\n"]
13206 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
13207 pub struct ExposeDictionary {
13208 pub source: ::core::option::Option<crate::natural::Ref>,
13209
13210 pub source_name: ::core::option::Option<::std::string::String>,
13211
13212 pub target: ::core::option::Option<crate::natural::Ref>,
13213
13214 pub target_name: ::core::option::Option<::std::string::String>,
13215
13216 pub availability: ::core::option::Option<crate::natural::Availability>,
13217
13218 pub source_dictionary: ::core::option::Option<::std::string::String>,
13219 }
13220
13221 impl ExposeDictionary {
13222 fn __max_ordinal(&self) -> usize {
13223 if self.source_dictionary.is_some() {
13224 return 6;
13225 }
13226
13227 if self.availability.is_some() {
13228 return 5;
13229 }
13230
13231 if self.target_name.is_some() {
13232 return 4;
13233 }
13234
13235 if self.target.is_some() {
13236 return 3;
13237 }
13238
13239 if self.source_name.is_some() {
13240 return 2;
13241 }
13242
13243 if self.source.is_some() {
13244 return 1;
13245 }
13246
13247 0
13248 }
13249 }
13250
13251 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ExposeDictionary<'static>, ___E>
13252 for ExposeDictionary
13253 where
13254 ___E: ::fidl_next::Encoder + ?Sized,
13255 {
13256 #[inline]
13257 fn encode(
13258 mut self,
13259 encoder: &mut ___E,
13260 out: &mut ::core::mem::MaybeUninit<crate::wire::ExposeDictionary<'static>>,
13261 _: (),
13262 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
13263 ::fidl_next::munge!(let crate::wire::ExposeDictionary { table } = out);
13264
13265 let max_ord = self.__max_ordinal();
13266
13267 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
13268 ::fidl_next::Wire::zero_padding(&mut out);
13269
13270 let mut preallocated =
13271 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
13272
13273 for i in 1..=max_ord {
13274 match i {
13275 6 => {
13276 if let Some(value) = self.source_dictionary.take() {
13277 ::fidl_next::WireEnvelope::encode_value::<
13278 ::fidl_next::WireString<'static>,
13279 ___E,
13280 >(
13281 value, preallocated.encoder, &mut out, 1024
13282 )?;
13283 } else {
13284 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13285 }
13286 }
13287
13288 5 => {
13289 if let Some(value) = self.availability.take() {
13290 ::fidl_next::WireEnvelope::encode_value::<
13291 crate::wire::Availability,
13292 ___E,
13293 >(
13294 value, preallocated.encoder, &mut out, ()
13295 )?;
13296 } else {
13297 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13298 }
13299 }
13300
13301 4 => {
13302 if let Some(value) = self.target_name.take() {
13303 ::fidl_next::WireEnvelope::encode_value::<
13304 ::fidl_next::WireString<'static>,
13305 ___E,
13306 >(
13307 value, preallocated.encoder, &mut out, 100
13308 )?;
13309 } else {
13310 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13311 }
13312 }
13313
13314 3 => {
13315 if let Some(value) = self.target.take() {
13316 ::fidl_next::WireEnvelope::encode_value::<
13317 crate::wire::Ref<'static>,
13318 ___E,
13319 >(
13320 value, preallocated.encoder, &mut out, ()
13321 )?;
13322 } else {
13323 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13324 }
13325 }
13326
13327 2 => {
13328 if let Some(value) = self.source_name.take() {
13329 ::fidl_next::WireEnvelope::encode_value::<
13330 ::fidl_next::WireString<'static>,
13331 ___E,
13332 >(
13333 value, preallocated.encoder, &mut out, 100
13334 )?;
13335 } else {
13336 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13337 }
13338 }
13339
13340 1 => {
13341 if let Some(value) = self.source.take() {
13342 ::fidl_next::WireEnvelope::encode_value::<
13343 crate::wire::Ref<'static>,
13344 ___E,
13345 >(
13346 value, preallocated.encoder, &mut out, ()
13347 )?;
13348 } else {
13349 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13350 }
13351 }
13352
13353 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
13354 }
13355 unsafe {
13356 preallocated.write_next(out.assume_init_ref());
13357 }
13358 }
13359
13360 ::fidl_next::WireTable::encode_len(table, max_ord);
13361
13362 Ok(())
13363 }
13364 }
13365
13366 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ExposeDictionary<'static>, ___E>
13367 for &'a ExposeDictionary
13368 where
13369 ___E: ::fidl_next::Encoder + ?Sized,
13370 {
13371 #[inline]
13372 fn encode(
13373 self,
13374 encoder: &mut ___E,
13375 out: &mut ::core::mem::MaybeUninit<crate::wire::ExposeDictionary<'static>>,
13376 _: (),
13377 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
13378 ::fidl_next::munge!(let crate::wire::ExposeDictionary { table } = out);
13379
13380 let max_ord = self.__max_ordinal();
13381
13382 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
13383 ::fidl_next::Wire::zero_padding(&mut out);
13384
13385 let mut preallocated =
13386 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
13387
13388 for i in 1..=max_ord {
13389 match i {
13390 6 => {
13391 if let Some(value) = &self.source_dictionary {
13392 ::fidl_next::WireEnvelope::encode_value::<
13393 ::fidl_next::WireString<'static>,
13394 ___E,
13395 >(
13396 value, preallocated.encoder, &mut out, 1024
13397 )?;
13398 } else {
13399 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13400 }
13401 }
13402
13403 5 => {
13404 if let Some(value) = &self.availability {
13405 ::fidl_next::WireEnvelope::encode_value::<
13406 crate::wire::Availability,
13407 ___E,
13408 >(
13409 value, preallocated.encoder, &mut out, ()
13410 )?;
13411 } else {
13412 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13413 }
13414 }
13415
13416 4 => {
13417 if let Some(value) = &self.target_name {
13418 ::fidl_next::WireEnvelope::encode_value::<
13419 ::fidl_next::WireString<'static>,
13420 ___E,
13421 >(
13422 value, preallocated.encoder, &mut out, 100
13423 )?;
13424 } else {
13425 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13426 }
13427 }
13428
13429 3 => {
13430 if let Some(value) = &self.target {
13431 ::fidl_next::WireEnvelope::encode_value::<
13432 crate::wire::Ref<'static>,
13433 ___E,
13434 >(
13435 value, preallocated.encoder, &mut out, ()
13436 )?;
13437 } else {
13438 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13439 }
13440 }
13441
13442 2 => {
13443 if let Some(value) = &self.source_name {
13444 ::fidl_next::WireEnvelope::encode_value::<
13445 ::fidl_next::WireString<'static>,
13446 ___E,
13447 >(
13448 value, preallocated.encoder, &mut out, 100
13449 )?;
13450 } else {
13451 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13452 }
13453 }
13454
13455 1 => {
13456 if let Some(value) = &self.source {
13457 ::fidl_next::WireEnvelope::encode_value::<
13458 crate::wire::Ref<'static>,
13459 ___E,
13460 >(
13461 value, preallocated.encoder, &mut out, ()
13462 )?;
13463 } else {
13464 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13465 }
13466 }
13467
13468 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
13469 }
13470 unsafe {
13471 preallocated.write_next(out.assume_init_ref());
13472 }
13473 }
13474
13475 ::fidl_next::WireTable::encode_len(table, max_ord);
13476
13477 Ok(())
13478 }
13479 }
13480
13481 impl<'de> ::fidl_next::FromWire<crate::wire::ExposeDictionary<'de>> for ExposeDictionary {
13482 #[inline]
13483 fn from_wire(wire_: crate::wire::ExposeDictionary<'de>) -> Self {
13484 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
13485
13486 let source = wire_.table.get(1);
13487
13488 let source_name = wire_.table.get(2);
13489
13490 let target = wire_.table.get(3);
13491
13492 let target_name = wire_.table.get(4);
13493
13494 let availability = wire_.table.get(5);
13495
13496 let source_dictionary = wire_.table.get(6);
13497
13498 Self {
13499 source: source.map(|envelope| {
13500 ::fidl_next::FromWire::from_wire(unsafe {
13501 envelope.read_unchecked::<crate::wire::Ref<'de>>()
13502 })
13503 }),
13504
13505 source_name: source_name.map(|envelope| {
13506 ::fidl_next::FromWire::from_wire(unsafe {
13507 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
13508 })
13509 }),
13510
13511 target: target.map(|envelope| {
13512 ::fidl_next::FromWire::from_wire(unsafe {
13513 envelope.read_unchecked::<crate::wire::Ref<'de>>()
13514 })
13515 }),
13516
13517 target_name: target_name.map(|envelope| {
13518 ::fidl_next::FromWire::from_wire(unsafe {
13519 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
13520 })
13521 }),
13522
13523 availability: availability.map(|envelope| {
13524 ::fidl_next::FromWire::from_wire(unsafe {
13525 envelope.read_unchecked::<crate::wire::Availability>()
13526 })
13527 }),
13528
13529 source_dictionary: source_dictionary.map(|envelope| {
13530 ::fidl_next::FromWire::from_wire(unsafe {
13531 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
13532 })
13533 }),
13534 }
13535 }
13536 }
13537
13538 impl<'de> ::fidl_next::FromWireRef<crate::wire::ExposeDictionary<'de>> for ExposeDictionary {
13539 #[inline]
13540 fn from_wire_ref(wire: &crate::wire::ExposeDictionary<'de>) -> Self {
13541 Self {
13542 source: wire.table.get(1).map(|envelope| {
13543 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
13544 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
13545 })
13546 }),
13547
13548 source_name: wire.table.get(2).map(|envelope| {
13549 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
13550 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
13551 })
13552 }),
13553
13554 target: wire.table.get(3).map(|envelope| {
13555 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
13556 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
13557 })
13558 }),
13559
13560 target_name: wire.table.get(4).map(|envelope| {
13561 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
13562 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
13563 })
13564 }),
13565
13566 availability: wire.table.get(5).map(|envelope| {
13567 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
13568 envelope.deref_unchecked::<crate::wire::Availability>()
13569 })
13570 }),
13571
13572 source_dictionary: wire.table.get(6).map(|envelope| {
13573 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
13574 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
13575 })
13576 }),
13577 }
13578 }
13579 }
13580
13581 #[doc = " Declares a configuration capability exposed to a component\'s containing realm, such as\n a capability exposed by the component or one of its children at runtime.\n"]
13582 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
13583 pub struct ExposeConfiguration {
13584 pub source: ::core::option::Option<crate::natural::Ref>,
13585
13586 pub source_name: ::core::option::Option<::std::string::String>,
13587
13588 pub target: ::core::option::Option<crate::natural::Ref>,
13589
13590 pub target_name: ::core::option::Option<::std::string::String>,
13591
13592 pub availability: ::core::option::Option<crate::natural::Availability>,
13593
13594 pub source_dictionary: ::core::option::Option<::std::string::String>,
13595 }
13596
13597 impl ExposeConfiguration {
13598 fn __max_ordinal(&self) -> usize {
13599 if self.source_dictionary.is_some() {
13600 return 6;
13601 }
13602
13603 if self.availability.is_some() {
13604 return 5;
13605 }
13606
13607 if self.target_name.is_some() {
13608 return 4;
13609 }
13610
13611 if self.target.is_some() {
13612 return 3;
13613 }
13614
13615 if self.source_name.is_some() {
13616 return 2;
13617 }
13618
13619 if self.source.is_some() {
13620 return 1;
13621 }
13622
13623 0
13624 }
13625 }
13626
13627 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ExposeConfiguration<'static>, ___E>
13628 for ExposeConfiguration
13629 where
13630 ___E: ::fidl_next::Encoder + ?Sized,
13631 {
13632 #[inline]
13633 fn encode(
13634 mut self,
13635 encoder: &mut ___E,
13636 out: &mut ::core::mem::MaybeUninit<crate::wire::ExposeConfiguration<'static>>,
13637 _: (),
13638 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
13639 ::fidl_next::munge!(let crate::wire::ExposeConfiguration { table } = out);
13640
13641 let max_ord = self.__max_ordinal();
13642
13643 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
13644 ::fidl_next::Wire::zero_padding(&mut out);
13645
13646 let mut preallocated =
13647 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
13648
13649 for i in 1..=max_ord {
13650 match i {
13651 6 => {
13652 if let Some(value) = self.source_dictionary.take() {
13653 ::fidl_next::WireEnvelope::encode_value::<
13654 ::fidl_next::WireString<'static>,
13655 ___E,
13656 >(
13657 value, preallocated.encoder, &mut out, 1024
13658 )?;
13659 } else {
13660 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13661 }
13662 }
13663
13664 5 => {
13665 if let Some(value) = self.availability.take() {
13666 ::fidl_next::WireEnvelope::encode_value::<
13667 crate::wire::Availability,
13668 ___E,
13669 >(
13670 value, preallocated.encoder, &mut out, ()
13671 )?;
13672 } else {
13673 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13674 }
13675 }
13676
13677 4 => {
13678 if let Some(value) = self.target_name.take() {
13679 ::fidl_next::WireEnvelope::encode_value::<
13680 ::fidl_next::WireString<'static>,
13681 ___E,
13682 >(
13683 value, preallocated.encoder, &mut out, 100
13684 )?;
13685 } else {
13686 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13687 }
13688 }
13689
13690 3 => {
13691 if let Some(value) = self.target.take() {
13692 ::fidl_next::WireEnvelope::encode_value::<
13693 crate::wire::Ref<'static>,
13694 ___E,
13695 >(
13696 value, preallocated.encoder, &mut out, ()
13697 )?;
13698 } else {
13699 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13700 }
13701 }
13702
13703 2 => {
13704 if let Some(value) = self.source_name.take() {
13705 ::fidl_next::WireEnvelope::encode_value::<
13706 ::fidl_next::WireString<'static>,
13707 ___E,
13708 >(
13709 value, preallocated.encoder, &mut out, 100
13710 )?;
13711 } else {
13712 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13713 }
13714 }
13715
13716 1 => {
13717 if let Some(value) = self.source.take() {
13718 ::fidl_next::WireEnvelope::encode_value::<
13719 crate::wire::Ref<'static>,
13720 ___E,
13721 >(
13722 value, preallocated.encoder, &mut out, ()
13723 )?;
13724 } else {
13725 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13726 }
13727 }
13728
13729 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
13730 }
13731 unsafe {
13732 preallocated.write_next(out.assume_init_ref());
13733 }
13734 }
13735
13736 ::fidl_next::WireTable::encode_len(table, max_ord);
13737
13738 Ok(())
13739 }
13740 }
13741
13742 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ExposeConfiguration<'static>, ___E>
13743 for &'a ExposeConfiguration
13744 where
13745 ___E: ::fidl_next::Encoder + ?Sized,
13746 {
13747 #[inline]
13748 fn encode(
13749 self,
13750 encoder: &mut ___E,
13751 out: &mut ::core::mem::MaybeUninit<crate::wire::ExposeConfiguration<'static>>,
13752 _: (),
13753 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
13754 ::fidl_next::munge!(let crate::wire::ExposeConfiguration { table } = out);
13755
13756 let max_ord = self.__max_ordinal();
13757
13758 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
13759 ::fidl_next::Wire::zero_padding(&mut out);
13760
13761 let mut preallocated =
13762 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
13763
13764 for i in 1..=max_ord {
13765 match i {
13766 6 => {
13767 if let Some(value) = &self.source_dictionary {
13768 ::fidl_next::WireEnvelope::encode_value::<
13769 ::fidl_next::WireString<'static>,
13770 ___E,
13771 >(
13772 value, preallocated.encoder, &mut out, 1024
13773 )?;
13774 } else {
13775 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13776 }
13777 }
13778
13779 5 => {
13780 if let Some(value) = &self.availability {
13781 ::fidl_next::WireEnvelope::encode_value::<
13782 crate::wire::Availability,
13783 ___E,
13784 >(
13785 value, preallocated.encoder, &mut out, ()
13786 )?;
13787 } else {
13788 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13789 }
13790 }
13791
13792 4 => {
13793 if let Some(value) = &self.target_name {
13794 ::fidl_next::WireEnvelope::encode_value::<
13795 ::fidl_next::WireString<'static>,
13796 ___E,
13797 >(
13798 value, preallocated.encoder, &mut out, 100
13799 )?;
13800 } else {
13801 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13802 }
13803 }
13804
13805 3 => {
13806 if let Some(value) = &self.target {
13807 ::fidl_next::WireEnvelope::encode_value::<
13808 crate::wire::Ref<'static>,
13809 ___E,
13810 >(
13811 value, preallocated.encoder, &mut out, ()
13812 )?;
13813 } else {
13814 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13815 }
13816 }
13817
13818 2 => {
13819 if let Some(value) = &self.source_name {
13820 ::fidl_next::WireEnvelope::encode_value::<
13821 ::fidl_next::WireString<'static>,
13822 ___E,
13823 >(
13824 value, preallocated.encoder, &mut out, 100
13825 )?;
13826 } else {
13827 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13828 }
13829 }
13830
13831 1 => {
13832 if let Some(value) = &self.source {
13833 ::fidl_next::WireEnvelope::encode_value::<
13834 crate::wire::Ref<'static>,
13835 ___E,
13836 >(
13837 value, preallocated.encoder, &mut out, ()
13838 )?;
13839 } else {
13840 ::fidl_next::WireEnvelope::encode_zero(&mut out)
13841 }
13842 }
13843
13844 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
13845 }
13846 unsafe {
13847 preallocated.write_next(out.assume_init_ref());
13848 }
13849 }
13850
13851 ::fidl_next::WireTable::encode_len(table, max_ord);
13852
13853 Ok(())
13854 }
13855 }
13856
13857 impl<'de> ::fidl_next::FromWire<crate::wire::ExposeConfiguration<'de>> for ExposeConfiguration {
13858 #[inline]
13859 fn from_wire(wire_: crate::wire::ExposeConfiguration<'de>) -> Self {
13860 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
13861
13862 let source = wire_.table.get(1);
13863
13864 let source_name = wire_.table.get(2);
13865
13866 let target = wire_.table.get(3);
13867
13868 let target_name = wire_.table.get(4);
13869
13870 let availability = wire_.table.get(5);
13871
13872 let source_dictionary = wire_.table.get(6);
13873
13874 Self {
13875 source: source.map(|envelope| {
13876 ::fidl_next::FromWire::from_wire(unsafe {
13877 envelope.read_unchecked::<crate::wire::Ref<'de>>()
13878 })
13879 }),
13880
13881 source_name: source_name.map(|envelope| {
13882 ::fidl_next::FromWire::from_wire(unsafe {
13883 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
13884 })
13885 }),
13886
13887 target: target.map(|envelope| {
13888 ::fidl_next::FromWire::from_wire(unsafe {
13889 envelope.read_unchecked::<crate::wire::Ref<'de>>()
13890 })
13891 }),
13892
13893 target_name: target_name.map(|envelope| {
13894 ::fidl_next::FromWire::from_wire(unsafe {
13895 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
13896 })
13897 }),
13898
13899 availability: availability.map(|envelope| {
13900 ::fidl_next::FromWire::from_wire(unsafe {
13901 envelope.read_unchecked::<crate::wire::Availability>()
13902 })
13903 }),
13904
13905 source_dictionary: source_dictionary.map(|envelope| {
13906 ::fidl_next::FromWire::from_wire(unsafe {
13907 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
13908 })
13909 }),
13910 }
13911 }
13912 }
13913
13914 impl<'de> ::fidl_next::FromWireRef<crate::wire::ExposeConfiguration<'de>> for ExposeConfiguration {
13915 #[inline]
13916 fn from_wire_ref(wire: &crate::wire::ExposeConfiguration<'de>) -> Self {
13917 Self {
13918 source: wire.table.get(1).map(|envelope| {
13919 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
13920 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
13921 })
13922 }),
13923
13924 source_name: wire.table.get(2).map(|envelope| {
13925 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
13926 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
13927 })
13928 }),
13929
13930 target: wire.table.get(3).map(|envelope| {
13931 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
13932 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
13933 })
13934 }),
13935
13936 target_name: wire.table.get(4).map(|envelope| {
13937 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
13938 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
13939 })
13940 }),
13941
13942 availability: wire.table.get(5).map(|envelope| {
13943 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
13944 envelope.deref_unchecked::<crate::wire::Availability>()
13945 })
13946 }),
13947
13948 source_dictionary: wire.table.get(6).map(|envelope| {
13949 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
13950 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
13951 })
13952 }),
13953 }
13954 }
13955 }
13956
13957 #[doc = " Declares a capability exposed to either a component\'s containing realm or to\n the framework. For example, a legacy service exposed by the component at\n runtime.\n"]
13958 #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
13959 pub enum Expose {
13960 Service(crate::natural::ExposeService),
13961
13962 Protocol(crate::natural::ExposeProtocol),
13963
13964 Directory(crate::natural::ExposeDirectory),
13965
13966 Runner(crate::natural::ExposeRunner),
13967
13968 Resolver(crate::natural::ExposeResolver),
13969
13970 Dictionary(crate::natural::ExposeDictionary),
13971
13972 Config(crate::natural::ExposeConfiguration),
13973
13974 UnknownOrdinal_(u64),
13975 }
13976
13977 impl Expose {
13978 pub fn is_unknown(&self) -> bool {
13979 #[allow(unreachable_patterns)]
13980 match self {
13981 Self::UnknownOrdinal_(_) => true,
13982 _ => false,
13983 }
13984 }
13985 }
13986
13987 unsafe impl<___E> ::fidl_next::Encode<crate::wire::Expose<'static>, ___E> for Expose
13988 where
13989 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
13990 ___E: ::fidl_next::Encoder,
13991 {
13992 #[inline]
13993 fn encode(
13994 self,
13995 encoder: &mut ___E,
13996 out: &mut ::core::mem::MaybeUninit<crate::wire::Expose<'static>>,
13997 _: (),
13998 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
13999 ::fidl_next::munge!(let crate::wire::Expose { raw, _phantom: _ } = out);
14000
14001 match self {
14002 Self::Service(value) => ::fidl_next::RawWireUnion::encode_as::<
14003 ___E,
14004 crate::wire::ExposeService<'static>,
14005 >(value, 1, encoder, raw, ())?,
14006
14007 Self::Protocol(value) => ::fidl_next::RawWireUnion::encode_as::<
14008 ___E,
14009 crate::wire::ExposeProtocol<'static>,
14010 >(value, 2, encoder, raw, ())?,
14011
14012 Self::Directory(value) => ::fidl_next::RawWireUnion::encode_as::<
14013 ___E,
14014 crate::wire::ExposeDirectory<'static>,
14015 >(value, 3, encoder, raw, ())?,
14016
14017 Self::Runner(value) => ::fidl_next::RawWireUnion::encode_as::<
14018 ___E,
14019 crate::wire::ExposeRunner<'static>,
14020 >(value, 4, encoder, raw, ())?,
14021
14022 Self::Resolver(value) => ::fidl_next::RawWireUnion::encode_as::<
14023 ___E,
14024 crate::wire::ExposeResolver<'static>,
14025 >(value, 5, encoder, raw, ())?,
14026
14027 Self::Dictionary(value) => ::fidl_next::RawWireUnion::encode_as::<
14028 ___E,
14029 crate::wire::ExposeDictionary<'static>,
14030 >(value, 7, encoder, raw, ())?,
14031
14032 Self::Config(value) => ::fidl_next::RawWireUnion::encode_as::<
14033 ___E,
14034 crate::wire::ExposeConfiguration<'static>,
14035 >(value, 8, encoder, raw, ())?,
14036
14037 Self::UnknownOrdinal_(ordinal) => {
14038 return Err(::fidl_next::EncodeError::UnknownUnionOrdinal(ordinal as usize));
14039 }
14040 }
14041
14042 Ok(())
14043 }
14044 }
14045
14046 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::Expose<'static>, ___E> for &'a Expose
14047 where
14048 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
14049 ___E: ::fidl_next::Encoder,
14050 {
14051 #[inline]
14052 fn encode(
14053 self,
14054 encoder: &mut ___E,
14055 out: &mut ::core::mem::MaybeUninit<crate::wire::Expose<'static>>,
14056 _: (),
14057 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
14058 ::fidl_next::munge!(let crate::wire::Expose { raw, _phantom: _ } = out);
14059
14060 match self {
14061 Expose::Service(value) => ::fidl_next::RawWireUnion::encode_as::<
14062 ___E,
14063 crate::wire::ExposeService<'static>,
14064 >(value, 1, encoder, raw, ())?,
14065
14066 Expose::Protocol(value) => ::fidl_next::RawWireUnion::encode_as::<
14067 ___E,
14068 crate::wire::ExposeProtocol<'static>,
14069 >(value, 2, encoder, raw, ())?,
14070
14071 Expose::Directory(value) => ::fidl_next::RawWireUnion::encode_as::<
14072 ___E,
14073 crate::wire::ExposeDirectory<'static>,
14074 >(value, 3, encoder, raw, ())?,
14075
14076 Expose::Runner(value) => ::fidl_next::RawWireUnion::encode_as::<
14077 ___E,
14078 crate::wire::ExposeRunner<'static>,
14079 >(value, 4, encoder, raw, ())?,
14080
14081 Expose::Resolver(value) => ::fidl_next::RawWireUnion::encode_as::<
14082 ___E,
14083 crate::wire::ExposeResolver<'static>,
14084 >(value, 5, encoder, raw, ())?,
14085
14086 Expose::Dictionary(value) => ::fidl_next::RawWireUnion::encode_as::<
14087 ___E,
14088 crate::wire::ExposeDictionary<'static>,
14089 >(value, 7, encoder, raw, ())?,
14090
14091 Expose::Config(value) => ::fidl_next::RawWireUnion::encode_as::<
14092 ___E,
14093 crate::wire::ExposeConfiguration<'static>,
14094 >(value, 8, encoder, raw, ())?,
14095
14096 Expose::UnknownOrdinal_(ordinal) => {
14097 return Err(::fidl_next::EncodeError::UnknownUnionOrdinal(*ordinal as usize));
14098 }
14099 }
14100
14101 Ok(())
14102 }
14103 }
14104
14105 unsafe impl<___E> ::fidl_next::EncodeOption<crate::wire_optional::Expose<'static>, ___E> for Expose
14106 where
14107 ___E: ?Sized,
14108 Expose: ::fidl_next::Encode<crate::wire::Expose<'static>, ___E>,
14109 {
14110 #[inline]
14111 fn encode_option(
14112 this: ::core::option::Option<Self>,
14113 encoder: &mut ___E,
14114 out: &mut ::core::mem::MaybeUninit<crate::wire_optional::Expose<'static>>,
14115 _: (),
14116 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
14117 ::fidl_next::munge!(let crate::wire_optional::Expose { raw, _phantom: _ } = &mut *out);
14118
14119 if let Some(inner) = this {
14120 let value_out = unsafe { &mut *out.as_mut_ptr().cast() };
14121 ::fidl_next::Encode::encode(inner, encoder, value_out, ())?;
14122 } else {
14123 ::fidl_next::RawWireUnion::encode_absent(raw);
14124 }
14125
14126 Ok(())
14127 }
14128 }
14129
14130 unsafe impl<'a, ___E> ::fidl_next::EncodeOption<crate::wire_optional::Expose<'static>, ___E>
14131 for &'a Expose
14132 where
14133 ___E: ?Sized,
14134 &'a Expose: ::fidl_next::Encode<crate::wire::Expose<'static>, ___E>,
14135 {
14136 #[inline]
14137 fn encode_option(
14138 this: ::core::option::Option<Self>,
14139 encoder: &mut ___E,
14140 out: &mut ::core::mem::MaybeUninit<crate::wire_optional::Expose<'static>>,
14141 _: (),
14142 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
14143 ::fidl_next::munge!(let crate::wire_optional::Expose { raw, _phantom: _ } = &mut *out);
14144
14145 if let Some(inner) = this {
14146 let value_out = unsafe { &mut *out.as_mut_ptr().cast() };
14147 ::fidl_next::Encode::encode(inner, encoder, value_out, ())?;
14148 } else {
14149 ::fidl_next::RawWireUnion::encode_absent(raw);
14150 }
14151
14152 Ok(())
14153 }
14154 }
14155
14156 impl<'de> ::fidl_next::FromWire<crate::wire::Expose<'de>> for Expose {
14157 #[inline]
14158 fn from_wire(wire: crate::wire::Expose<'de>) -> Self {
14159 let wire = ::core::mem::ManuallyDrop::new(wire);
14160 match wire.raw.ordinal() {
14161 1 => Self::Service(::fidl_next::FromWire::from_wire(unsafe {
14162 wire.raw.get().read_unchecked::<crate::wire::ExposeService<'de>>()
14163 })),
14164
14165 2 => Self::Protocol(::fidl_next::FromWire::from_wire(unsafe {
14166 wire.raw.get().read_unchecked::<crate::wire::ExposeProtocol<'de>>()
14167 })),
14168
14169 3 => Self::Directory(::fidl_next::FromWire::from_wire(unsafe {
14170 wire.raw.get().read_unchecked::<crate::wire::ExposeDirectory<'de>>()
14171 })),
14172
14173 4 => Self::Runner(::fidl_next::FromWire::from_wire(unsafe {
14174 wire.raw.get().read_unchecked::<crate::wire::ExposeRunner<'de>>()
14175 })),
14176
14177 5 => Self::Resolver(::fidl_next::FromWire::from_wire(unsafe {
14178 wire.raw.get().read_unchecked::<crate::wire::ExposeResolver<'de>>()
14179 })),
14180
14181 7 => Self::Dictionary(::fidl_next::FromWire::from_wire(unsafe {
14182 wire.raw.get().read_unchecked::<crate::wire::ExposeDictionary<'de>>()
14183 })),
14184
14185 8 => Self::Config(::fidl_next::FromWire::from_wire(unsafe {
14186 wire.raw.get().read_unchecked::<crate::wire::ExposeConfiguration<'de>>()
14187 })),
14188
14189 ord => return Self::UnknownOrdinal_(ord as u64),
14190 }
14191 }
14192 }
14193
14194 impl<'de> ::fidl_next::FromWireRef<crate::wire::Expose<'de>> for Expose {
14195 #[inline]
14196 fn from_wire_ref(wire: &crate::wire::Expose<'de>) -> Self {
14197 match wire.raw.ordinal() {
14198 1 => Self::Service(::fidl_next::FromWireRef::from_wire_ref(unsafe {
14199 wire.raw.get().deref_unchecked::<crate::wire::ExposeService<'de>>()
14200 })),
14201
14202 2 => Self::Protocol(::fidl_next::FromWireRef::from_wire_ref(unsafe {
14203 wire.raw.get().deref_unchecked::<crate::wire::ExposeProtocol<'de>>()
14204 })),
14205
14206 3 => Self::Directory(::fidl_next::FromWireRef::from_wire_ref(unsafe {
14207 wire.raw.get().deref_unchecked::<crate::wire::ExposeDirectory<'de>>()
14208 })),
14209
14210 4 => Self::Runner(::fidl_next::FromWireRef::from_wire_ref(unsafe {
14211 wire.raw.get().deref_unchecked::<crate::wire::ExposeRunner<'de>>()
14212 })),
14213
14214 5 => Self::Resolver(::fidl_next::FromWireRef::from_wire_ref(unsafe {
14215 wire.raw.get().deref_unchecked::<crate::wire::ExposeResolver<'de>>()
14216 })),
14217
14218 7 => Self::Dictionary(::fidl_next::FromWireRef::from_wire_ref(unsafe {
14219 wire.raw.get().deref_unchecked::<crate::wire::ExposeDictionary<'de>>()
14220 })),
14221
14222 8 => Self::Config(::fidl_next::FromWireRef::from_wire_ref(unsafe {
14223 wire.raw.get().deref_unchecked::<crate::wire::ExposeConfiguration<'de>>()
14224 })),
14225
14226 ord => return Self::UnknownOrdinal_(ord as u64),
14227 }
14228 }
14229 }
14230
14231 impl<'de> ::fidl_next::FromWireOption<crate::wire_optional::Expose<'de>> for Expose {
14232 #[inline]
14233 fn from_wire_option(
14234 wire: crate::wire_optional::Expose<'de>,
14235 ) -> ::core::option::Option<Self> {
14236 if let Some(inner) = wire.into_option() {
14237 Some(::fidl_next::FromWire::from_wire(inner))
14238 } else {
14239 None
14240 }
14241 }
14242 }
14243
14244 impl<'de> ::fidl_next::FromWireOption<crate::wire_optional::Expose<'de>> for Box<Expose> {
14245 #[inline]
14246 fn from_wire_option(
14247 wire: crate::wire_optional::Expose<'de>,
14248 ) -> ::core::option::Option<Self> {
14249 <
14250 Expose as ::fidl_next::FromWireOption<crate::wire_optional::Expose<'de>>
14251 >::from_wire_option(wire).map(Box::new)
14252 }
14253 }
14254
14255 impl<'de> ::fidl_next::FromWireOptionRef<crate::wire_optional::Expose<'de>> for Box<Expose> {
14256 #[inline]
14257 fn from_wire_option_ref(
14258 wire: &crate::wire_optional::Expose<'de>,
14259 ) -> ::core::option::Option<Self> {
14260 if let Some(inner) = wire.as_ref() {
14261 Some(Box::new(::fidl_next::FromWireRef::from_wire_ref(inner)))
14262 } else {
14263 None
14264 }
14265 }
14266 }
14267
14268 #[doc = " Declares a service offered by a component to one of its children, which may\n have been offered by the component\'s containing realm, the component itself,\n or one of its other children.\n\n To learn more about services, see:\n https://fuchsia.dev/fuchsia-src/glossary#service\n"]
14269 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
14270 pub struct OfferService {
14271 pub source: ::core::option::Option<crate::natural::Ref>,
14272
14273 pub source_name: ::core::option::Option<::std::string::String>,
14274
14275 pub target: ::core::option::Option<crate::natural::Ref>,
14276
14277 pub target_name: ::core::option::Option<::std::string::String>,
14278
14279 pub source_instance_filter: ::core::option::Option<::std::vec::Vec<::std::string::String>>,
14280
14281 pub renamed_instances: ::core::option::Option<::std::vec::Vec<crate::natural::NameMapping>>,
14282
14283 pub availability: ::core::option::Option<crate::natural::Availability>,
14284
14285 pub source_dictionary: ::core::option::Option<::std::string::String>,
14286
14287 pub dependency_type: ::core::option::Option<crate::natural::DependencyType>,
14288 }
14289
14290 impl OfferService {
14291 fn __max_ordinal(&self) -> usize {
14292 if self.dependency_type.is_some() {
14293 return 9;
14294 }
14295
14296 if self.source_dictionary.is_some() {
14297 return 8;
14298 }
14299
14300 if self.availability.is_some() {
14301 return 7;
14302 }
14303
14304 if self.renamed_instances.is_some() {
14305 return 6;
14306 }
14307
14308 if self.source_instance_filter.is_some() {
14309 return 5;
14310 }
14311
14312 if self.target_name.is_some() {
14313 return 4;
14314 }
14315
14316 if self.target.is_some() {
14317 return 3;
14318 }
14319
14320 if self.source_name.is_some() {
14321 return 2;
14322 }
14323
14324 if self.source.is_some() {
14325 return 1;
14326 }
14327
14328 0
14329 }
14330 }
14331
14332 unsafe impl<___E> ::fidl_next::Encode<crate::wire::OfferService<'static>, ___E> for OfferService
14333 where
14334 ___E: ::fidl_next::Encoder + ?Sized,
14335 {
14336 #[inline]
14337 fn encode(
14338 mut self,
14339 encoder: &mut ___E,
14340 out: &mut ::core::mem::MaybeUninit<crate::wire::OfferService<'static>>,
14341 _: (),
14342 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
14343 ::fidl_next::munge!(let crate::wire::OfferService { table } = out);
14344
14345 let max_ord = self.__max_ordinal();
14346
14347 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
14348 ::fidl_next::Wire::zero_padding(&mut out);
14349
14350 let mut preallocated =
14351 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
14352
14353 for i in 1..=max_ord {
14354 match i {
14355 9 => {
14356 if let Some(value) = self.dependency_type.take() {
14357 ::fidl_next::WireEnvelope::encode_value::<
14358 crate::wire::DependencyType,
14359 ___E,
14360 >(
14361 value, preallocated.encoder, &mut out, ()
14362 )?;
14363 } else {
14364 ::fidl_next::WireEnvelope::encode_zero(&mut out)
14365 }
14366 }
14367
14368 8 => {
14369 if let Some(value) = self.source_dictionary.take() {
14370 ::fidl_next::WireEnvelope::encode_value::<
14371 ::fidl_next::WireString<'static>,
14372 ___E,
14373 >(
14374 value, preallocated.encoder, &mut out, 1024
14375 )?;
14376 } else {
14377 ::fidl_next::WireEnvelope::encode_zero(&mut out)
14378 }
14379 }
14380
14381 7 => {
14382 if let Some(value) = self.availability.take() {
14383 ::fidl_next::WireEnvelope::encode_value::<
14384 crate::wire::Availability,
14385 ___E,
14386 >(
14387 value, preallocated.encoder, &mut out, ()
14388 )?;
14389 } else {
14390 ::fidl_next::WireEnvelope::encode_zero(&mut out)
14391 }
14392 }
14393
14394 6 => {
14395 if let Some(value) = self.renamed_instances.take() {
14396 ::fidl_next::WireEnvelope::encode_value::<
14397 ::fidl_next::WireVector<'static, crate::wire::NameMapping<'static>>,
14398 ___E,
14399 >(
14400 value, preallocated.encoder, &mut out, (4294967295, ())
14401 )?;
14402 } else {
14403 ::fidl_next::WireEnvelope::encode_zero(&mut out)
14404 }
14405 }
14406
14407 5 => {
14408 if let Some(value) = self.source_instance_filter.take() {
14409 ::fidl_next::WireEnvelope::encode_value::<
14410 ::fidl_next::WireVector<'static, ::fidl_next::WireString<'static>>,
14411 ___E,
14412 >(
14413 value, preallocated.encoder, &mut out, (4294967295, 100)
14414 )?;
14415 } else {
14416 ::fidl_next::WireEnvelope::encode_zero(&mut out)
14417 }
14418 }
14419
14420 4 => {
14421 if let Some(value) = self.target_name.take() {
14422 ::fidl_next::WireEnvelope::encode_value::<
14423 ::fidl_next::WireString<'static>,
14424 ___E,
14425 >(
14426 value, preallocated.encoder, &mut out, 100
14427 )?;
14428 } else {
14429 ::fidl_next::WireEnvelope::encode_zero(&mut out)
14430 }
14431 }
14432
14433 3 => {
14434 if let Some(value) = self.target.take() {
14435 ::fidl_next::WireEnvelope::encode_value::<
14436 crate::wire::Ref<'static>,
14437 ___E,
14438 >(
14439 value, preallocated.encoder, &mut out, ()
14440 )?;
14441 } else {
14442 ::fidl_next::WireEnvelope::encode_zero(&mut out)
14443 }
14444 }
14445
14446 2 => {
14447 if let Some(value) = self.source_name.take() {
14448 ::fidl_next::WireEnvelope::encode_value::<
14449 ::fidl_next::WireString<'static>,
14450 ___E,
14451 >(
14452 value, preallocated.encoder, &mut out, 100
14453 )?;
14454 } else {
14455 ::fidl_next::WireEnvelope::encode_zero(&mut out)
14456 }
14457 }
14458
14459 1 => {
14460 if let Some(value) = self.source.take() {
14461 ::fidl_next::WireEnvelope::encode_value::<
14462 crate::wire::Ref<'static>,
14463 ___E,
14464 >(
14465 value, preallocated.encoder, &mut out, ()
14466 )?;
14467 } else {
14468 ::fidl_next::WireEnvelope::encode_zero(&mut out)
14469 }
14470 }
14471
14472 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
14473 }
14474 unsafe {
14475 preallocated.write_next(out.assume_init_ref());
14476 }
14477 }
14478
14479 ::fidl_next::WireTable::encode_len(table, max_ord);
14480
14481 Ok(())
14482 }
14483 }
14484
14485 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::OfferService<'static>, ___E>
14486 for &'a OfferService
14487 where
14488 ___E: ::fidl_next::Encoder + ?Sized,
14489 {
14490 #[inline]
14491 fn encode(
14492 self,
14493 encoder: &mut ___E,
14494 out: &mut ::core::mem::MaybeUninit<crate::wire::OfferService<'static>>,
14495 _: (),
14496 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
14497 ::fidl_next::munge!(let crate::wire::OfferService { table } = out);
14498
14499 let max_ord = self.__max_ordinal();
14500
14501 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
14502 ::fidl_next::Wire::zero_padding(&mut out);
14503
14504 let mut preallocated =
14505 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
14506
14507 for i in 1..=max_ord {
14508 match i {
14509 9 => {
14510 if let Some(value) = &self.dependency_type {
14511 ::fidl_next::WireEnvelope::encode_value::<
14512 crate::wire::DependencyType,
14513 ___E,
14514 >(
14515 value, preallocated.encoder, &mut out, ()
14516 )?;
14517 } else {
14518 ::fidl_next::WireEnvelope::encode_zero(&mut out)
14519 }
14520 }
14521
14522 8 => {
14523 if let Some(value) = &self.source_dictionary {
14524 ::fidl_next::WireEnvelope::encode_value::<
14525 ::fidl_next::WireString<'static>,
14526 ___E,
14527 >(
14528 value, preallocated.encoder, &mut out, 1024
14529 )?;
14530 } else {
14531 ::fidl_next::WireEnvelope::encode_zero(&mut out)
14532 }
14533 }
14534
14535 7 => {
14536 if let Some(value) = &self.availability {
14537 ::fidl_next::WireEnvelope::encode_value::<
14538 crate::wire::Availability,
14539 ___E,
14540 >(
14541 value, preallocated.encoder, &mut out, ()
14542 )?;
14543 } else {
14544 ::fidl_next::WireEnvelope::encode_zero(&mut out)
14545 }
14546 }
14547
14548 6 => {
14549 if let Some(value) = &self.renamed_instances {
14550 ::fidl_next::WireEnvelope::encode_value::<
14551 ::fidl_next::WireVector<'static, crate::wire::NameMapping<'static>>,
14552 ___E,
14553 >(
14554 value, preallocated.encoder, &mut out, (4294967295, ())
14555 )?;
14556 } else {
14557 ::fidl_next::WireEnvelope::encode_zero(&mut out)
14558 }
14559 }
14560
14561 5 => {
14562 if let Some(value) = &self.source_instance_filter {
14563 ::fidl_next::WireEnvelope::encode_value::<
14564 ::fidl_next::WireVector<'static, ::fidl_next::WireString<'static>>,
14565 ___E,
14566 >(
14567 value, preallocated.encoder, &mut out, (4294967295, 100)
14568 )?;
14569 } else {
14570 ::fidl_next::WireEnvelope::encode_zero(&mut out)
14571 }
14572 }
14573
14574 4 => {
14575 if let Some(value) = &self.target_name {
14576 ::fidl_next::WireEnvelope::encode_value::<
14577 ::fidl_next::WireString<'static>,
14578 ___E,
14579 >(
14580 value, preallocated.encoder, &mut out, 100
14581 )?;
14582 } else {
14583 ::fidl_next::WireEnvelope::encode_zero(&mut out)
14584 }
14585 }
14586
14587 3 => {
14588 if let Some(value) = &self.target {
14589 ::fidl_next::WireEnvelope::encode_value::<
14590 crate::wire::Ref<'static>,
14591 ___E,
14592 >(
14593 value, preallocated.encoder, &mut out, ()
14594 )?;
14595 } else {
14596 ::fidl_next::WireEnvelope::encode_zero(&mut out)
14597 }
14598 }
14599
14600 2 => {
14601 if let Some(value) = &self.source_name {
14602 ::fidl_next::WireEnvelope::encode_value::<
14603 ::fidl_next::WireString<'static>,
14604 ___E,
14605 >(
14606 value, preallocated.encoder, &mut out, 100
14607 )?;
14608 } else {
14609 ::fidl_next::WireEnvelope::encode_zero(&mut out)
14610 }
14611 }
14612
14613 1 => {
14614 if let Some(value) = &self.source {
14615 ::fidl_next::WireEnvelope::encode_value::<
14616 crate::wire::Ref<'static>,
14617 ___E,
14618 >(
14619 value, preallocated.encoder, &mut out, ()
14620 )?;
14621 } else {
14622 ::fidl_next::WireEnvelope::encode_zero(&mut out)
14623 }
14624 }
14625
14626 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
14627 }
14628 unsafe {
14629 preallocated.write_next(out.assume_init_ref());
14630 }
14631 }
14632
14633 ::fidl_next::WireTable::encode_len(table, max_ord);
14634
14635 Ok(())
14636 }
14637 }
14638
14639 impl<'de> ::fidl_next::FromWire<crate::wire::OfferService<'de>> for OfferService {
14640 #[inline]
14641 fn from_wire(wire_: crate::wire::OfferService<'de>) -> Self {
14642 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
14643
14644 let source = wire_.table.get(1);
14645
14646 let source_name = wire_.table.get(2);
14647
14648 let target = wire_.table.get(3);
14649
14650 let target_name = wire_.table.get(4);
14651
14652 let source_instance_filter = wire_.table.get(5);
14653
14654 let renamed_instances = wire_.table.get(6);
14655
14656 let availability = wire_.table.get(7);
14657
14658 let source_dictionary = wire_.table.get(8);
14659
14660 let dependency_type = wire_.table.get(9);
14661
14662 Self {
14663
14664
14665 source: source.map(|envelope| ::fidl_next::FromWire::from_wire(
14666 unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() }
14667 )),
14668
14669
14670 source_name: source_name.map(|envelope| ::fidl_next::FromWire::from_wire(
14671 unsafe { envelope.read_unchecked::<::fidl_next::WireString<'de>>() }
14672 )),
14673
14674
14675 target: target.map(|envelope| ::fidl_next::FromWire::from_wire(
14676 unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() }
14677 )),
14678
14679
14680 target_name: target_name.map(|envelope| ::fidl_next::FromWire::from_wire(
14681 unsafe { envelope.read_unchecked::<::fidl_next::WireString<'de>>() }
14682 )),
14683
14684
14685 source_instance_filter: source_instance_filter.map(|envelope| ::fidl_next::FromWire::from_wire(
14686 unsafe { envelope.read_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireString<'de>>>() }
14687 )),
14688
14689
14690 renamed_instances: renamed_instances.map(|envelope| ::fidl_next::FromWire::from_wire(
14691 unsafe { envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::NameMapping<'de>>>() }
14692 )),
14693
14694
14695 availability: availability.map(|envelope| ::fidl_next::FromWire::from_wire(
14696 unsafe { envelope.read_unchecked::<crate::wire::Availability>() }
14697 )),
14698
14699
14700 source_dictionary: source_dictionary.map(|envelope| ::fidl_next::FromWire::from_wire(
14701 unsafe { envelope.read_unchecked::<::fidl_next::WireString<'de>>() }
14702 )),
14703
14704
14705 dependency_type: dependency_type.map(|envelope| ::fidl_next::FromWire::from_wire(
14706 unsafe { envelope.read_unchecked::<crate::wire::DependencyType>() }
14707 )),
14708
14709 }
14710 }
14711 }
14712
14713 impl<'de> ::fidl_next::FromWireRef<crate::wire::OfferService<'de>> for OfferService {
14714 #[inline]
14715 fn from_wire_ref(wire: &crate::wire::OfferService<'de>) -> Self {
14716 Self {
14717
14718
14719 source: wire.table.get(1)
14720 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
14721 unsafe { envelope.deref_unchecked::<crate::wire::Ref<'de>>() }
14722 )),
14723
14724
14725 source_name: wire.table.get(2)
14726 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
14727 unsafe { envelope.deref_unchecked::<::fidl_next::WireString<'de>>() }
14728 )),
14729
14730
14731 target: wire.table.get(3)
14732 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
14733 unsafe { envelope.deref_unchecked::<crate::wire::Ref<'de>>() }
14734 )),
14735
14736
14737 target_name: wire.table.get(4)
14738 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
14739 unsafe { envelope.deref_unchecked::<::fidl_next::WireString<'de>>() }
14740 )),
14741
14742
14743 source_instance_filter: wire.table.get(5)
14744 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
14745 unsafe { envelope.deref_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireString<'de>>>() }
14746 )),
14747
14748
14749 renamed_instances: wire.table.get(6)
14750 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
14751 unsafe { envelope.deref_unchecked::<::fidl_next::WireVector<'de, crate::wire::NameMapping<'de>>>() }
14752 )),
14753
14754
14755 availability: wire.table.get(7)
14756 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
14757 unsafe { envelope.deref_unchecked::<crate::wire::Availability>() }
14758 )),
14759
14760
14761 source_dictionary: wire.table.get(8)
14762 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
14763 unsafe { envelope.deref_unchecked::<::fidl_next::WireString<'de>>() }
14764 )),
14765
14766
14767 dependency_type: wire.table.get(9)
14768 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
14769 unsafe { envelope.deref_unchecked::<crate::wire::DependencyType>() }
14770 )),
14771
14772 }
14773 }
14774 }
14775
14776 #[doc = " Declares a protocol offered by a component to one of its children,\n which may have been offered by the component\'s containing realm, the\n component itself, or one of its other children.\n\n To learn more about protocols, see:\n https://fuchsia.dev/fuchsia-src/glossary#protocol\n"]
14777 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
14778 pub struct OfferProtocol {
14779 pub source: ::core::option::Option<crate::natural::Ref>,
14780
14781 pub source_name: ::core::option::Option<::std::string::String>,
14782
14783 pub target: ::core::option::Option<crate::natural::Ref>,
14784
14785 pub target_name: ::core::option::Option<::std::string::String>,
14786
14787 pub dependency_type: ::core::option::Option<crate::natural::DependencyType>,
14788
14789 pub availability: ::core::option::Option<crate::natural::Availability>,
14790
14791 pub source_dictionary: ::core::option::Option<::std::string::String>,
14792 }
14793
14794 impl OfferProtocol {
14795 fn __max_ordinal(&self) -> usize {
14796 if self.source_dictionary.is_some() {
14797 return 7;
14798 }
14799
14800 if self.availability.is_some() {
14801 return 6;
14802 }
14803
14804 if self.dependency_type.is_some() {
14805 return 5;
14806 }
14807
14808 if self.target_name.is_some() {
14809 return 4;
14810 }
14811
14812 if self.target.is_some() {
14813 return 3;
14814 }
14815
14816 if self.source_name.is_some() {
14817 return 2;
14818 }
14819
14820 if self.source.is_some() {
14821 return 1;
14822 }
14823
14824 0
14825 }
14826 }
14827
14828 unsafe impl<___E> ::fidl_next::Encode<crate::wire::OfferProtocol<'static>, ___E> for OfferProtocol
14829 where
14830 ___E: ::fidl_next::Encoder + ?Sized,
14831 {
14832 #[inline]
14833 fn encode(
14834 mut self,
14835 encoder: &mut ___E,
14836 out: &mut ::core::mem::MaybeUninit<crate::wire::OfferProtocol<'static>>,
14837 _: (),
14838 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
14839 ::fidl_next::munge!(let crate::wire::OfferProtocol { table } = out);
14840
14841 let max_ord = self.__max_ordinal();
14842
14843 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
14844 ::fidl_next::Wire::zero_padding(&mut out);
14845
14846 let mut preallocated =
14847 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
14848
14849 for i in 1..=max_ord {
14850 match i {
14851 7 => {
14852 if let Some(value) = self.source_dictionary.take() {
14853 ::fidl_next::WireEnvelope::encode_value::<
14854 ::fidl_next::WireString<'static>,
14855 ___E,
14856 >(
14857 value, preallocated.encoder, &mut out, 1024
14858 )?;
14859 } else {
14860 ::fidl_next::WireEnvelope::encode_zero(&mut out)
14861 }
14862 }
14863
14864 6 => {
14865 if let Some(value) = self.availability.take() {
14866 ::fidl_next::WireEnvelope::encode_value::<
14867 crate::wire::Availability,
14868 ___E,
14869 >(
14870 value, preallocated.encoder, &mut out, ()
14871 )?;
14872 } else {
14873 ::fidl_next::WireEnvelope::encode_zero(&mut out)
14874 }
14875 }
14876
14877 5 => {
14878 if let Some(value) = self.dependency_type.take() {
14879 ::fidl_next::WireEnvelope::encode_value::<
14880 crate::wire::DependencyType,
14881 ___E,
14882 >(
14883 value, preallocated.encoder, &mut out, ()
14884 )?;
14885 } else {
14886 ::fidl_next::WireEnvelope::encode_zero(&mut out)
14887 }
14888 }
14889
14890 4 => {
14891 if let Some(value) = self.target_name.take() {
14892 ::fidl_next::WireEnvelope::encode_value::<
14893 ::fidl_next::WireString<'static>,
14894 ___E,
14895 >(
14896 value, preallocated.encoder, &mut out, 100
14897 )?;
14898 } else {
14899 ::fidl_next::WireEnvelope::encode_zero(&mut out)
14900 }
14901 }
14902
14903 3 => {
14904 if let Some(value) = self.target.take() {
14905 ::fidl_next::WireEnvelope::encode_value::<
14906 crate::wire::Ref<'static>,
14907 ___E,
14908 >(
14909 value, preallocated.encoder, &mut out, ()
14910 )?;
14911 } else {
14912 ::fidl_next::WireEnvelope::encode_zero(&mut out)
14913 }
14914 }
14915
14916 2 => {
14917 if let Some(value) = self.source_name.take() {
14918 ::fidl_next::WireEnvelope::encode_value::<
14919 ::fidl_next::WireString<'static>,
14920 ___E,
14921 >(
14922 value, preallocated.encoder, &mut out, 100
14923 )?;
14924 } else {
14925 ::fidl_next::WireEnvelope::encode_zero(&mut out)
14926 }
14927 }
14928
14929 1 => {
14930 if let Some(value) = self.source.take() {
14931 ::fidl_next::WireEnvelope::encode_value::<
14932 crate::wire::Ref<'static>,
14933 ___E,
14934 >(
14935 value, preallocated.encoder, &mut out, ()
14936 )?;
14937 } else {
14938 ::fidl_next::WireEnvelope::encode_zero(&mut out)
14939 }
14940 }
14941
14942 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
14943 }
14944 unsafe {
14945 preallocated.write_next(out.assume_init_ref());
14946 }
14947 }
14948
14949 ::fidl_next::WireTable::encode_len(table, max_ord);
14950
14951 Ok(())
14952 }
14953 }
14954
14955 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::OfferProtocol<'static>, ___E>
14956 for &'a OfferProtocol
14957 where
14958 ___E: ::fidl_next::Encoder + ?Sized,
14959 {
14960 #[inline]
14961 fn encode(
14962 self,
14963 encoder: &mut ___E,
14964 out: &mut ::core::mem::MaybeUninit<crate::wire::OfferProtocol<'static>>,
14965 _: (),
14966 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
14967 ::fidl_next::munge!(let crate::wire::OfferProtocol { table } = out);
14968
14969 let max_ord = self.__max_ordinal();
14970
14971 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
14972 ::fidl_next::Wire::zero_padding(&mut out);
14973
14974 let mut preallocated =
14975 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
14976
14977 for i in 1..=max_ord {
14978 match i {
14979 7 => {
14980 if let Some(value) = &self.source_dictionary {
14981 ::fidl_next::WireEnvelope::encode_value::<
14982 ::fidl_next::WireString<'static>,
14983 ___E,
14984 >(
14985 value, preallocated.encoder, &mut out, 1024
14986 )?;
14987 } else {
14988 ::fidl_next::WireEnvelope::encode_zero(&mut out)
14989 }
14990 }
14991
14992 6 => {
14993 if let Some(value) = &self.availability {
14994 ::fidl_next::WireEnvelope::encode_value::<
14995 crate::wire::Availability,
14996 ___E,
14997 >(
14998 value, preallocated.encoder, &mut out, ()
14999 )?;
15000 } else {
15001 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15002 }
15003 }
15004
15005 5 => {
15006 if let Some(value) = &self.dependency_type {
15007 ::fidl_next::WireEnvelope::encode_value::<
15008 crate::wire::DependencyType,
15009 ___E,
15010 >(
15011 value, preallocated.encoder, &mut out, ()
15012 )?;
15013 } else {
15014 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15015 }
15016 }
15017
15018 4 => {
15019 if let Some(value) = &self.target_name {
15020 ::fidl_next::WireEnvelope::encode_value::<
15021 ::fidl_next::WireString<'static>,
15022 ___E,
15023 >(
15024 value, preallocated.encoder, &mut out, 100
15025 )?;
15026 } else {
15027 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15028 }
15029 }
15030
15031 3 => {
15032 if let Some(value) = &self.target {
15033 ::fidl_next::WireEnvelope::encode_value::<
15034 crate::wire::Ref<'static>,
15035 ___E,
15036 >(
15037 value, preallocated.encoder, &mut out, ()
15038 )?;
15039 } else {
15040 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15041 }
15042 }
15043
15044 2 => {
15045 if let Some(value) = &self.source_name {
15046 ::fidl_next::WireEnvelope::encode_value::<
15047 ::fidl_next::WireString<'static>,
15048 ___E,
15049 >(
15050 value, preallocated.encoder, &mut out, 100
15051 )?;
15052 } else {
15053 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15054 }
15055 }
15056
15057 1 => {
15058 if let Some(value) = &self.source {
15059 ::fidl_next::WireEnvelope::encode_value::<
15060 crate::wire::Ref<'static>,
15061 ___E,
15062 >(
15063 value, preallocated.encoder, &mut out, ()
15064 )?;
15065 } else {
15066 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15067 }
15068 }
15069
15070 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
15071 }
15072 unsafe {
15073 preallocated.write_next(out.assume_init_ref());
15074 }
15075 }
15076
15077 ::fidl_next::WireTable::encode_len(table, max_ord);
15078
15079 Ok(())
15080 }
15081 }
15082
15083 impl<'de> ::fidl_next::FromWire<crate::wire::OfferProtocol<'de>> for OfferProtocol {
15084 #[inline]
15085 fn from_wire(wire_: crate::wire::OfferProtocol<'de>) -> Self {
15086 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
15087
15088 let source = wire_.table.get(1);
15089
15090 let source_name = wire_.table.get(2);
15091
15092 let target = wire_.table.get(3);
15093
15094 let target_name = wire_.table.get(4);
15095
15096 let dependency_type = wire_.table.get(5);
15097
15098 let availability = wire_.table.get(6);
15099
15100 let source_dictionary = wire_.table.get(7);
15101
15102 Self {
15103 source: source.map(|envelope| {
15104 ::fidl_next::FromWire::from_wire(unsafe {
15105 envelope.read_unchecked::<crate::wire::Ref<'de>>()
15106 })
15107 }),
15108
15109 source_name: source_name.map(|envelope| {
15110 ::fidl_next::FromWire::from_wire(unsafe {
15111 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
15112 })
15113 }),
15114
15115 target: target.map(|envelope| {
15116 ::fidl_next::FromWire::from_wire(unsafe {
15117 envelope.read_unchecked::<crate::wire::Ref<'de>>()
15118 })
15119 }),
15120
15121 target_name: target_name.map(|envelope| {
15122 ::fidl_next::FromWire::from_wire(unsafe {
15123 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
15124 })
15125 }),
15126
15127 dependency_type: dependency_type.map(|envelope| {
15128 ::fidl_next::FromWire::from_wire(unsafe {
15129 envelope.read_unchecked::<crate::wire::DependencyType>()
15130 })
15131 }),
15132
15133 availability: availability.map(|envelope| {
15134 ::fidl_next::FromWire::from_wire(unsafe {
15135 envelope.read_unchecked::<crate::wire::Availability>()
15136 })
15137 }),
15138
15139 source_dictionary: source_dictionary.map(|envelope| {
15140 ::fidl_next::FromWire::from_wire(unsafe {
15141 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
15142 })
15143 }),
15144 }
15145 }
15146 }
15147
15148 impl<'de> ::fidl_next::FromWireRef<crate::wire::OfferProtocol<'de>> for OfferProtocol {
15149 #[inline]
15150 fn from_wire_ref(wire: &crate::wire::OfferProtocol<'de>) -> Self {
15151 Self {
15152 source: wire.table.get(1).map(|envelope| {
15153 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
15154 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
15155 })
15156 }),
15157
15158 source_name: wire.table.get(2).map(|envelope| {
15159 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
15160 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
15161 })
15162 }),
15163
15164 target: wire.table.get(3).map(|envelope| {
15165 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
15166 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
15167 })
15168 }),
15169
15170 target_name: wire.table.get(4).map(|envelope| {
15171 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
15172 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
15173 })
15174 }),
15175
15176 dependency_type: wire.table.get(5).map(|envelope| {
15177 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
15178 envelope.deref_unchecked::<crate::wire::DependencyType>()
15179 })
15180 }),
15181
15182 availability: wire.table.get(6).map(|envelope| {
15183 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
15184 envelope.deref_unchecked::<crate::wire::Availability>()
15185 })
15186 }),
15187
15188 source_dictionary: wire.table.get(7).map(|envelope| {
15189 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
15190 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
15191 })
15192 }),
15193 }
15194 }
15195 }
15196
15197 #[doc = " Declares a directory offered by a component to one of its children, which\n may have been offered by the component\'s containing realm, the component\n itself, or one of its other children.\n"]
15198 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
15199 pub struct OfferDirectory {
15200 pub source: ::core::option::Option<crate::natural::Ref>,
15201
15202 pub source_name: ::core::option::Option<::std::string::String>,
15203
15204 pub target: ::core::option::Option<crate::natural::Ref>,
15205
15206 pub target_name: ::core::option::Option<::std::string::String>,
15207
15208 pub rights: ::core::option::Option<::fidl_next_common_fuchsia_io::natural::Operations>,
15209
15210 pub subdir: ::core::option::Option<::std::string::String>,
15211
15212 pub dependency_type: ::core::option::Option<crate::natural::DependencyType>,
15213
15214 pub availability: ::core::option::Option<crate::natural::Availability>,
15215
15216 pub source_dictionary: ::core::option::Option<::std::string::String>,
15217 }
15218
15219 impl OfferDirectory {
15220 fn __max_ordinal(&self) -> usize {
15221 if self.source_dictionary.is_some() {
15222 return 9;
15223 }
15224
15225 if self.availability.is_some() {
15226 return 8;
15227 }
15228
15229 if self.dependency_type.is_some() {
15230 return 7;
15231 }
15232
15233 if self.subdir.is_some() {
15234 return 6;
15235 }
15236
15237 if self.rights.is_some() {
15238 return 5;
15239 }
15240
15241 if self.target_name.is_some() {
15242 return 4;
15243 }
15244
15245 if self.target.is_some() {
15246 return 3;
15247 }
15248
15249 if self.source_name.is_some() {
15250 return 2;
15251 }
15252
15253 if self.source.is_some() {
15254 return 1;
15255 }
15256
15257 0
15258 }
15259 }
15260
15261 unsafe impl<___E> ::fidl_next::Encode<crate::wire::OfferDirectory<'static>, ___E> for OfferDirectory
15262 where
15263 ___E: ::fidl_next::Encoder + ?Sized,
15264 {
15265 #[inline]
15266 fn encode(
15267 mut self,
15268 encoder: &mut ___E,
15269 out: &mut ::core::mem::MaybeUninit<crate::wire::OfferDirectory<'static>>,
15270 _: (),
15271 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
15272 ::fidl_next::munge!(let crate::wire::OfferDirectory { table } = out);
15273
15274 let max_ord = self.__max_ordinal();
15275
15276 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
15277 ::fidl_next::Wire::zero_padding(&mut out);
15278
15279 let mut preallocated =
15280 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
15281
15282 for i in 1..=max_ord {
15283 match i {
15284 9 => {
15285 if let Some(value) = self.source_dictionary.take() {
15286 ::fidl_next::WireEnvelope::encode_value::<
15287 ::fidl_next::WireString<'static>,
15288 ___E,
15289 >(
15290 value, preallocated.encoder, &mut out, 1024
15291 )?;
15292 } else {
15293 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15294 }
15295 }
15296
15297 8 => {
15298 if let Some(value) = self.availability.take() {
15299 ::fidl_next::WireEnvelope::encode_value::<
15300 crate::wire::Availability,
15301 ___E,
15302 >(
15303 value, preallocated.encoder, &mut out, ()
15304 )?;
15305 } else {
15306 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15307 }
15308 }
15309
15310 7 => {
15311 if let Some(value) = self.dependency_type.take() {
15312 ::fidl_next::WireEnvelope::encode_value::<
15313 crate::wire::DependencyType,
15314 ___E,
15315 >(
15316 value, preallocated.encoder, &mut out, ()
15317 )?;
15318 } else {
15319 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15320 }
15321 }
15322
15323 6 => {
15324 if let Some(value) = self.subdir.take() {
15325 ::fidl_next::WireEnvelope::encode_value::<
15326 ::fidl_next::WireString<'static>,
15327 ___E,
15328 >(
15329 value, preallocated.encoder, &mut out, 1024
15330 )?;
15331 } else {
15332 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15333 }
15334 }
15335
15336 5 => {
15337 if let Some(value) = self.rights.take() {
15338 ::fidl_next::WireEnvelope::encode_value::<
15339 ::fidl_next_common_fuchsia_io::wire::Operations,
15340 ___E,
15341 >(
15342 value, preallocated.encoder, &mut out, ()
15343 )?;
15344 } else {
15345 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15346 }
15347 }
15348
15349 4 => {
15350 if let Some(value) = self.target_name.take() {
15351 ::fidl_next::WireEnvelope::encode_value::<
15352 ::fidl_next::WireString<'static>,
15353 ___E,
15354 >(
15355 value, preallocated.encoder, &mut out, 100
15356 )?;
15357 } else {
15358 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15359 }
15360 }
15361
15362 3 => {
15363 if let Some(value) = self.target.take() {
15364 ::fidl_next::WireEnvelope::encode_value::<
15365 crate::wire::Ref<'static>,
15366 ___E,
15367 >(
15368 value, preallocated.encoder, &mut out, ()
15369 )?;
15370 } else {
15371 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15372 }
15373 }
15374
15375 2 => {
15376 if let Some(value) = self.source_name.take() {
15377 ::fidl_next::WireEnvelope::encode_value::<
15378 ::fidl_next::WireString<'static>,
15379 ___E,
15380 >(
15381 value, preallocated.encoder, &mut out, 100
15382 )?;
15383 } else {
15384 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15385 }
15386 }
15387
15388 1 => {
15389 if let Some(value) = self.source.take() {
15390 ::fidl_next::WireEnvelope::encode_value::<
15391 crate::wire::Ref<'static>,
15392 ___E,
15393 >(
15394 value, preallocated.encoder, &mut out, ()
15395 )?;
15396 } else {
15397 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15398 }
15399 }
15400
15401 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
15402 }
15403 unsafe {
15404 preallocated.write_next(out.assume_init_ref());
15405 }
15406 }
15407
15408 ::fidl_next::WireTable::encode_len(table, max_ord);
15409
15410 Ok(())
15411 }
15412 }
15413
15414 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::OfferDirectory<'static>, ___E>
15415 for &'a OfferDirectory
15416 where
15417 ___E: ::fidl_next::Encoder + ?Sized,
15418 {
15419 #[inline]
15420 fn encode(
15421 self,
15422 encoder: &mut ___E,
15423 out: &mut ::core::mem::MaybeUninit<crate::wire::OfferDirectory<'static>>,
15424 _: (),
15425 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
15426 ::fidl_next::munge!(let crate::wire::OfferDirectory { table } = out);
15427
15428 let max_ord = self.__max_ordinal();
15429
15430 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
15431 ::fidl_next::Wire::zero_padding(&mut out);
15432
15433 let mut preallocated =
15434 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
15435
15436 for i in 1..=max_ord {
15437 match i {
15438 9 => {
15439 if let Some(value) = &self.source_dictionary {
15440 ::fidl_next::WireEnvelope::encode_value::<
15441 ::fidl_next::WireString<'static>,
15442 ___E,
15443 >(
15444 value, preallocated.encoder, &mut out, 1024
15445 )?;
15446 } else {
15447 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15448 }
15449 }
15450
15451 8 => {
15452 if let Some(value) = &self.availability {
15453 ::fidl_next::WireEnvelope::encode_value::<
15454 crate::wire::Availability,
15455 ___E,
15456 >(
15457 value, preallocated.encoder, &mut out, ()
15458 )?;
15459 } else {
15460 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15461 }
15462 }
15463
15464 7 => {
15465 if let Some(value) = &self.dependency_type {
15466 ::fidl_next::WireEnvelope::encode_value::<
15467 crate::wire::DependencyType,
15468 ___E,
15469 >(
15470 value, preallocated.encoder, &mut out, ()
15471 )?;
15472 } else {
15473 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15474 }
15475 }
15476
15477 6 => {
15478 if let Some(value) = &self.subdir {
15479 ::fidl_next::WireEnvelope::encode_value::<
15480 ::fidl_next::WireString<'static>,
15481 ___E,
15482 >(
15483 value, preallocated.encoder, &mut out, 1024
15484 )?;
15485 } else {
15486 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15487 }
15488 }
15489
15490 5 => {
15491 if let Some(value) = &self.rights {
15492 ::fidl_next::WireEnvelope::encode_value::<
15493 ::fidl_next_common_fuchsia_io::wire::Operations,
15494 ___E,
15495 >(
15496 value, preallocated.encoder, &mut out, ()
15497 )?;
15498 } else {
15499 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15500 }
15501 }
15502
15503 4 => {
15504 if let Some(value) = &self.target_name {
15505 ::fidl_next::WireEnvelope::encode_value::<
15506 ::fidl_next::WireString<'static>,
15507 ___E,
15508 >(
15509 value, preallocated.encoder, &mut out, 100
15510 )?;
15511 } else {
15512 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15513 }
15514 }
15515
15516 3 => {
15517 if let Some(value) = &self.target {
15518 ::fidl_next::WireEnvelope::encode_value::<
15519 crate::wire::Ref<'static>,
15520 ___E,
15521 >(
15522 value, preallocated.encoder, &mut out, ()
15523 )?;
15524 } else {
15525 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15526 }
15527 }
15528
15529 2 => {
15530 if let Some(value) = &self.source_name {
15531 ::fidl_next::WireEnvelope::encode_value::<
15532 ::fidl_next::WireString<'static>,
15533 ___E,
15534 >(
15535 value, preallocated.encoder, &mut out, 100
15536 )?;
15537 } else {
15538 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15539 }
15540 }
15541
15542 1 => {
15543 if let Some(value) = &self.source {
15544 ::fidl_next::WireEnvelope::encode_value::<
15545 crate::wire::Ref<'static>,
15546 ___E,
15547 >(
15548 value, preallocated.encoder, &mut out, ()
15549 )?;
15550 } else {
15551 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15552 }
15553 }
15554
15555 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
15556 }
15557 unsafe {
15558 preallocated.write_next(out.assume_init_ref());
15559 }
15560 }
15561
15562 ::fidl_next::WireTable::encode_len(table, max_ord);
15563
15564 Ok(())
15565 }
15566 }
15567
15568 impl<'de> ::fidl_next::FromWire<crate::wire::OfferDirectory<'de>> for OfferDirectory {
15569 #[inline]
15570 fn from_wire(wire_: crate::wire::OfferDirectory<'de>) -> Self {
15571 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
15572
15573 let source = wire_.table.get(1);
15574
15575 let source_name = wire_.table.get(2);
15576
15577 let target = wire_.table.get(3);
15578
15579 let target_name = wire_.table.get(4);
15580
15581 let rights = wire_.table.get(5);
15582
15583 let subdir = wire_.table.get(6);
15584
15585 let dependency_type = wire_.table.get(7);
15586
15587 let availability = wire_.table.get(8);
15588
15589 let source_dictionary = wire_.table.get(9);
15590
15591 Self {
15592 source: source.map(|envelope| {
15593 ::fidl_next::FromWire::from_wire(unsafe {
15594 envelope.read_unchecked::<crate::wire::Ref<'de>>()
15595 })
15596 }),
15597
15598 source_name: source_name.map(|envelope| {
15599 ::fidl_next::FromWire::from_wire(unsafe {
15600 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
15601 })
15602 }),
15603
15604 target: target.map(|envelope| {
15605 ::fidl_next::FromWire::from_wire(unsafe {
15606 envelope.read_unchecked::<crate::wire::Ref<'de>>()
15607 })
15608 }),
15609
15610 target_name: target_name.map(|envelope| {
15611 ::fidl_next::FromWire::from_wire(unsafe {
15612 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
15613 })
15614 }),
15615
15616 rights: rights.map(|envelope| {
15617 ::fidl_next::FromWire::from_wire(unsafe {
15618 envelope.read_unchecked::<::fidl_next_common_fuchsia_io::wire::Operations>()
15619 })
15620 }),
15621
15622 subdir: subdir.map(|envelope| {
15623 ::fidl_next::FromWire::from_wire(unsafe {
15624 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
15625 })
15626 }),
15627
15628 dependency_type: dependency_type.map(|envelope| {
15629 ::fidl_next::FromWire::from_wire(unsafe {
15630 envelope.read_unchecked::<crate::wire::DependencyType>()
15631 })
15632 }),
15633
15634 availability: availability.map(|envelope| {
15635 ::fidl_next::FromWire::from_wire(unsafe {
15636 envelope.read_unchecked::<crate::wire::Availability>()
15637 })
15638 }),
15639
15640 source_dictionary: source_dictionary.map(|envelope| {
15641 ::fidl_next::FromWire::from_wire(unsafe {
15642 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
15643 })
15644 }),
15645 }
15646 }
15647 }
15648
15649 impl<'de> ::fidl_next::FromWireRef<crate::wire::OfferDirectory<'de>> for OfferDirectory {
15650 #[inline]
15651 fn from_wire_ref(wire: &crate::wire::OfferDirectory<'de>) -> Self {
15652 Self {
15653 source: wire.table.get(1).map(|envelope| {
15654 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
15655 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
15656 })
15657 }),
15658
15659 source_name: wire.table.get(2).map(|envelope| {
15660 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
15661 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
15662 })
15663 }),
15664
15665 target: wire.table.get(3).map(|envelope| {
15666 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
15667 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
15668 })
15669 }),
15670
15671 target_name: wire.table.get(4).map(|envelope| {
15672 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
15673 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
15674 })
15675 }),
15676
15677 rights: wire.table.get(5).map(|envelope| {
15678 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
15679 envelope
15680 .deref_unchecked::<::fidl_next_common_fuchsia_io::wire::Operations>()
15681 })
15682 }),
15683
15684 subdir: wire.table.get(6).map(|envelope| {
15685 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
15686 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
15687 })
15688 }),
15689
15690 dependency_type: wire.table.get(7).map(|envelope| {
15691 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
15692 envelope.deref_unchecked::<crate::wire::DependencyType>()
15693 })
15694 }),
15695
15696 availability: wire.table.get(8).map(|envelope| {
15697 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
15698 envelope.deref_unchecked::<crate::wire::Availability>()
15699 })
15700 }),
15701
15702 source_dictionary: wire.table.get(9).map(|envelope| {
15703 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
15704 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
15705 })
15706 }),
15707 }
15708 }
15709 }
15710
15711 #[doc = " Declares a storage capability offered by a component to one of its children,\n such as meta storage offered by the component\'s containing realm or cache\n storage offered by the component itself.\n"]
15712 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
15713 pub struct OfferStorage {
15714 pub source_name: ::core::option::Option<::std::string::String>,
15715
15716 pub source: ::core::option::Option<crate::natural::Ref>,
15717
15718 pub target: ::core::option::Option<crate::natural::Ref>,
15719
15720 pub target_name: ::core::option::Option<::std::string::String>,
15721
15722 pub availability: ::core::option::Option<crate::natural::Availability>,
15723 }
15724
15725 impl OfferStorage {
15726 fn __max_ordinal(&self) -> usize {
15727 if self.availability.is_some() {
15728 return 5;
15729 }
15730
15731 if self.target_name.is_some() {
15732 return 4;
15733 }
15734
15735 if self.target.is_some() {
15736 return 3;
15737 }
15738
15739 if self.source.is_some() {
15740 return 2;
15741 }
15742
15743 if self.source_name.is_some() {
15744 return 1;
15745 }
15746
15747 0
15748 }
15749 }
15750
15751 unsafe impl<___E> ::fidl_next::Encode<crate::wire::OfferStorage<'static>, ___E> for OfferStorage
15752 where
15753 ___E: ::fidl_next::Encoder + ?Sized,
15754 {
15755 #[inline]
15756 fn encode(
15757 mut self,
15758 encoder: &mut ___E,
15759 out: &mut ::core::mem::MaybeUninit<crate::wire::OfferStorage<'static>>,
15760 _: (),
15761 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
15762 ::fidl_next::munge!(let crate::wire::OfferStorage { table } = out);
15763
15764 let max_ord = self.__max_ordinal();
15765
15766 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
15767 ::fidl_next::Wire::zero_padding(&mut out);
15768
15769 let mut preallocated =
15770 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
15771
15772 for i in 1..=max_ord {
15773 match i {
15774 5 => {
15775 if let Some(value) = self.availability.take() {
15776 ::fidl_next::WireEnvelope::encode_value::<
15777 crate::wire::Availability,
15778 ___E,
15779 >(
15780 value, preallocated.encoder, &mut out, ()
15781 )?;
15782 } else {
15783 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15784 }
15785 }
15786
15787 4 => {
15788 if let Some(value) = self.target_name.take() {
15789 ::fidl_next::WireEnvelope::encode_value::<
15790 ::fidl_next::WireString<'static>,
15791 ___E,
15792 >(
15793 value, preallocated.encoder, &mut out, 100
15794 )?;
15795 } else {
15796 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15797 }
15798 }
15799
15800 3 => {
15801 if let Some(value) = self.target.take() {
15802 ::fidl_next::WireEnvelope::encode_value::<
15803 crate::wire::Ref<'static>,
15804 ___E,
15805 >(
15806 value, preallocated.encoder, &mut out, ()
15807 )?;
15808 } else {
15809 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15810 }
15811 }
15812
15813 2 => {
15814 if let Some(value) = self.source.take() {
15815 ::fidl_next::WireEnvelope::encode_value::<
15816 crate::wire::Ref<'static>,
15817 ___E,
15818 >(
15819 value, preallocated.encoder, &mut out, ()
15820 )?;
15821 } else {
15822 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15823 }
15824 }
15825
15826 1 => {
15827 if let Some(value) = self.source_name.take() {
15828 ::fidl_next::WireEnvelope::encode_value::<
15829 ::fidl_next::WireString<'static>,
15830 ___E,
15831 >(
15832 value, preallocated.encoder, &mut out, 100
15833 )?;
15834 } else {
15835 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15836 }
15837 }
15838
15839 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
15840 }
15841 unsafe {
15842 preallocated.write_next(out.assume_init_ref());
15843 }
15844 }
15845
15846 ::fidl_next::WireTable::encode_len(table, max_ord);
15847
15848 Ok(())
15849 }
15850 }
15851
15852 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::OfferStorage<'static>, ___E>
15853 for &'a OfferStorage
15854 where
15855 ___E: ::fidl_next::Encoder + ?Sized,
15856 {
15857 #[inline]
15858 fn encode(
15859 self,
15860 encoder: &mut ___E,
15861 out: &mut ::core::mem::MaybeUninit<crate::wire::OfferStorage<'static>>,
15862 _: (),
15863 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
15864 ::fidl_next::munge!(let crate::wire::OfferStorage { table } = out);
15865
15866 let max_ord = self.__max_ordinal();
15867
15868 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
15869 ::fidl_next::Wire::zero_padding(&mut out);
15870
15871 let mut preallocated =
15872 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
15873
15874 for i in 1..=max_ord {
15875 match i {
15876 5 => {
15877 if let Some(value) = &self.availability {
15878 ::fidl_next::WireEnvelope::encode_value::<
15879 crate::wire::Availability,
15880 ___E,
15881 >(
15882 value, preallocated.encoder, &mut out, ()
15883 )?;
15884 } else {
15885 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15886 }
15887 }
15888
15889 4 => {
15890 if let Some(value) = &self.target_name {
15891 ::fidl_next::WireEnvelope::encode_value::<
15892 ::fidl_next::WireString<'static>,
15893 ___E,
15894 >(
15895 value, preallocated.encoder, &mut out, 100
15896 )?;
15897 } else {
15898 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15899 }
15900 }
15901
15902 3 => {
15903 if let Some(value) = &self.target {
15904 ::fidl_next::WireEnvelope::encode_value::<
15905 crate::wire::Ref<'static>,
15906 ___E,
15907 >(
15908 value, preallocated.encoder, &mut out, ()
15909 )?;
15910 } else {
15911 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15912 }
15913 }
15914
15915 2 => {
15916 if let Some(value) = &self.source {
15917 ::fidl_next::WireEnvelope::encode_value::<
15918 crate::wire::Ref<'static>,
15919 ___E,
15920 >(
15921 value, preallocated.encoder, &mut out, ()
15922 )?;
15923 } else {
15924 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15925 }
15926 }
15927
15928 1 => {
15929 if let Some(value) = &self.source_name {
15930 ::fidl_next::WireEnvelope::encode_value::<
15931 ::fidl_next::WireString<'static>,
15932 ___E,
15933 >(
15934 value, preallocated.encoder, &mut out, 100
15935 )?;
15936 } else {
15937 ::fidl_next::WireEnvelope::encode_zero(&mut out)
15938 }
15939 }
15940
15941 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
15942 }
15943 unsafe {
15944 preallocated.write_next(out.assume_init_ref());
15945 }
15946 }
15947
15948 ::fidl_next::WireTable::encode_len(table, max_ord);
15949
15950 Ok(())
15951 }
15952 }
15953
15954 impl<'de> ::fidl_next::FromWire<crate::wire::OfferStorage<'de>> for OfferStorage {
15955 #[inline]
15956 fn from_wire(wire_: crate::wire::OfferStorage<'de>) -> Self {
15957 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
15958
15959 let source_name = wire_.table.get(1);
15960
15961 let source = wire_.table.get(2);
15962
15963 let target = wire_.table.get(3);
15964
15965 let target_name = wire_.table.get(4);
15966
15967 let availability = wire_.table.get(5);
15968
15969 Self {
15970 source_name: source_name.map(|envelope| {
15971 ::fidl_next::FromWire::from_wire(unsafe {
15972 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
15973 })
15974 }),
15975
15976 source: source.map(|envelope| {
15977 ::fidl_next::FromWire::from_wire(unsafe {
15978 envelope.read_unchecked::<crate::wire::Ref<'de>>()
15979 })
15980 }),
15981
15982 target: target.map(|envelope| {
15983 ::fidl_next::FromWire::from_wire(unsafe {
15984 envelope.read_unchecked::<crate::wire::Ref<'de>>()
15985 })
15986 }),
15987
15988 target_name: target_name.map(|envelope| {
15989 ::fidl_next::FromWire::from_wire(unsafe {
15990 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
15991 })
15992 }),
15993
15994 availability: availability.map(|envelope| {
15995 ::fidl_next::FromWire::from_wire(unsafe {
15996 envelope.read_unchecked::<crate::wire::Availability>()
15997 })
15998 }),
15999 }
16000 }
16001 }
16002
16003 impl<'de> ::fidl_next::FromWireRef<crate::wire::OfferStorage<'de>> for OfferStorage {
16004 #[inline]
16005 fn from_wire_ref(wire: &crate::wire::OfferStorage<'de>) -> Self {
16006 Self {
16007 source_name: wire.table.get(1).map(|envelope| {
16008 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
16009 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
16010 })
16011 }),
16012
16013 source: wire.table.get(2).map(|envelope| {
16014 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
16015 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
16016 })
16017 }),
16018
16019 target: wire.table.get(3).map(|envelope| {
16020 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
16021 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
16022 })
16023 }),
16024
16025 target_name: wire.table.get(4).map(|envelope| {
16026 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
16027 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
16028 })
16029 }),
16030
16031 availability: wire.table.get(5).map(|envelope| {
16032 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
16033 envelope.deref_unchecked::<crate::wire::Availability>()
16034 })
16035 }),
16036 }
16037 }
16038 }
16039
16040 #[doc = " Declares a runner offered by a component to one of its children, which may\n have been offered by the component\'s containing realm, the component itself,\n or one of its other children.\n"]
16041 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
16042 pub struct OfferRunner {
16043 pub source: ::core::option::Option<crate::natural::Ref>,
16044
16045 pub source_name: ::core::option::Option<::std::string::String>,
16046
16047 pub target: ::core::option::Option<crate::natural::Ref>,
16048
16049 pub target_name: ::core::option::Option<::std::string::String>,
16050
16051 pub source_dictionary: ::core::option::Option<::std::string::String>,
16052 }
16053
16054 impl OfferRunner {
16055 fn __max_ordinal(&self) -> usize {
16056 if self.source_dictionary.is_some() {
16057 return 5;
16058 }
16059
16060 if self.target_name.is_some() {
16061 return 4;
16062 }
16063
16064 if self.target.is_some() {
16065 return 3;
16066 }
16067
16068 if self.source_name.is_some() {
16069 return 2;
16070 }
16071
16072 if self.source.is_some() {
16073 return 1;
16074 }
16075
16076 0
16077 }
16078 }
16079
16080 unsafe impl<___E> ::fidl_next::Encode<crate::wire::OfferRunner<'static>, ___E> for OfferRunner
16081 where
16082 ___E: ::fidl_next::Encoder + ?Sized,
16083 {
16084 #[inline]
16085 fn encode(
16086 mut self,
16087 encoder: &mut ___E,
16088 out: &mut ::core::mem::MaybeUninit<crate::wire::OfferRunner<'static>>,
16089 _: (),
16090 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
16091 ::fidl_next::munge!(let crate::wire::OfferRunner { table } = out);
16092
16093 let max_ord = self.__max_ordinal();
16094
16095 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
16096 ::fidl_next::Wire::zero_padding(&mut out);
16097
16098 let mut preallocated =
16099 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
16100
16101 for i in 1..=max_ord {
16102 match i {
16103 5 => {
16104 if let Some(value) = self.source_dictionary.take() {
16105 ::fidl_next::WireEnvelope::encode_value::<
16106 ::fidl_next::WireString<'static>,
16107 ___E,
16108 >(
16109 value, preallocated.encoder, &mut out, 1024
16110 )?;
16111 } else {
16112 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16113 }
16114 }
16115
16116 4 => {
16117 if let Some(value) = self.target_name.take() {
16118 ::fidl_next::WireEnvelope::encode_value::<
16119 ::fidl_next::WireString<'static>,
16120 ___E,
16121 >(
16122 value, preallocated.encoder, &mut out, 100
16123 )?;
16124 } else {
16125 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16126 }
16127 }
16128
16129 3 => {
16130 if let Some(value) = self.target.take() {
16131 ::fidl_next::WireEnvelope::encode_value::<
16132 crate::wire::Ref<'static>,
16133 ___E,
16134 >(
16135 value, preallocated.encoder, &mut out, ()
16136 )?;
16137 } else {
16138 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16139 }
16140 }
16141
16142 2 => {
16143 if let Some(value) = self.source_name.take() {
16144 ::fidl_next::WireEnvelope::encode_value::<
16145 ::fidl_next::WireString<'static>,
16146 ___E,
16147 >(
16148 value, preallocated.encoder, &mut out, 100
16149 )?;
16150 } else {
16151 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16152 }
16153 }
16154
16155 1 => {
16156 if let Some(value) = self.source.take() {
16157 ::fidl_next::WireEnvelope::encode_value::<
16158 crate::wire::Ref<'static>,
16159 ___E,
16160 >(
16161 value, preallocated.encoder, &mut out, ()
16162 )?;
16163 } else {
16164 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16165 }
16166 }
16167
16168 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
16169 }
16170 unsafe {
16171 preallocated.write_next(out.assume_init_ref());
16172 }
16173 }
16174
16175 ::fidl_next::WireTable::encode_len(table, max_ord);
16176
16177 Ok(())
16178 }
16179 }
16180
16181 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::OfferRunner<'static>, ___E>
16182 for &'a OfferRunner
16183 where
16184 ___E: ::fidl_next::Encoder + ?Sized,
16185 {
16186 #[inline]
16187 fn encode(
16188 self,
16189 encoder: &mut ___E,
16190 out: &mut ::core::mem::MaybeUninit<crate::wire::OfferRunner<'static>>,
16191 _: (),
16192 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
16193 ::fidl_next::munge!(let crate::wire::OfferRunner { table } = out);
16194
16195 let max_ord = self.__max_ordinal();
16196
16197 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
16198 ::fidl_next::Wire::zero_padding(&mut out);
16199
16200 let mut preallocated =
16201 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
16202
16203 for i in 1..=max_ord {
16204 match i {
16205 5 => {
16206 if let Some(value) = &self.source_dictionary {
16207 ::fidl_next::WireEnvelope::encode_value::<
16208 ::fidl_next::WireString<'static>,
16209 ___E,
16210 >(
16211 value, preallocated.encoder, &mut out, 1024
16212 )?;
16213 } else {
16214 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16215 }
16216 }
16217
16218 4 => {
16219 if let Some(value) = &self.target_name {
16220 ::fidl_next::WireEnvelope::encode_value::<
16221 ::fidl_next::WireString<'static>,
16222 ___E,
16223 >(
16224 value, preallocated.encoder, &mut out, 100
16225 )?;
16226 } else {
16227 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16228 }
16229 }
16230
16231 3 => {
16232 if let Some(value) = &self.target {
16233 ::fidl_next::WireEnvelope::encode_value::<
16234 crate::wire::Ref<'static>,
16235 ___E,
16236 >(
16237 value, preallocated.encoder, &mut out, ()
16238 )?;
16239 } else {
16240 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16241 }
16242 }
16243
16244 2 => {
16245 if let Some(value) = &self.source_name {
16246 ::fidl_next::WireEnvelope::encode_value::<
16247 ::fidl_next::WireString<'static>,
16248 ___E,
16249 >(
16250 value, preallocated.encoder, &mut out, 100
16251 )?;
16252 } else {
16253 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16254 }
16255 }
16256
16257 1 => {
16258 if let Some(value) = &self.source {
16259 ::fidl_next::WireEnvelope::encode_value::<
16260 crate::wire::Ref<'static>,
16261 ___E,
16262 >(
16263 value, preallocated.encoder, &mut out, ()
16264 )?;
16265 } else {
16266 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16267 }
16268 }
16269
16270 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
16271 }
16272 unsafe {
16273 preallocated.write_next(out.assume_init_ref());
16274 }
16275 }
16276
16277 ::fidl_next::WireTable::encode_len(table, max_ord);
16278
16279 Ok(())
16280 }
16281 }
16282
16283 impl<'de> ::fidl_next::FromWire<crate::wire::OfferRunner<'de>> for OfferRunner {
16284 #[inline]
16285 fn from_wire(wire_: crate::wire::OfferRunner<'de>) -> Self {
16286 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
16287
16288 let source = wire_.table.get(1);
16289
16290 let source_name = wire_.table.get(2);
16291
16292 let target = wire_.table.get(3);
16293
16294 let target_name = wire_.table.get(4);
16295
16296 let source_dictionary = wire_.table.get(5);
16297
16298 Self {
16299 source: source.map(|envelope| {
16300 ::fidl_next::FromWire::from_wire(unsafe {
16301 envelope.read_unchecked::<crate::wire::Ref<'de>>()
16302 })
16303 }),
16304
16305 source_name: source_name.map(|envelope| {
16306 ::fidl_next::FromWire::from_wire(unsafe {
16307 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
16308 })
16309 }),
16310
16311 target: target.map(|envelope| {
16312 ::fidl_next::FromWire::from_wire(unsafe {
16313 envelope.read_unchecked::<crate::wire::Ref<'de>>()
16314 })
16315 }),
16316
16317 target_name: target_name.map(|envelope| {
16318 ::fidl_next::FromWire::from_wire(unsafe {
16319 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
16320 })
16321 }),
16322
16323 source_dictionary: source_dictionary.map(|envelope| {
16324 ::fidl_next::FromWire::from_wire(unsafe {
16325 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
16326 })
16327 }),
16328 }
16329 }
16330 }
16331
16332 impl<'de> ::fidl_next::FromWireRef<crate::wire::OfferRunner<'de>> for OfferRunner {
16333 #[inline]
16334 fn from_wire_ref(wire: &crate::wire::OfferRunner<'de>) -> Self {
16335 Self {
16336 source: wire.table.get(1).map(|envelope| {
16337 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
16338 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
16339 })
16340 }),
16341
16342 source_name: wire.table.get(2).map(|envelope| {
16343 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
16344 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
16345 })
16346 }),
16347
16348 target: wire.table.get(3).map(|envelope| {
16349 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
16350 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
16351 })
16352 }),
16353
16354 target_name: wire.table.get(4).map(|envelope| {
16355 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
16356 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
16357 })
16358 }),
16359
16360 source_dictionary: wire.table.get(5).map(|envelope| {
16361 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
16362 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
16363 })
16364 }),
16365 }
16366 }
16367 }
16368
16369 #[doc = " Declares a resolver capability offered by a component to one of its children, which\n may have been offered by the component\'s containing realm, the component itself,\n or one of its other children.\n"]
16370 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
16371 pub struct OfferResolver {
16372 pub source: ::core::option::Option<crate::natural::Ref>,
16373
16374 pub source_name: ::core::option::Option<::std::string::String>,
16375
16376 pub target: ::core::option::Option<crate::natural::Ref>,
16377
16378 pub target_name: ::core::option::Option<::std::string::String>,
16379
16380 pub source_dictionary: ::core::option::Option<::std::string::String>,
16381 }
16382
16383 impl OfferResolver {
16384 fn __max_ordinal(&self) -> usize {
16385 if self.source_dictionary.is_some() {
16386 return 5;
16387 }
16388
16389 if self.target_name.is_some() {
16390 return 4;
16391 }
16392
16393 if self.target.is_some() {
16394 return 3;
16395 }
16396
16397 if self.source_name.is_some() {
16398 return 2;
16399 }
16400
16401 if self.source.is_some() {
16402 return 1;
16403 }
16404
16405 0
16406 }
16407 }
16408
16409 unsafe impl<___E> ::fidl_next::Encode<crate::wire::OfferResolver<'static>, ___E> for OfferResolver
16410 where
16411 ___E: ::fidl_next::Encoder + ?Sized,
16412 {
16413 #[inline]
16414 fn encode(
16415 mut self,
16416 encoder: &mut ___E,
16417 out: &mut ::core::mem::MaybeUninit<crate::wire::OfferResolver<'static>>,
16418 _: (),
16419 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
16420 ::fidl_next::munge!(let crate::wire::OfferResolver { table } = out);
16421
16422 let max_ord = self.__max_ordinal();
16423
16424 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
16425 ::fidl_next::Wire::zero_padding(&mut out);
16426
16427 let mut preallocated =
16428 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
16429
16430 for i in 1..=max_ord {
16431 match i {
16432 5 => {
16433 if let Some(value) = self.source_dictionary.take() {
16434 ::fidl_next::WireEnvelope::encode_value::<
16435 ::fidl_next::WireString<'static>,
16436 ___E,
16437 >(
16438 value, preallocated.encoder, &mut out, 1024
16439 )?;
16440 } else {
16441 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16442 }
16443 }
16444
16445 4 => {
16446 if let Some(value) = self.target_name.take() {
16447 ::fidl_next::WireEnvelope::encode_value::<
16448 ::fidl_next::WireString<'static>,
16449 ___E,
16450 >(
16451 value, preallocated.encoder, &mut out, 100
16452 )?;
16453 } else {
16454 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16455 }
16456 }
16457
16458 3 => {
16459 if let Some(value) = self.target.take() {
16460 ::fidl_next::WireEnvelope::encode_value::<
16461 crate::wire::Ref<'static>,
16462 ___E,
16463 >(
16464 value, preallocated.encoder, &mut out, ()
16465 )?;
16466 } else {
16467 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16468 }
16469 }
16470
16471 2 => {
16472 if let Some(value) = self.source_name.take() {
16473 ::fidl_next::WireEnvelope::encode_value::<
16474 ::fidl_next::WireString<'static>,
16475 ___E,
16476 >(
16477 value, preallocated.encoder, &mut out, 100
16478 )?;
16479 } else {
16480 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16481 }
16482 }
16483
16484 1 => {
16485 if let Some(value) = self.source.take() {
16486 ::fidl_next::WireEnvelope::encode_value::<
16487 crate::wire::Ref<'static>,
16488 ___E,
16489 >(
16490 value, preallocated.encoder, &mut out, ()
16491 )?;
16492 } else {
16493 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16494 }
16495 }
16496
16497 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
16498 }
16499 unsafe {
16500 preallocated.write_next(out.assume_init_ref());
16501 }
16502 }
16503
16504 ::fidl_next::WireTable::encode_len(table, max_ord);
16505
16506 Ok(())
16507 }
16508 }
16509
16510 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::OfferResolver<'static>, ___E>
16511 for &'a OfferResolver
16512 where
16513 ___E: ::fidl_next::Encoder + ?Sized,
16514 {
16515 #[inline]
16516 fn encode(
16517 self,
16518 encoder: &mut ___E,
16519 out: &mut ::core::mem::MaybeUninit<crate::wire::OfferResolver<'static>>,
16520 _: (),
16521 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
16522 ::fidl_next::munge!(let crate::wire::OfferResolver { table } = out);
16523
16524 let max_ord = self.__max_ordinal();
16525
16526 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
16527 ::fidl_next::Wire::zero_padding(&mut out);
16528
16529 let mut preallocated =
16530 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
16531
16532 for i in 1..=max_ord {
16533 match i {
16534 5 => {
16535 if let Some(value) = &self.source_dictionary {
16536 ::fidl_next::WireEnvelope::encode_value::<
16537 ::fidl_next::WireString<'static>,
16538 ___E,
16539 >(
16540 value, preallocated.encoder, &mut out, 1024
16541 )?;
16542 } else {
16543 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16544 }
16545 }
16546
16547 4 => {
16548 if let Some(value) = &self.target_name {
16549 ::fidl_next::WireEnvelope::encode_value::<
16550 ::fidl_next::WireString<'static>,
16551 ___E,
16552 >(
16553 value, preallocated.encoder, &mut out, 100
16554 )?;
16555 } else {
16556 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16557 }
16558 }
16559
16560 3 => {
16561 if let Some(value) = &self.target {
16562 ::fidl_next::WireEnvelope::encode_value::<
16563 crate::wire::Ref<'static>,
16564 ___E,
16565 >(
16566 value, preallocated.encoder, &mut out, ()
16567 )?;
16568 } else {
16569 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16570 }
16571 }
16572
16573 2 => {
16574 if let Some(value) = &self.source_name {
16575 ::fidl_next::WireEnvelope::encode_value::<
16576 ::fidl_next::WireString<'static>,
16577 ___E,
16578 >(
16579 value, preallocated.encoder, &mut out, 100
16580 )?;
16581 } else {
16582 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16583 }
16584 }
16585
16586 1 => {
16587 if let Some(value) = &self.source {
16588 ::fidl_next::WireEnvelope::encode_value::<
16589 crate::wire::Ref<'static>,
16590 ___E,
16591 >(
16592 value, preallocated.encoder, &mut out, ()
16593 )?;
16594 } else {
16595 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16596 }
16597 }
16598
16599 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
16600 }
16601 unsafe {
16602 preallocated.write_next(out.assume_init_ref());
16603 }
16604 }
16605
16606 ::fidl_next::WireTable::encode_len(table, max_ord);
16607
16608 Ok(())
16609 }
16610 }
16611
16612 impl<'de> ::fidl_next::FromWire<crate::wire::OfferResolver<'de>> for OfferResolver {
16613 #[inline]
16614 fn from_wire(wire_: crate::wire::OfferResolver<'de>) -> Self {
16615 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
16616
16617 let source = wire_.table.get(1);
16618
16619 let source_name = wire_.table.get(2);
16620
16621 let target = wire_.table.get(3);
16622
16623 let target_name = wire_.table.get(4);
16624
16625 let source_dictionary = wire_.table.get(5);
16626
16627 Self {
16628 source: source.map(|envelope| {
16629 ::fidl_next::FromWire::from_wire(unsafe {
16630 envelope.read_unchecked::<crate::wire::Ref<'de>>()
16631 })
16632 }),
16633
16634 source_name: source_name.map(|envelope| {
16635 ::fidl_next::FromWire::from_wire(unsafe {
16636 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
16637 })
16638 }),
16639
16640 target: target.map(|envelope| {
16641 ::fidl_next::FromWire::from_wire(unsafe {
16642 envelope.read_unchecked::<crate::wire::Ref<'de>>()
16643 })
16644 }),
16645
16646 target_name: target_name.map(|envelope| {
16647 ::fidl_next::FromWire::from_wire(unsafe {
16648 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
16649 })
16650 }),
16651
16652 source_dictionary: source_dictionary.map(|envelope| {
16653 ::fidl_next::FromWire::from_wire(unsafe {
16654 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
16655 })
16656 }),
16657 }
16658 }
16659 }
16660
16661 impl<'de> ::fidl_next::FromWireRef<crate::wire::OfferResolver<'de>> for OfferResolver {
16662 #[inline]
16663 fn from_wire_ref(wire: &crate::wire::OfferResolver<'de>) -> Self {
16664 Self {
16665 source: wire.table.get(1).map(|envelope| {
16666 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
16667 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
16668 })
16669 }),
16670
16671 source_name: wire.table.get(2).map(|envelope| {
16672 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
16673 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
16674 })
16675 }),
16676
16677 target: wire.table.get(3).map(|envelope| {
16678 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
16679 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
16680 })
16681 }),
16682
16683 target_name: wire.table.get(4).map(|envelope| {
16684 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
16685 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
16686 })
16687 }),
16688
16689 source_dictionary: wire.table.get(5).map(|envelope| {
16690 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
16691 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
16692 })
16693 }),
16694 }
16695 }
16696 }
16697
16698 #[doc = " Declares an event stream offered by a component.\n"]
16699 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
16700 pub struct OfferEventStream {
16701 pub source: ::core::option::Option<crate::natural::Ref>,
16702
16703 pub source_name: ::core::option::Option<::std::string::String>,
16704
16705 pub scope: ::core::option::Option<::std::vec::Vec<crate::natural::Ref>>,
16706
16707 pub target: ::core::option::Option<crate::natural::Ref>,
16708
16709 pub target_name: ::core::option::Option<::std::string::String>,
16710
16711 pub availability: ::core::option::Option<crate::natural::Availability>,
16712 }
16713
16714 impl OfferEventStream {
16715 fn __max_ordinal(&self) -> usize {
16716 if self.availability.is_some() {
16717 return 7;
16718 }
16719
16720 if self.target_name.is_some() {
16721 return 5;
16722 }
16723
16724 if self.target.is_some() {
16725 return 4;
16726 }
16727
16728 if self.scope.is_some() {
16729 return 3;
16730 }
16731
16732 if self.source_name.is_some() {
16733 return 2;
16734 }
16735
16736 if self.source.is_some() {
16737 return 1;
16738 }
16739
16740 0
16741 }
16742 }
16743
16744 unsafe impl<___E> ::fidl_next::Encode<crate::wire::OfferEventStream<'static>, ___E>
16745 for OfferEventStream
16746 where
16747 ___E: ::fidl_next::Encoder + ?Sized,
16748 {
16749 #[inline]
16750 fn encode(
16751 mut self,
16752 encoder: &mut ___E,
16753 out: &mut ::core::mem::MaybeUninit<crate::wire::OfferEventStream<'static>>,
16754 _: (),
16755 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
16756 ::fidl_next::munge!(let crate::wire::OfferEventStream { table } = out);
16757
16758 let max_ord = self.__max_ordinal();
16759
16760 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
16761 ::fidl_next::Wire::zero_padding(&mut out);
16762
16763 let mut preallocated =
16764 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
16765
16766 for i in 1..=max_ord {
16767 match i {
16768 7 => {
16769 if let Some(value) = self.availability.take() {
16770 ::fidl_next::WireEnvelope::encode_value::<
16771 crate::wire::Availability,
16772 ___E,
16773 >(
16774 value, preallocated.encoder, &mut out, ()
16775 )?;
16776 } else {
16777 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16778 }
16779 }
16780
16781 5 => {
16782 if let Some(value) = self.target_name.take() {
16783 ::fidl_next::WireEnvelope::encode_value::<
16784 ::fidl_next::WireString<'static>,
16785 ___E,
16786 >(
16787 value, preallocated.encoder, &mut out, 100
16788 )?;
16789 } else {
16790 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16791 }
16792 }
16793
16794 4 => {
16795 if let Some(value) = self.target.take() {
16796 ::fidl_next::WireEnvelope::encode_value::<
16797 crate::wire::Ref<'static>,
16798 ___E,
16799 >(
16800 value, preallocated.encoder, &mut out, ()
16801 )?;
16802 } else {
16803 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16804 }
16805 }
16806
16807 3 => {
16808 if let Some(value) = self.scope.take() {
16809 ::fidl_next::WireEnvelope::encode_value::<
16810 ::fidl_next::WireVector<'static, crate::wire::Ref<'static>>,
16811 ___E,
16812 >(
16813 value, preallocated.encoder, &mut out, (4294967295, ())
16814 )?;
16815 } else {
16816 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16817 }
16818 }
16819
16820 2 => {
16821 if let Some(value) = self.source_name.take() {
16822 ::fidl_next::WireEnvelope::encode_value::<
16823 ::fidl_next::WireString<'static>,
16824 ___E,
16825 >(
16826 value, preallocated.encoder, &mut out, 100
16827 )?;
16828 } else {
16829 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16830 }
16831 }
16832
16833 1 => {
16834 if let Some(value) = self.source.take() {
16835 ::fidl_next::WireEnvelope::encode_value::<
16836 crate::wire::Ref<'static>,
16837 ___E,
16838 >(
16839 value, preallocated.encoder, &mut out, ()
16840 )?;
16841 } else {
16842 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16843 }
16844 }
16845
16846 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
16847 }
16848 unsafe {
16849 preallocated.write_next(out.assume_init_ref());
16850 }
16851 }
16852
16853 ::fidl_next::WireTable::encode_len(table, max_ord);
16854
16855 Ok(())
16856 }
16857 }
16858
16859 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::OfferEventStream<'static>, ___E>
16860 for &'a OfferEventStream
16861 where
16862 ___E: ::fidl_next::Encoder + ?Sized,
16863 {
16864 #[inline]
16865 fn encode(
16866 self,
16867 encoder: &mut ___E,
16868 out: &mut ::core::mem::MaybeUninit<crate::wire::OfferEventStream<'static>>,
16869 _: (),
16870 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
16871 ::fidl_next::munge!(let crate::wire::OfferEventStream { table } = out);
16872
16873 let max_ord = self.__max_ordinal();
16874
16875 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
16876 ::fidl_next::Wire::zero_padding(&mut out);
16877
16878 let mut preallocated =
16879 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
16880
16881 for i in 1..=max_ord {
16882 match i {
16883 7 => {
16884 if let Some(value) = &self.availability {
16885 ::fidl_next::WireEnvelope::encode_value::<
16886 crate::wire::Availability,
16887 ___E,
16888 >(
16889 value, preallocated.encoder, &mut out, ()
16890 )?;
16891 } else {
16892 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16893 }
16894 }
16895
16896 5 => {
16897 if let Some(value) = &self.target_name {
16898 ::fidl_next::WireEnvelope::encode_value::<
16899 ::fidl_next::WireString<'static>,
16900 ___E,
16901 >(
16902 value, preallocated.encoder, &mut out, 100
16903 )?;
16904 } else {
16905 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16906 }
16907 }
16908
16909 4 => {
16910 if let Some(value) = &self.target {
16911 ::fidl_next::WireEnvelope::encode_value::<
16912 crate::wire::Ref<'static>,
16913 ___E,
16914 >(
16915 value, preallocated.encoder, &mut out, ()
16916 )?;
16917 } else {
16918 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16919 }
16920 }
16921
16922 3 => {
16923 if let Some(value) = &self.scope {
16924 ::fidl_next::WireEnvelope::encode_value::<
16925 ::fidl_next::WireVector<'static, crate::wire::Ref<'static>>,
16926 ___E,
16927 >(
16928 value, preallocated.encoder, &mut out, (4294967295, ())
16929 )?;
16930 } else {
16931 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16932 }
16933 }
16934
16935 2 => {
16936 if let Some(value) = &self.source_name {
16937 ::fidl_next::WireEnvelope::encode_value::<
16938 ::fidl_next::WireString<'static>,
16939 ___E,
16940 >(
16941 value, preallocated.encoder, &mut out, 100
16942 )?;
16943 } else {
16944 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16945 }
16946 }
16947
16948 1 => {
16949 if let Some(value) = &self.source {
16950 ::fidl_next::WireEnvelope::encode_value::<
16951 crate::wire::Ref<'static>,
16952 ___E,
16953 >(
16954 value, preallocated.encoder, &mut out, ()
16955 )?;
16956 } else {
16957 ::fidl_next::WireEnvelope::encode_zero(&mut out)
16958 }
16959 }
16960
16961 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
16962 }
16963 unsafe {
16964 preallocated.write_next(out.assume_init_ref());
16965 }
16966 }
16967
16968 ::fidl_next::WireTable::encode_len(table, max_ord);
16969
16970 Ok(())
16971 }
16972 }
16973
16974 impl<'de> ::fidl_next::FromWire<crate::wire::OfferEventStream<'de>> for OfferEventStream {
16975 #[inline]
16976 fn from_wire(wire_: crate::wire::OfferEventStream<'de>) -> Self {
16977 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
16978
16979 let source = wire_.table.get(1);
16980
16981 let source_name = wire_.table.get(2);
16982
16983 let scope = wire_.table.get(3);
16984
16985 let target = wire_.table.get(4);
16986
16987 let target_name = wire_.table.get(5);
16988
16989 let availability = wire_.table.get(7);
16990
16991 Self {
16992 source: source.map(|envelope| {
16993 ::fidl_next::FromWire::from_wire(unsafe {
16994 envelope.read_unchecked::<crate::wire::Ref<'de>>()
16995 })
16996 }),
16997
16998 source_name: source_name.map(|envelope| {
16999 ::fidl_next::FromWire::from_wire(unsafe {
17000 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
17001 })
17002 }),
17003
17004 scope: scope.map(|envelope| {
17005 ::fidl_next::FromWire::from_wire(unsafe {
17006 envelope
17007 .read_unchecked::<::fidl_next::WireVector<'de, crate::wire::Ref<'de>>>()
17008 })
17009 }),
17010
17011 target: target.map(|envelope| {
17012 ::fidl_next::FromWire::from_wire(unsafe {
17013 envelope.read_unchecked::<crate::wire::Ref<'de>>()
17014 })
17015 }),
17016
17017 target_name: target_name.map(|envelope| {
17018 ::fidl_next::FromWire::from_wire(unsafe {
17019 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
17020 })
17021 }),
17022
17023 availability: availability.map(|envelope| {
17024 ::fidl_next::FromWire::from_wire(unsafe {
17025 envelope.read_unchecked::<crate::wire::Availability>()
17026 })
17027 }),
17028 }
17029 }
17030 }
17031
17032 impl<'de> ::fidl_next::FromWireRef<crate::wire::OfferEventStream<'de>> for OfferEventStream {
17033 #[inline]
17034 fn from_wire_ref(wire: &crate::wire::OfferEventStream<'de>) -> Self {
17035 Self {
17036 source: wire.table.get(1).map(|envelope| {
17037 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
17038 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
17039 })
17040 }),
17041
17042 source_name: wire.table.get(2).map(|envelope| {
17043 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
17044 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
17045 })
17046 }),
17047
17048 scope: wire.table.get(3).map(|envelope| {
17049 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
17050 envelope
17051 .deref_unchecked::<::fidl_next::WireVector<'de, crate::wire::Ref<'de>>>(
17052 )
17053 })
17054 }),
17055
17056 target: wire.table.get(4).map(|envelope| {
17057 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
17058 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
17059 })
17060 }),
17061
17062 target_name: wire.table.get(5).map(|envelope| {
17063 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
17064 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
17065 })
17066 }),
17067
17068 availability: wire.table.get(7).map(|envelope| {
17069 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
17070 envelope.deref_unchecked::<crate::wire::Availability>()
17071 })
17072 }),
17073 }
17074 }
17075 }
17076
17077 #[doc = " Declares a dictionary offered by a component to one of its children,\n which may have been offered by the component\'s containing realm, the\n component itself, or one of its other children.\n\n To learn more about dictionaries, see:\n https://fuchsia.dev/fuchsia-src/glossary#dictionary\n"]
17078 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
17079 pub struct OfferDictionary {
17080 pub source: ::core::option::Option<crate::natural::Ref>,
17081
17082 pub source_name: ::core::option::Option<::std::string::String>,
17083
17084 pub target: ::core::option::Option<crate::natural::Ref>,
17085
17086 pub target_name: ::core::option::Option<::std::string::String>,
17087
17088 pub dependency_type: ::core::option::Option<crate::natural::DependencyType>,
17089
17090 pub availability: ::core::option::Option<crate::natural::Availability>,
17091
17092 pub source_dictionary: ::core::option::Option<::std::string::String>,
17093 }
17094
17095 impl OfferDictionary {
17096 fn __max_ordinal(&self) -> usize {
17097 if self.source_dictionary.is_some() {
17098 return 7;
17099 }
17100
17101 if self.availability.is_some() {
17102 return 6;
17103 }
17104
17105 if self.dependency_type.is_some() {
17106 return 5;
17107 }
17108
17109 if self.target_name.is_some() {
17110 return 4;
17111 }
17112
17113 if self.target.is_some() {
17114 return 3;
17115 }
17116
17117 if self.source_name.is_some() {
17118 return 2;
17119 }
17120
17121 if self.source.is_some() {
17122 return 1;
17123 }
17124
17125 0
17126 }
17127 }
17128
17129 unsafe impl<___E> ::fidl_next::Encode<crate::wire::OfferDictionary<'static>, ___E>
17130 for OfferDictionary
17131 where
17132 ___E: ::fidl_next::Encoder + ?Sized,
17133 {
17134 #[inline]
17135 fn encode(
17136 mut self,
17137 encoder: &mut ___E,
17138 out: &mut ::core::mem::MaybeUninit<crate::wire::OfferDictionary<'static>>,
17139 _: (),
17140 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
17141 ::fidl_next::munge!(let crate::wire::OfferDictionary { table } = out);
17142
17143 let max_ord = self.__max_ordinal();
17144
17145 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
17146 ::fidl_next::Wire::zero_padding(&mut out);
17147
17148 let mut preallocated =
17149 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
17150
17151 for i in 1..=max_ord {
17152 match i {
17153 7 => {
17154 if let Some(value) = self.source_dictionary.take() {
17155 ::fidl_next::WireEnvelope::encode_value::<
17156 ::fidl_next::WireString<'static>,
17157 ___E,
17158 >(
17159 value, preallocated.encoder, &mut out, 1024
17160 )?;
17161 } else {
17162 ::fidl_next::WireEnvelope::encode_zero(&mut out)
17163 }
17164 }
17165
17166 6 => {
17167 if let Some(value) = self.availability.take() {
17168 ::fidl_next::WireEnvelope::encode_value::<
17169 crate::wire::Availability,
17170 ___E,
17171 >(
17172 value, preallocated.encoder, &mut out, ()
17173 )?;
17174 } else {
17175 ::fidl_next::WireEnvelope::encode_zero(&mut out)
17176 }
17177 }
17178
17179 5 => {
17180 if let Some(value) = self.dependency_type.take() {
17181 ::fidl_next::WireEnvelope::encode_value::<
17182 crate::wire::DependencyType,
17183 ___E,
17184 >(
17185 value, preallocated.encoder, &mut out, ()
17186 )?;
17187 } else {
17188 ::fidl_next::WireEnvelope::encode_zero(&mut out)
17189 }
17190 }
17191
17192 4 => {
17193 if let Some(value) = self.target_name.take() {
17194 ::fidl_next::WireEnvelope::encode_value::<
17195 ::fidl_next::WireString<'static>,
17196 ___E,
17197 >(
17198 value, preallocated.encoder, &mut out, 100
17199 )?;
17200 } else {
17201 ::fidl_next::WireEnvelope::encode_zero(&mut out)
17202 }
17203 }
17204
17205 3 => {
17206 if let Some(value) = self.target.take() {
17207 ::fidl_next::WireEnvelope::encode_value::<
17208 crate::wire::Ref<'static>,
17209 ___E,
17210 >(
17211 value, preallocated.encoder, &mut out, ()
17212 )?;
17213 } else {
17214 ::fidl_next::WireEnvelope::encode_zero(&mut out)
17215 }
17216 }
17217
17218 2 => {
17219 if let Some(value) = self.source_name.take() {
17220 ::fidl_next::WireEnvelope::encode_value::<
17221 ::fidl_next::WireString<'static>,
17222 ___E,
17223 >(
17224 value, preallocated.encoder, &mut out, 100
17225 )?;
17226 } else {
17227 ::fidl_next::WireEnvelope::encode_zero(&mut out)
17228 }
17229 }
17230
17231 1 => {
17232 if let Some(value) = self.source.take() {
17233 ::fidl_next::WireEnvelope::encode_value::<
17234 crate::wire::Ref<'static>,
17235 ___E,
17236 >(
17237 value, preallocated.encoder, &mut out, ()
17238 )?;
17239 } else {
17240 ::fidl_next::WireEnvelope::encode_zero(&mut out)
17241 }
17242 }
17243
17244 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
17245 }
17246 unsafe {
17247 preallocated.write_next(out.assume_init_ref());
17248 }
17249 }
17250
17251 ::fidl_next::WireTable::encode_len(table, max_ord);
17252
17253 Ok(())
17254 }
17255 }
17256
17257 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::OfferDictionary<'static>, ___E>
17258 for &'a OfferDictionary
17259 where
17260 ___E: ::fidl_next::Encoder + ?Sized,
17261 {
17262 #[inline]
17263 fn encode(
17264 self,
17265 encoder: &mut ___E,
17266 out: &mut ::core::mem::MaybeUninit<crate::wire::OfferDictionary<'static>>,
17267 _: (),
17268 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
17269 ::fidl_next::munge!(let crate::wire::OfferDictionary { table } = out);
17270
17271 let max_ord = self.__max_ordinal();
17272
17273 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
17274 ::fidl_next::Wire::zero_padding(&mut out);
17275
17276 let mut preallocated =
17277 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
17278
17279 for i in 1..=max_ord {
17280 match i {
17281 7 => {
17282 if let Some(value) = &self.source_dictionary {
17283 ::fidl_next::WireEnvelope::encode_value::<
17284 ::fidl_next::WireString<'static>,
17285 ___E,
17286 >(
17287 value, preallocated.encoder, &mut out, 1024
17288 )?;
17289 } else {
17290 ::fidl_next::WireEnvelope::encode_zero(&mut out)
17291 }
17292 }
17293
17294 6 => {
17295 if let Some(value) = &self.availability {
17296 ::fidl_next::WireEnvelope::encode_value::<
17297 crate::wire::Availability,
17298 ___E,
17299 >(
17300 value, preallocated.encoder, &mut out, ()
17301 )?;
17302 } else {
17303 ::fidl_next::WireEnvelope::encode_zero(&mut out)
17304 }
17305 }
17306
17307 5 => {
17308 if let Some(value) = &self.dependency_type {
17309 ::fidl_next::WireEnvelope::encode_value::<
17310 crate::wire::DependencyType,
17311 ___E,
17312 >(
17313 value, preallocated.encoder, &mut out, ()
17314 )?;
17315 } else {
17316 ::fidl_next::WireEnvelope::encode_zero(&mut out)
17317 }
17318 }
17319
17320 4 => {
17321 if let Some(value) = &self.target_name {
17322 ::fidl_next::WireEnvelope::encode_value::<
17323 ::fidl_next::WireString<'static>,
17324 ___E,
17325 >(
17326 value, preallocated.encoder, &mut out, 100
17327 )?;
17328 } else {
17329 ::fidl_next::WireEnvelope::encode_zero(&mut out)
17330 }
17331 }
17332
17333 3 => {
17334 if let Some(value) = &self.target {
17335 ::fidl_next::WireEnvelope::encode_value::<
17336 crate::wire::Ref<'static>,
17337 ___E,
17338 >(
17339 value, preallocated.encoder, &mut out, ()
17340 )?;
17341 } else {
17342 ::fidl_next::WireEnvelope::encode_zero(&mut out)
17343 }
17344 }
17345
17346 2 => {
17347 if let Some(value) = &self.source_name {
17348 ::fidl_next::WireEnvelope::encode_value::<
17349 ::fidl_next::WireString<'static>,
17350 ___E,
17351 >(
17352 value, preallocated.encoder, &mut out, 100
17353 )?;
17354 } else {
17355 ::fidl_next::WireEnvelope::encode_zero(&mut out)
17356 }
17357 }
17358
17359 1 => {
17360 if let Some(value) = &self.source {
17361 ::fidl_next::WireEnvelope::encode_value::<
17362 crate::wire::Ref<'static>,
17363 ___E,
17364 >(
17365 value, preallocated.encoder, &mut out, ()
17366 )?;
17367 } else {
17368 ::fidl_next::WireEnvelope::encode_zero(&mut out)
17369 }
17370 }
17371
17372 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
17373 }
17374 unsafe {
17375 preallocated.write_next(out.assume_init_ref());
17376 }
17377 }
17378
17379 ::fidl_next::WireTable::encode_len(table, max_ord);
17380
17381 Ok(())
17382 }
17383 }
17384
17385 impl<'de> ::fidl_next::FromWire<crate::wire::OfferDictionary<'de>> for OfferDictionary {
17386 #[inline]
17387 fn from_wire(wire_: crate::wire::OfferDictionary<'de>) -> Self {
17388 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
17389
17390 let source = wire_.table.get(1);
17391
17392 let source_name = wire_.table.get(2);
17393
17394 let target = wire_.table.get(3);
17395
17396 let target_name = wire_.table.get(4);
17397
17398 let dependency_type = wire_.table.get(5);
17399
17400 let availability = wire_.table.get(6);
17401
17402 let source_dictionary = wire_.table.get(7);
17403
17404 Self {
17405 source: source.map(|envelope| {
17406 ::fidl_next::FromWire::from_wire(unsafe {
17407 envelope.read_unchecked::<crate::wire::Ref<'de>>()
17408 })
17409 }),
17410
17411 source_name: source_name.map(|envelope| {
17412 ::fidl_next::FromWire::from_wire(unsafe {
17413 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
17414 })
17415 }),
17416
17417 target: target.map(|envelope| {
17418 ::fidl_next::FromWire::from_wire(unsafe {
17419 envelope.read_unchecked::<crate::wire::Ref<'de>>()
17420 })
17421 }),
17422
17423 target_name: target_name.map(|envelope| {
17424 ::fidl_next::FromWire::from_wire(unsafe {
17425 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
17426 })
17427 }),
17428
17429 dependency_type: dependency_type.map(|envelope| {
17430 ::fidl_next::FromWire::from_wire(unsafe {
17431 envelope.read_unchecked::<crate::wire::DependencyType>()
17432 })
17433 }),
17434
17435 availability: availability.map(|envelope| {
17436 ::fidl_next::FromWire::from_wire(unsafe {
17437 envelope.read_unchecked::<crate::wire::Availability>()
17438 })
17439 }),
17440
17441 source_dictionary: source_dictionary.map(|envelope| {
17442 ::fidl_next::FromWire::from_wire(unsafe {
17443 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
17444 })
17445 }),
17446 }
17447 }
17448 }
17449
17450 impl<'de> ::fidl_next::FromWireRef<crate::wire::OfferDictionary<'de>> for OfferDictionary {
17451 #[inline]
17452 fn from_wire_ref(wire: &crate::wire::OfferDictionary<'de>) -> Self {
17453 Self {
17454 source: wire.table.get(1).map(|envelope| {
17455 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
17456 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
17457 })
17458 }),
17459
17460 source_name: wire.table.get(2).map(|envelope| {
17461 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
17462 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
17463 })
17464 }),
17465
17466 target: wire.table.get(3).map(|envelope| {
17467 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
17468 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
17469 })
17470 }),
17471
17472 target_name: wire.table.get(4).map(|envelope| {
17473 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
17474 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
17475 })
17476 }),
17477
17478 dependency_type: wire.table.get(5).map(|envelope| {
17479 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
17480 envelope.deref_unchecked::<crate::wire::DependencyType>()
17481 })
17482 }),
17483
17484 availability: wire.table.get(6).map(|envelope| {
17485 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
17486 envelope.deref_unchecked::<crate::wire::Availability>()
17487 })
17488 }),
17489
17490 source_dictionary: wire.table.get(7).map(|envelope| {
17491 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
17492 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
17493 })
17494 }),
17495 }
17496 }
17497 }
17498
17499 #[doc = " Declares a configuration capability offered by a component to one of its children,\n which may have been offered by the component\'s containing realm, the\n component itself, or one of its other children.\n"]
17500 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
17501 pub struct OfferConfiguration {
17502 pub source: ::core::option::Option<crate::natural::Ref>,
17503
17504 pub source_name: ::core::option::Option<::std::string::String>,
17505
17506 pub target: ::core::option::Option<crate::natural::Ref>,
17507
17508 pub target_name: ::core::option::Option<::std::string::String>,
17509
17510 pub availability: ::core::option::Option<crate::natural::Availability>,
17511
17512 pub source_dictionary: ::core::option::Option<::std::string::String>,
17513 }
17514
17515 impl OfferConfiguration {
17516 fn __max_ordinal(&self) -> usize {
17517 if self.source_dictionary.is_some() {
17518 return 6;
17519 }
17520
17521 if self.availability.is_some() {
17522 return 5;
17523 }
17524
17525 if self.target_name.is_some() {
17526 return 4;
17527 }
17528
17529 if self.target.is_some() {
17530 return 3;
17531 }
17532
17533 if self.source_name.is_some() {
17534 return 2;
17535 }
17536
17537 if self.source.is_some() {
17538 return 1;
17539 }
17540
17541 0
17542 }
17543 }
17544
17545 unsafe impl<___E> ::fidl_next::Encode<crate::wire::OfferConfiguration<'static>, ___E>
17546 for OfferConfiguration
17547 where
17548 ___E: ::fidl_next::Encoder + ?Sized,
17549 {
17550 #[inline]
17551 fn encode(
17552 mut self,
17553 encoder: &mut ___E,
17554 out: &mut ::core::mem::MaybeUninit<crate::wire::OfferConfiguration<'static>>,
17555 _: (),
17556 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
17557 ::fidl_next::munge!(let crate::wire::OfferConfiguration { table } = out);
17558
17559 let max_ord = self.__max_ordinal();
17560
17561 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
17562 ::fidl_next::Wire::zero_padding(&mut out);
17563
17564 let mut preallocated =
17565 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
17566
17567 for i in 1..=max_ord {
17568 match i {
17569 6 => {
17570 if let Some(value) = self.source_dictionary.take() {
17571 ::fidl_next::WireEnvelope::encode_value::<
17572 ::fidl_next::WireString<'static>,
17573 ___E,
17574 >(
17575 value, preallocated.encoder, &mut out, 1024
17576 )?;
17577 } else {
17578 ::fidl_next::WireEnvelope::encode_zero(&mut out)
17579 }
17580 }
17581
17582 5 => {
17583 if let Some(value) = self.availability.take() {
17584 ::fidl_next::WireEnvelope::encode_value::<
17585 crate::wire::Availability,
17586 ___E,
17587 >(
17588 value, preallocated.encoder, &mut out, ()
17589 )?;
17590 } else {
17591 ::fidl_next::WireEnvelope::encode_zero(&mut out)
17592 }
17593 }
17594
17595 4 => {
17596 if let Some(value) = self.target_name.take() {
17597 ::fidl_next::WireEnvelope::encode_value::<
17598 ::fidl_next::WireString<'static>,
17599 ___E,
17600 >(
17601 value, preallocated.encoder, &mut out, 100
17602 )?;
17603 } else {
17604 ::fidl_next::WireEnvelope::encode_zero(&mut out)
17605 }
17606 }
17607
17608 3 => {
17609 if let Some(value) = self.target.take() {
17610 ::fidl_next::WireEnvelope::encode_value::<
17611 crate::wire::Ref<'static>,
17612 ___E,
17613 >(
17614 value, preallocated.encoder, &mut out, ()
17615 )?;
17616 } else {
17617 ::fidl_next::WireEnvelope::encode_zero(&mut out)
17618 }
17619 }
17620
17621 2 => {
17622 if let Some(value) = self.source_name.take() {
17623 ::fidl_next::WireEnvelope::encode_value::<
17624 ::fidl_next::WireString<'static>,
17625 ___E,
17626 >(
17627 value, preallocated.encoder, &mut out, 100
17628 )?;
17629 } else {
17630 ::fidl_next::WireEnvelope::encode_zero(&mut out)
17631 }
17632 }
17633
17634 1 => {
17635 if let Some(value) = self.source.take() {
17636 ::fidl_next::WireEnvelope::encode_value::<
17637 crate::wire::Ref<'static>,
17638 ___E,
17639 >(
17640 value, preallocated.encoder, &mut out, ()
17641 )?;
17642 } else {
17643 ::fidl_next::WireEnvelope::encode_zero(&mut out)
17644 }
17645 }
17646
17647 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
17648 }
17649 unsafe {
17650 preallocated.write_next(out.assume_init_ref());
17651 }
17652 }
17653
17654 ::fidl_next::WireTable::encode_len(table, max_ord);
17655
17656 Ok(())
17657 }
17658 }
17659
17660 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::OfferConfiguration<'static>, ___E>
17661 for &'a OfferConfiguration
17662 where
17663 ___E: ::fidl_next::Encoder + ?Sized,
17664 {
17665 #[inline]
17666 fn encode(
17667 self,
17668 encoder: &mut ___E,
17669 out: &mut ::core::mem::MaybeUninit<crate::wire::OfferConfiguration<'static>>,
17670 _: (),
17671 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
17672 ::fidl_next::munge!(let crate::wire::OfferConfiguration { table } = out);
17673
17674 let max_ord = self.__max_ordinal();
17675
17676 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
17677 ::fidl_next::Wire::zero_padding(&mut out);
17678
17679 let mut preallocated =
17680 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
17681
17682 for i in 1..=max_ord {
17683 match i {
17684 6 => {
17685 if let Some(value) = &self.source_dictionary {
17686 ::fidl_next::WireEnvelope::encode_value::<
17687 ::fidl_next::WireString<'static>,
17688 ___E,
17689 >(
17690 value, preallocated.encoder, &mut out, 1024
17691 )?;
17692 } else {
17693 ::fidl_next::WireEnvelope::encode_zero(&mut out)
17694 }
17695 }
17696
17697 5 => {
17698 if let Some(value) = &self.availability {
17699 ::fidl_next::WireEnvelope::encode_value::<
17700 crate::wire::Availability,
17701 ___E,
17702 >(
17703 value, preallocated.encoder, &mut out, ()
17704 )?;
17705 } else {
17706 ::fidl_next::WireEnvelope::encode_zero(&mut out)
17707 }
17708 }
17709
17710 4 => {
17711 if let Some(value) = &self.target_name {
17712 ::fidl_next::WireEnvelope::encode_value::<
17713 ::fidl_next::WireString<'static>,
17714 ___E,
17715 >(
17716 value, preallocated.encoder, &mut out, 100
17717 )?;
17718 } else {
17719 ::fidl_next::WireEnvelope::encode_zero(&mut out)
17720 }
17721 }
17722
17723 3 => {
17724 if let Some(value) = &self.target {
17725 ::fidl_next::WireEnvelope::encode_value::<
17726 crate::wire::Ref<'static>,
17727 ___E,
17728 >(
17729 value, preallocated.encoder, &mut out, ()
17730 )?;
17731 } else {
17732 ::fidl_next::WireEnvelope::encode_zero(&mut out)
17733 }
17734 }
17735
17736 2 => {
17737 if let Some(value) = &self.source_name {
17738 ::fidl_next::WireEnvelope::encode_value::<
17739 ::fidl_next::WireString<'static>,
17740 ___E,
17741 >(
17742 value, preallocated.encoder, &mut out, 100
17743 )?;
17744 } else {
17745 ::fidl_next::WireEnvelope::encode_zero(&mut out)
17746 }
17747 }
17748
17749 1 => {
17750 if let Some(value) = &self.source {
17751 ::fidl_next::WireEnvelope::encode_value::<
17752 crate::wire::Ref<'static>,
17753 ___E,
17754 >(
17755 value, preallocated.encoder, &mut out, ()
17756 )?;
17757 } else {
17758 ::fidl_next::WireEnvelope::encode_zero(&mut out)
17759 }
17760 }
17761
17762 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
17763 }
17764 unsafe {
17765 preallocated.write_next(out.assume_init_ref());
17766 }
17767 }
17768
17769 ::fidl_next::WireTable::encode_len(table, max_ord);
17770
17771 Ok(())
17772 }
17773 }
17774
17775 impl<'de> ::fidl_next::FromWire<crate::wire::OfferConfiguration<'de>> for OfferConfiguration {
17776 #[inline]
17777 fn from_wire(wire_: crate::wire::OfferConfiguration<'de>) -> Self {
17778 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
17779
17780 let source = wire_.table.get(1);
17781
17782 let source_name = wire_.table.get(2);
17783
17784 let target = wire_.table.get(3);
17785
17786 let target_name = wire_.table.get(4);
17787
17788 let availability = wire_.table.get(5);
17789
17790 let source_dictionary = wire_.table.get(6);
17791
17792 Self {
17793 source: source.map(|envelope| {
17794 ::fidl_next::FromWire::from_wire(unsafe {
17795 envelope.read_unchecked::<crate::wire::Ref<'de>>()
17796 })
17797 }),
17798
17799 source_name: source_name.map(|envelope| {
17800 ::fidl_next::FromWire::from_wire(unsafe {
17801 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
17802 })
17803 }),
17804
17805 target: target.map(|envelope| {
17806 ::fidl_next::FromWire::from_wire(unsafe {
17807 envelope.read_unchecked::<crate::wire::Ref<'de>>()
17808 })
17809 }),
17810
17811 target_name: target_name.map(|envelope| {
17812 ::fidl_next::FromWire::from_wire(unsafe {
17813 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
17814 })
17815 }),
17816
17817 availability: availability.map(|envelope| {
17818 ::fidl_next::FromWire::from_wire(unsafe {
17819 envelope.read_unchecked::<crate::wire::Availability>()
17820 })
17821 }),
17822
17823 source_dictionary: source_dictionary.map(|envelope| {
17824 ::fidl_next::FromWire::from_wire(unsafe {
17825 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
17826 })
17827 }),
17828 }
17829 }
17830 }
17831
17832 impl<'de> ::fidl_next::FromWireRef<crate::wire::OfferConfiguration<'de>> for OfferConfiguration {
17833 #[inline]
17834 fn from_wire_ref(wire: &crate::wire::OfferConfiguration<'de>) -> Self {
17835 Self {
17836 source: wire.table.get(1).map(|envelope| {
17837 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
17838 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
17839 })
17840 }),
17841
17842 source_name: wire.table.get(2).map(|envelope| {
17843 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
17844 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
17845 })
17846 }),
17847
17848 target: wire.table.get(3).map(|envelope| {
17849 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
17850 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
17851 })
17852 }),
17853
17854 target_name: wire.table.get(4).map(|envelope| {
17855 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
17856 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
17857 })
17858 }),
17859
17860 availability: wire.table.get(5).map(|envelope| {
17861 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
17862 envelope.deref_unchecked::<crate::wire::Availability>()
17863 })
17864 }),
17865
17866 source_dictionary: wire.table.get(6).map(|envelope| {
17867 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
17868 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
17869 })
17870 }),
17871 }
17872 }
17873 }
17874
17875 #[doc = " Declares a capability offered by a component to one of its children, which\n may have been offered by the component\'s containing realm, the component\n itself, or one of its other children.\n"]
17876 #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
17877 pub enum Offer {
17878 Service(crate::natural::OfferService),
17879
17880 Protocol(crate::natural::OfferProtocol),
17881
17882 Directory(crate::natural::OfferDirectory),
17883
17884 Storage(crate::natural::OfferStorage),
17885
17886 Runner(crate::natural::OfferRunner),
17887
17888 Resolver(crate::natural::OfferResolver),
17889
17890 EventStream(crate::natural::OfferEventStream),
17891
17892 Dictionary(crate::natural::OfferDictionary),
17893
17894 Config(crate::natural::OfferConfiguration),
17895
17896 UnknownOrdinal_(u64),
17897 }
17898
17899 impl Offer {
17900 pub fn is_unknown(&self) -> bool {
17901 #[allow(unreachable_patterns)]
17902 match self {
17903 Self::UnknownOrdinal_(_) => true,
17904 _ => false,
17905 }
17906 }
17907 }
17908
17909 unsafe impl<___E> ::fidl_next::Encode<crate::wire::Offer<'static>, ___E> for Offer
17910 where
17911 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
17912 ___E: ::fidl_next::Encoder,
17913 {
17914 #[inline]
17915 fn encode(
17916 self,
17917 encoder: &mut ___E,
17918 out: &mut ::core::mem::MaybeUninit<crate::wire::Offer<'static>>,
17919 _: (),
17920 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
17921 ::fidl_next::munge!(let crate::wire::Offer { raw, _phantom: _ } = out);
17922
17923 match self {
17924 Self::Service(value) => ::fidl_next::RawWireUnion::encode_as::<
17925 ___E,
17926 crate::wire::OfferService<'static>,
17927 >(value, 1, encoder, raw, ())?,
17928
17929 Self::Protocol(value) => ::fidl_next::RawWireUnion::encode_as::<
17930 ___E,
17931 crate::wire::OfferProtocol<'static>,
17932 >(value, 2, encoder, raw, ())?,
17933
17934 Self::Directory(value) => ::fidl_next::RawWireUnion::encode_as::<
17935 ___E,
17936 crate::wire::OfferDirectory<'static>,
17937 >(value, 3, encoder, raw, ())?,
17938
17939 Self::Storage(value) => ::fidl_next::RawWireUnion::encode_as::<
17940 ___E,
17941 crate::wire::OfferStorage<'static>,
17942 >(value, 4, encoder, raw, ())?,
17943
17944 Self::Runner(value) => ::fidl_next::RawWireUnion::encode_as::<
17945 ___E,
17946 crate::wire::OfferRunner<'static>,
17947 >(value, 5, encoder, raw, ())?,
17948
17949 Self::Resolver(value) => ::fidl_next::RawWireUnion::encode_as::<
17950 ___E,
17951 crate::wire::OfferResolver<'static>,
17952 >(value, 6, encoder, raw, ())?,
17953
17954 Self::EventStream(value) => ::fidl_next::RawWireUnion::encode_as::<
17955 ___E,
17956 crate::wire::OfferEventStream<'static>,
17957 >(value, 8, encoder, raw, ())?,
17958
17959 Self::Dictionary(value) => ::fidl_next::RawWireUnion::encode_as::<
17960 ___E,
17961 crate::wire::OfferDictionary<'static>,
17962 >(value, 9, encoder, raw, ())?,
17963
17964 Self::Config(value) => ::fidl_next::RawWireUnion::encode_as::<
17965 ___E,
17966 crate::wire::OfferConfiguration<'static>,
17967 >(value, 10, encoder, raw, ())?,
17968
17969 Self::UnknownOrdinal_(ordinal) => {
17970 return Err(::fidl_next::EncodeError::UnknownUnionOrdinal(ordinal as usize));
17971 }
17972 }
17973
17974 Ok(())
17975 }
17976 }
17977
17978 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::Offer<'static>, ___E> for &'a Offer
17979 where
17980 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
17981 ___E: ::fidl_next::Encoder,
17982 {
17983 #[inline]
17984 fn encode(
17985 self,
17986 encoder: &mut ___E,
17987 out: &mut ::core::mem::MaybeUninit<crate::wire::Offer<'static>>,
17988 _: (),
17989 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
17990 ::fidl_next::munge!(let crate::wire::Offer { raw, _phantom: _ } = out);
17991
17992 match self {
17993 Offer::Service(value) => ::fidl_next::RawWireUnion::encode_as::<
17994 ___E,
17995 crate::wire::OfferService<'static>,
17996 >(value, 1, encoder, raw, ())?,
17997
17998 Offer::Protocol(value) => ::fidl_next::RawWireUnion::encode_as::<
17999 ___E,
18000 crate::wire::OfferProtocol<'static>,
18001 >(value, 2, encoder, raw, ())?,
18002
18003 Offer::Directory(value) => ::fidl_next::RawWireUnion::encode_as::<
18004 ___E,
18005 crate::wire::OfferDirectory<'static>,
18006 >(value, 3, encoder, raw, ())?,
18007
18008 Offer::Storage(value) => ::fidl_next::RawWireUnion::encode_as::<
18009 ___E,
18010 crate::wire::OfferStorage<'static>,
18011 >(value, 4, encoder, raw, ())?,
18012
18013 Offer::Runner(value) => ::fidl_next::RawWireUnion::encode_as::<
18014 ___E,
18015 crate::wire::OfferRunner<'static>,
18016 >(value, 5, encoder, raw, ())?,
18017
18018 Offer::Resolver(value) => ::fidl_next::RawWireUnion::encode_as::<
18019 ___E,
18020 crate::wire::OfferResolver<'static>,
18021 >(value, 6, encoder, raw, ())?,
18022
18023 Offer::EventStream(value) => ::fidl_next::RawWireUnion::encode_as::<
18024 ___E,
18025 crate::wire::OfferEventStream<'static>,
18026 >(value, 8, encoder, raw, ())?,
18027
18028 Offer::Dictionary(value) => ::fidl_next::RawWireUnion::encode_as::<
18029 ___E,
18030 crate::wire::OfferDictionary<'static>,
18031 >(value, 9, encoder, raw, ())?,
18032
18033 Offer::Config(value) => ::fidl_next::RawWireUnion::encode_as::<
18034 ___E,
18035 crate::wire::OfferConfiguration<'static>,
18036 >(value, 10, encoder, raw, ())?,
18037
18038 Offer::UnknownOrdinal_(ordinal) => {
18039 return Err(::fidl_next::EncodeError::UnknownUnionOrdinal(*ordinal as usize));
18040 }
18041 }
18042
18043 Ok(())
18044 }
18045 }
18046
18047 unsafe impl<___E> ::fidl_next::EncodeOption<crate::wire_optional::Offer<'static>, ___E> for Offer
18048 where
18049 ___E: ?Sized,
18050 Offer: ::fidl_next::Encode<crate::wire::Offer<'static>, ___E>,
18051 {
18052 #[inline]
18053 fn encode_option(
18054 this: ::core::option::Option<Self>,
18055 encoder: &mut ___E,
18056 out: &mut ::core::mem::MaybeUninit<crate::wire_optional::Offer<'static>>,
18057 _: (),
18058 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
18059 ::fidl_next::munge!(let crate::wire_optional::Offer { raw, _phantom: _ } = &mut *out);
18060
18061 if let Some(inner) = this {
18062 let value_out = unsafe { &mut *out.as_mut_ptr().cast() };
18063 ::fidl_next::Encode::encode(inner, encoder, value_out, ())?;
18064 } else {
18065 ::fidl_next::RawWireUnion::encode_absent(raw);
18066 }
18067
18068 Ok(())
18069 }
18070 }
18071
18072 unsafe impl<'a, ___E> ::fidl_next::EncodeOption<crate::wire_optional::Offer<'static>, ___E>
18073 for &'a Offer
18074 where
18075 ___E: ?Sized,
18076 &'a Offer: ::fidl_next::Encode<crate::wire::Offer<'static>, ___E>,
18077 {
18078 #[inline]
18079 fn encode_option(
18080 this: ::core::option::Option<Self>,
18081 encoder: &mut ___E,
18082 out: &mut ::core::mem::MaybeUninit<crate::wire_optional::Offer<'static>>,
18083 _: (),
18084 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
18085 ::fidl_next::munge!(let crate::wire_optional::Offer { raw, _phantom: _ } = &mut *out);
18086
18087 if let Some(inner) = this {
18088 let value_out = unsafe { &mut *out.as_mut_ptr().cast() };
18089 ::fidl_next::Encode::encode(inner, encoder, value_out, ())?;
18090 } else {
18091 ::fidl_next::RawWireUnion::encode_absent(raw);
18092 }
18093
18094 Ok(())
18095 }
18096 }
18097
18098 impl<'de> ::fidl_next::FromWire<crate::wire::Offer<'de>> for Offer {
18099 #[inline]
18100 fn from_wire(wire: crate::wire::Offer<'de>) -> Self {
18101 let wire = ::core::mem::ManuallyDrop::new(wire);
18102 match wire.raw.ordinal() {
18103 1 => Self::Service(::fidl_next::FromWire::from_wire(unsafe {
18104 wire.raw.get().read_unchecked::<crate::wire::OfferService<'de>>()
18105 })),
18106
18107 2 => Self::Protocol(::fidl_next::FromWire::from_wire(unsafe {
18108 wire.raw.get().read_unchecked::<crate::wire::OfferProtocol<'de>>()
18109 })),
18110
18111 3 => Self::Directory(::fidl_next::FromWire::from_wire(unsafe {
18112 wire.raw.get().read_unchecked::<crate::wire::OfferDirectory<'de>>()
18113 })),
18114
18115 4 => Self::Storage(::fidl_next::FromWire::from_wire(unsafe {
18116 wire.raw.get().read_unchecked::<crate::wire::OfferStorage<'de>>()
18117 })),
18118
18119 5 => Self::Runner(::fidl_next::FromWire::from_wire(unsafe {
18120 wire.raw.get().read_unchecked::<crate::wire::OfferRunner<'de>>()
18121 })),
18122
18123 6 => Self::Resolver(::fidl_next::FromWire::from_wire(unsafe {
18124 wire.raw.get().read_unchecked::<crate::wire::OfferResolver<'de>>()
18125 })),
18126
18127 8 => Self::EventStream(::fidl_next::FromWire::from_wire(unsafe {
18128 wire.raw.get().read_unchecked::<crate::wire::OfferEventStream<'de>>()
18129 })),
18130
18131 9 => Self::Dictionary(::fidl_next::FromWire::from_wire(unsafe {
18132 wire.raw.get().read_unchecked::<crate::wire::OfferDictionary<'de>>()
18133 })),
18134
18135 10 => Self::Config(::fidl_next::FromWire::from_wire(unsafe {
18136 wire.raw.get().read_unchecked::<crate::wire::OfferConfiguration<'de>>()
18137 })),
18138
18139 ord => return Self::UnknownOrdinal_(ord as u64),
18140 }
18141 }
18142 }
18143
18144 impl<'de> ::fidl_next::FromWireRef<crate::wire::Offer<'de>> for Offer {
18145 #[inline]
18146 fn from_wire_ref(wire: &crate::wire::Offer<'de>) -> Self {
18147 match wire.raw.ordinal() {
18148 1 => Self::Service(::fidl_next::FromWireRef::from_wire_ref(unsafe {
18149 wire.raw.get().deref_unchecked::<crate::wire::OfferService<'de>>()
18150 })),
18151
18152 2 => Self::Protocol(::fidl_next::FromWireRef::from_wire_ref(unsafe {
18153 wire.raw.get().deref_unchecked::<crate::wire::OfferProtocol<'de>>()
18154 })),
18155
18156 3 => Self::Directory(::fidl_next::FromWireRef::from_wire_ref(unsafe {
18157 wire.raw.get().deref_unchecked::<crate::wire::OfferDirectory<'de>>()
18158 })),
18159
18160 4 => Self::Storage(::fidl_next::FromWireRef::from_wire_ref(unsafe {
18161 wire.raw.get().deref_unchecked::<crate::wire::OfferStorage<'de>>()
18162 })),
18163
18164 5 => Self::Runner(::fidl_next::FromWireRef::from_wire_ref(unsafe {
18165 wire.raw.get().deref_unchecked::<crate::wire::OfferRunner<'de>>()
18166 })),
18167
18168 6 => Self::Resolver(::fidl_next::FromWireRef::from_wire_ref(unsafe {
18169 wire.raw.get().deref_unchecked::<crate::wire::OfferResolver<'de>>()
18170 })),
18171
18172 8 => Self::EventStream(::fidl_next::FromWireRef::from_wire_ref(unsafe {
18173 wire.raw.get().deref_unchecked::<crate::wire::OfferEventStream<'de>>()
18174 })),
18175
18176 9 => Self::Dictionary(::fidl_next::FromWireRef::from_wire_ref(unsafe {
18177 wire.raw.get().deref_unchecked::<crate::wire::OfferDictionary<'de>>()
18178 })),
18179
18180 10 => Self::Config(::fidl_next::FromWireRef::from_wire_ref(unsafe {
18181 wire.raw.get().deref_unchecked::<crate::wire::OfferConfiguration<'de>>()
18182 })),
18183
18184 ord => return Self::UnknownOrdinal_(ord as u64),
18185 }
18186 }
18187 }
18188
18189 impl<'de> ::fidl_next::FromWireOption<crate::wire_optional::Offer<'de>> for Offer {
18190 #[inline]
18191 fn from_wire_option(
18192 wire: crate::wire_optional::Offer<'de>,
18193 ) -> ::core::option::Option<Self> {
18194 if let Some(inner) = wire.into_option() {
18195 Some(::fidl_next::FromWire::from_wire(inner))
18196 } else {
18197 None
18198 }
18199 }
18200 }
18201
18202 impl<'de> ::fidl_next::FromWireOption<crate::wire_optional::Offer<'de>> for Box<Offer> {
18203 #[inline]
18204 fn from_wire_option(
18205 wire: crate::wire_optional::Offer<'de>,
18206 ) -> ::core::option::Option<Self> {
18207 <
18208 Offer as ::fidl_next::FromWireOption<crate::wire_optional::Offer<'de>>
18209 >::from_wire_option(wire).map(Box::new)
18210 }
18211 }
18212
18213 impl<'de> ::fidl_next::FromWireOptionRef<crate::wire_optional::Offer<'de>> for Box<Offer> {
18214 #[inline]
18215 fn from_wire_option_ref(
18216 wire: &crate::wire_optional::Offer<'de>,
18217 ) -> ::core::option::Option<Self> {
18218 if let Some(inner) = wire.as_ref() {
18219 Some(Box::new(::fidl_next::FromWireRef::from_wire_ref(inner)))
18220 } else {
18221 None
18222 }
18223 }
18224 }
18225
18226 #[doc = " A repository of the runners available in an environment.\n"]
18227 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
18228 pub struct RunnerRegistration {
18229 pub source_name: ::core::option::Option<::std::string::String>,
18230
18231 pub source: ::core::option::Option<crate::natural::Ref>,
18232
18233 pub target_name: ::core::option::Option<::std::string::String>,
18234 }
18235
18236 impl RunnerRegistration {
18237 fn __max_ordinal(&self) -> usize {
18238 if self.target_name.is_some() {
18239 return 3;
18240 }
18241
18242 if self.source.is_some() {
18243 return 2;
18244 }
18245
18246 if self.source_name.is_some() {
18247 return 1;
18248 }
18249
18250 0
18251 }
18252 }
18253
18254 unsafe impl<___E> ::fidl_next::Encode<crate::wire::RunnerRegistration<'static>, ___E>
18255 for RunnerRegistration
18256 where
18257 ___E: ::fidl_next::Encoder + ?Sized,
18258 {
18259 #[inline]
18260 fn encode(
18261 mut self,
18262 encoder: &mut ___E,
18263 out: &mut ::core::mem::MaybeUninit<crate::wire::RunnerRegistration<'static>>,
18264 _: (),
18265 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
18266 ::fidl_next::munge!(let crate::wire::RunnerRegistration { table } = out);
18267
18268 let max_ord = self.__max_ordinal();
18269
18270 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
18271 ::fidl_next::Wire::zero_padding(&mut out);
18272
18273 let mut preallocated =
18274 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
18275
18276 for i in 1..=max_ord {
18277 match i {
18278 3 => {
18279 if let Some(value) = self.target_name.take() {
18280 ::fidl_next::WireEnvelope::encode_value::<
18281 ::fidl_next::WireString<'static>,
18282 ___E,
18283 >(
18284 value, preallocated.encoder, &mut out, 100
18285 )?;
18286 } else {
18287 ::fidl_next::WireEnvelope::encode_zero(&mut out)
18288 }
18289 }
18290
18291 2 => {
18292 if let Some(value) = self.source.take() {
18293 ::fidl_next::WireEnvelope::encode_value::<
18294 crate::wire::Ref<'static>,
18295 ___E,
18296 >(
18297 value, preallocated.encoder, &mut out, ()
18298 )?;
18299 } else {
18300 ::fidl_next::WireEnvelope::encode_zero(&mut out)
18301 }
18302 }
18303
18304 1 => {
18305 if let Some(value) = self.source_name.take() {
18306 ::fidl_next::WireEnvelope::encode_value::<
18307 ::fidl_next::WireString<'static>,
18308 ___E,
18309 >(
18310 value, preallocated.encoder, &mut out, 100
18311 )?;
18312 } else {
18313 ::fidl_next::WireEnvelope::encode_zero(&mut out)
18314 }
18315 }
18316
18317 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
18318 }
18319 unsafe {
18320 preallocated.write_next(out.assume_init_ref());
18321 }
18322 }
18323
18324 ::fidl_next::WireTable::encode_len(table, max_ord);
18325
18326 Ok(())
18327 }
18328 }
18329
18330 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::RunnerRegistration<'static>, ___E>
18331 for &'a RunnerRegistration
18332 where
18333 ___E: ::fidl_next::Encoder + ?Sized,
18334 {
18335 #[inline]
18336 fn encode(
18337 self,
18338 encoder: &mut ___E,
18339 out: &mut ::core::mem::MaybeUninit<crate::wire::RunnerRegistration<'static>>,
18340 _: (),
18341 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
18342 ::fidl_next::munge!(let crate::wire::RunnerRegistration { table } = out);
18343
18344 let max_ord = self.__max_ordinal();
18345
18346 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
18347 ::fidl_next::Wire::zero_padding(&mut out);
18348
18349 let mut preallocated =
18350 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
18351
18352 for i in 1..=max_ord {
18353 match i {
18354 3 => {
18355 if let Some(value) = &self.target_name {
18356 ::fidl_next::WireEnvelope::encode_value::<
18357 ::fidl_next::WireString<'static>,
18358 ___E,
18359 >(
18360 value, preallocated.encoder, &mut out, 100
18361 )?;
18362 } else {
18363 ::fidl_next::WireEnvelope::encode_zero(&mut out)
18364 }
18365 }
18366
18367 2 => {
18368 if let Some(value) = &self.source {
18369 ::fidl_next::WireEnvelope::encode_value::<
18370 crate::wire::Ref<'static>,
18371 ___E,
18372 >(
18373 value, preallocated.encoder, &mut out, ()
18374 )?;
18375 } else {
18376 ::fidl_next::WireEnvelope::encode_zero(&mut out)
18377 }
18378 }
18379
18380 1 => {
18381 if let Some(value) = &self.source_name {
18382 ::fidl_next::WireEnvelope::encode_value::<
18383 ::fidl_next::WireString<'static>,
18384 ___E,
18385 >(
18386 value, preallocated.encoder, &mut out, 100
18387 )?;
18388 } else {
18389 ::fidl_next::WireEnvelope::encode_zero(&mut out)
18390 }
18391 }
18392
18393 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
18394 }
18395 unsafe {
18396 preallocated.write_next(out.assume_init_ref());
18397 }
18398 }
18399
18400 ::fidl_next::WireTable::encode_len(table, max_ord);
18401
18402 Ok(())
18403 }
18404 }
18405
18406 impl<'de> ::fidl_next::FromWire<crate::wire::RunnerRegistration<'de>> for RunnerRegistration {
18407 #[inline]
18408 fn from_wire(wire_: crate::wire::RunnerRegistration<'de>) -> Self {
18409 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
18410
18411 let source_name = wire_.table.get(1);
18412
18413 let source = wire_.table.get(2);
18414
18415 let target_name = wire_.table.get(3);
18416
18417 Self {
18418 source_name: source_name.map(|envelope| {
18419 ::fidl_next::FromWire::from_wire(unsafe {
18420 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
18421 })
18422 }),
18423
18424 source: source.map(|envelope| {
18425 ::fidl_next::FromWire::from_wire(unsafe {
18426 envelope.read_unchecked::<crate::wire::Ref<'de>>()
18427 })
18428 }),
18429
18430 target_name: target_name.map(|envelope| {
18431 ::fidl_next::FromWire::from_wire(unsafe {
18432 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
18433 })
18434 }),
18435 }
18436 }
18437 }
18438
18439 impl<'de> ::fidl_next::FromWireRef<crate::wire::RunnerRegistration<'de>> for RunnerRegistration {
18440 #[inline]
18441 fn from_wire_ref(wire: &crate::wire::RunnerRegistration<'de>) -> Self {
18442 Self {
18443 source_name: wire.table.get(1).map(|envelope| {
18444 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
18445 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
18446 })
18447 }),
18448
18449 source: wire.table.get(2).map(|envelope| {
18450 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
18451 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
18452 })
18453 }),
18454
18455 target_name: wire.table.get(3).map(|envelope| {
18456 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
18457 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
18458 })
18459 }),
18460 }
18461 }
18462 }
18463
18464 #[doc = " A mapping of URL scheme to resolver name.\n"]
18465 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
18466 pub struct ResolverRegistration {
18467 pub resolver: ::core::option::Option<::std::string::String>,
18468
18469 pub source: ::core::option::Option<crate::natural::Ref>,
18470
18471 pub scheme: ::core::option::Option<::std::string::String>,
18472 }
18473
18474 impl ResolverRegistration {
18475 fn __max_ordinal(&self) -> usize {
18476 if self.scheme.is_some() {
18477 return 3;
18478 }
18479
18480 if self.source.is_some() {
18481 return 2;
18482 }
18483
18484 if self.resolver.is_some() {
18485 return 1;
18486 }
18487
18488 0
18489 }
18490 }
18491
18492 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ResolverRegistration<'static>, ___E>
18493 for ResolverRegistration
18494 where
18495 ___E: ::fidl_next::Encoder + ?Sized,
18496 {
18497 #[inline]
18498 fn encode(
18499 mut self,
18500 encoder: &mut ___E,
18501 out: &mut ::core::mem::MaybeUninit<crate::wire::ResolverRegistration<'static>>,
18502 _: (),
18503 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
18504 ::fidl_next::munge!(let crate::wire::ResolverRegistration { table } = out);
18505
18506 let max_ord = self.__max_ordinal();
18507
18508 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
18509 ::fidl_next::Wire::zero_padding(&mut out);
18510
18511 let mut preallocated =
18512 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
18513
18514 for i in 1..=max_ord {
18515 match i {
18516 3 => {
18517 if let Some(value) = self.scheme.take() {
18518 ::fidl_next::WireEnvelope::encode_value::<
18519 ::fidl_next::WireString<'static>,
18520 ___E,
18521 >(
18522 value, preallocated.encoder, &mut out, 100
18523 )?;
18524 } else {
18525 ::fidl_next::WireEnvelope::encode_zero(&mut out)
18526 }
18527 }
18528
18529 2 => {
18530 if let Some(value) = self.source.take() {
18531 ::fidl_next::WireEnvelope::encode_value::<
18532 crate::wire::Ref<'static>,
18533 ___E,
18534 >(
18535 value, preallocated.encoder, &mut out, ()
18536 )?;
18537 } else {
18538 ::fidl_next::WireEnvelope::encode_zero(&mut out)
18539 }
18540 }
18541
18542 1 => {
18543 if let Some(value) = self.resolver.take() {
18544 ::fidl_next::WireEnvelope::encode_value::<
18545 ::fidl_next::WireString<'static>,
18546 ___E,
18547 >(
18548 value, preallocated.encoder, &mut out, 100
18549 )?;
18550 } else {
18551 ::fidl_next::WireEnvelope::encode_zero(&mut out)
18552 }
18553 }
18554
18555 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
18556 }
18557 unsafe {
18558 preallocated.write_next(out.assume_init_ref());
18559 }
18560 }
18561
18562 ::fidl_next::WireTable::encode_len(table, max_ord);
18563
18564 Ok(())
18565 }
18566 }
18567
18568 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ResolverRegistration<'static>, ___E>
18569 for &'a ResolverRegistration
18570 where
18571 ___E: ::fidl_next::Encoder + ?Sized,
18572 {
18573 #[inline]
18574 fn encode(
18575 self,
18576 encoder: &mut ___E,
18577 out: &mut ::core::mem::MaybeUninit<crate::wire::ResolverRegistration<'static>>,
18578 _: (),
18579 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
18580 ::fidl_next::munge!(let crate::wire::ResolverRegistration { table } = out);
18581
18582 let max_ord = self.__max_ordinal();
18583
18584 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
18585 ::fidl_next::Wire::zero_padding(&mut out);
18586
18587 let mut preallocated =
18588 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
18589
18590 for i in 1..=max_ord {
18591 match i {
18592 3 => {
18593 if let Some(value) = &self.scheme {
18594 ::fidl_next::WireEnvelope::encode_value::<
18595 ::fidl_next::WireString<'static>,
18596 ___E,
18597 >(
18598 value, preallocated.encoder, &mut out, 100
18599 )?;
18600 } else {
18601 ::fidl_next::WireEnvelope::encode_zero(&mut out)
18602 }
18603 }
18604
18605 2 => {
18606 if let Some(value) = &self.source {
18607 ::fidl_next::WireEnvelope::encode_value::<
18608 crate::wire::Ref<'static>,
18609 ___E,
18610 >(
18611 value, preallocated.encoder, &mut out, ()
18612 )?;
18613 } else {
18614 ::fidl_next::WireEnvelope::encode_zero(&mut out)
18615 }
18616 }
18617
18618 1 => {
18619 if let Some(value) = &self.resolver {
18620 ::fidl_next::WireEnvelope::encode_value::<
18621 ::fidl_next::WireString<'static>,
18622 ___E,
18623 >(
18624 value, preallocated.encoder, &mut out, 100
18625 )?;
18626 } else {
18627 ::fidl_next::WireEnvelope::encode_zero(&mut out)
18628 }
18629 }
18630
18631 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
18632 }
18633 unsafe {
18634 preallocated.write_next(out.assume_init_ref());
18635 }
18636 }
18637
18638 ::fidl_next::WireTable::encode_len(table, max_ord);
18639
18640 Ok(())
18641 }
18642 }
18643
18644 impl<'de> ::fidl_next::FromWire<crate::wire::ResolverRegistration<'de>> for ResolverRegistration {
18645 #[inline]
18646 fn from_wire(wire_: crate::wire::ResolverRegistration<'de>) -> Self {
18647 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
18648
18649 let resolver = wire_.table.get(1);
18650
18651 let source = wire_.table.get(2);
18652
18653 let scheme = wire_.table.get(3);
18654
18655 Self {
18656 resolver: resolver.map(|envelope| {
18657 ::fidl_next::FromWire::from_wire(unsafe {
18658 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
18659 })
18660 }),
18661
18662 source: source.map(|envelope| {
18663 ::fidl_next::FromWire::from_wire(unsafe {
18664 envelope.read_unchecked::<crate::wire::Ref<'de>>()
18665 })
18666 }),
18667
18668 scheme: scheme.map(|envelope| {
18669 ::fidl_next::FromWire::from_wire(unsafe {
18670 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
18671 })
18672 }),
18673 }
18674 }
18675 }
18676
18677 impl<'de> ::fidl_next::FromWireRef<crate::wire::ResolverRegistration<'de>>
18678 for ResolverRegistration
18679 {
18680 #[inline]
18681 fn from_wire_ref(wire: &crate::wire::ResolverRegistration<'de>) -> Self {
18682 Self {
18683 resolver: wire.table.get(1).map(|envelope| {
18684 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
18685 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
18686 })
18687 }),
18688
18689 source: wire.table.get(2).map(|envelope| {
18690 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
18691 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
18692 })
18693 }),
18694
18695 scheme: wire.table.get(3).map(|envelope| {
18696 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
18697 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
18698 })
18699 }),
18700 }
18701 }
18702 }
18703
18704 #[doc = " Registers a protocol in the environment as a debug capability. This makes\n it available to any component in the environment that uses it with\n `source == debug`.\n\n To learn more about protocols, see:\n https://fuchsia.dev/fuchsia-src/glossary#protocol\n"]
18705 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
18706 pub struct DebugProtocolRegistration {
18707 pub source: ::core::option::Option<crate::natural::Ref>,
18708
18709 pub source_name: ::core::option::Option<::std::string::String>,
18710
18711 pub target_name: ::core::option::Option<::std::string::String>,
18712 }
18713
18714 impl DebugProtocolRegistration {
18715 fn __max_ordinal(&self) -> usize {
18716 if self.target_name.is_some() {
18717 return 3;
18718 }
18719
18720 if self.source_name.is_some() {
18721 return 2;
18722 }
18723
18724 if self.source.is_some() {
18725 return 1;
18726 }
18727
18728 0
18729 }
18730 }
18731
18732 unsafe impl<___E> ::fidl_next::Encode<crate::wire::DebugProtocolRegistration<'static>, ___E>
18733 for DebugProtocolRegistration
18734 where
18735 ___E: ::fidl_next::Encoder + ?Sized,
18736 {
18737 #[inline]
18738 fn encode(
18739 mut self,
18740 encoder: &mut ___E,
18741 out: &mut ::core::mem::MaybeUninit<crate::wire::DebugProtocolRegistration<'static>>,
18742 _: (),
18743 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
18744 ::fidl_next::munge!(let crate::wire::DebugProtocolRegistration { table } = out);
18745
18746 let max_ord = self.__max_ordinal();
18747
18748 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
18749 ::fidl_next::Wire::zero_padding(&mut out);
18750
18751 let mut preallocated =
18752 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
18753
18754 for i in 1..=max_ord {
18755 match i {
18756 3 => {
18757 if let Some(value) = self.target_name.take() {
18758 ::fidl_next::WireEnvelope::encode_value::<
18759 ::fidl_next::WireString<'static>,
18760 ___E,
18761 >(
18762 value, preallocated.encoder, &mut out, 100
18763 )?;
18764 } else {
18765 ::fidl_next::WireEnvelope::encode_zero(&mut out)
18766 }
18767 }
18768
18769 2 => {
18770 if let Some(value) = self.source_name.take() {
18771 ::fidl_next::WireEnvelope::encode_value::<
18772 ::fidl_next::WireString<'static>,
18773 ___E,
18774 >(
18775 value, preallocated.encoder, &mut out, 100
18776 )?;
18777 } else {
18778 ::fidl_next::WireEnvelope::encode_zero(&mut out)
18779 }
18780 }
18781
18782 1 => {
18783 if let Some(value) = self.source.take() {
18784 ::fidl_next::WireEnvelope::encode_value::<
18785 crate::wire::Ref<'static>,
18786 ___E,
18787 >(
18788 value, preallocated.encoder, &mut out, ()
18789 )?;
18790 } else {
18791 ::fidl_next::WireEnvelope::encode_zero(&mut out)
18792 }
18793 }
18794
18795 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
18796 }
18797 unsafe {
18798 preallocated.write_next(out.assume_init_ref());
18799 }
18800 }
18801
18802 ::fidl_next::WireTable::encode_len(table, max_ord);
18803
18804 Ok(())
18805 }
18806 }
18807
18808 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::DebugProtocolRegistration<'static>, ___E>
18809 for &'a DebugProtocolRegistration
18810 where
18811 ___E: ::fidl_next::Encoder + ?Sized,
18812 {
18813 #[inline]
18814 fn encode(
18815 self,
18816 encoder: &mut ___E,
18817 out: &mut ::core::mem::MaybeUninit<crate::wire::DebugProtocolRegistration<'static>>,
18818 _: (),
18819 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
18820 ::fidl_next::munge!(let crate::wire::DebugProtocolRegistration { table } = out);
18821
18822 let max_ord = self.__max_ordinal();
18823
18824 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
18825 ::fidl_next::Wire::zero_padding(&mut out);
18826
18827 let mut preallocated =
18828 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
18829
18830 for i in 1..=max_ord {
18831 match i {
18832 3 => {
18833 if let Some(value) = &self.target_name {
18834 ::fidl_next::WireEnvelope::encode_value::<
18835 ::fidl_next::WireString<'static>,
18836 ___E,
18837 >(
18838 value, preallocated.encoder, &mut out, 100
18839 )?;
18840 } else {
18841 ::fidl_next::WireEnvelope::encode_zero(&mut out)
18842 }
18843 }
18844
18845 2 => {
18846 if let Some(value) = &self.source_name {
18847 ::fidl_next::WireEnvelope::encode_value::<
18848 ::fidl_next::WireString<'static>,
18849 ___E,
18850 >(
18851 value, preallocated.encoder, &mut out, 100
18852 )?;
18853 } else {
18854 ::fidl_next::WireEnvelope::encode_zero(&mut out)
18855 }
18856 }
18857
18858 1 => {
18859 if let Some(value) = &self.source {
18860 ::fidl_next::WireEnvelope::encode_value::<
18861 crate::wire::Ref<'static>,
18862 ___E,
18863 >(
18864 value, preallocated.encoder, &mut out, ()
18865 )?;
18866 } else {
18867 ::fidl_next::WireEnvelope::encode_zero(&mut out)
18868 }
18869 }
18870
18871 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
18872 }
18873 unsafe {
18874 preallocated.write_next(out.assume_init_ref());
18875 }
18876 }
18877
18878 ::fidl_next::WireTable::encode_len(table, max_ord);
18879
18880 Ok(())
18881 }
18882 }
18883
18884 impl<'de> ::fidl_next::FromWire<crate::wire::DebugProtocolRegistration<'de>>
18885 for DebugProtocolRegistration
18886 {
18887 #[inline]
18888 fn from_wire(wire_: crate::wire::DebugProtocolRegistration<'de>) -> Self {
18889 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
18890
18891 let source = wire_.table.get(1);
18892
18893 let source_name = wire_.table.get(2);
18894
18895 let target_name = wire_.table.get(3);
18896
18897 Self {
18898 source: source.map(|envelope| {
18899 ::fidl_next::FromWire::from_wire(unsafe {
18900 envelope.read_unchecked::<crate::wire::Ref<'de>>()
18901 })
18902 }),
18903
18904 source_name: source_name.map(|envelope| {
18905 ::fidl_next::FromWire::from_wire(unsafe {
18906 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
18907 })
18908 }),
18909
18910 target_name: target_name.map(|envelope| {
18911 ::fidl_next::FromWire::from_wire(unsafe {
18912 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
18913 })
18914 }),
18915 }
18916 }
18917 }
18918
18919 impl<'de> ::fidl_next::FromWireRef<crate::wire::DebugProtocolRegistration<'de>>
18920 for DebugProtocolRegistration
18921 {
18922 #[inline]
18923 fn from_wire_ref(wire: &crate::wire::DebugProtocolRegistration<'de>) -> Self {
18924 Self {
18925 source: wire.table.get(1).map(|envelope| {
18926 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
18927 envelope.deref_unchecked::<crate::wire::Ref<'de>>()
18928 })
18929 }),
18930
18931 source_name: wire.table.get(2).map(|envelope| {
18932 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
18933 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
18934 })
18935 }),
18936
18937 target_name: wire.table.get(3).map(|envelope| {
18938 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
18939 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
18940 })
18941 }),
18942 }
18943 }
18944 }
18945
18946 #[doc = " Declares a capability registered in the debug section of an environment.\n"]
18947 #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
18948 pub enum DebugRegistration {
18949 Protocol(crate::natural::DebugProtocolRegistration),
18950
18951 UnknownOrdinal_(u64),
18952 }
18953
18954 impl DebugRegistration {
18955 pub fn is_unknown(&self) -> bool {
18956 #[allow(unreachable_patterns)]
18957 match self {
18958 Self::UnknownOrdinal_(_) => true,
18959 _ => false,
18960 }
18961 }
18962 }
18963
18964 unsafe impl<___E> ::fidl_next::Encode<crate::wire::DebugRegistration<'static>, ___E>
18965 for DebugRegistration
18966 where
18967 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
18968 ___E: ::fidl_next::Encoder,
18969 {
18970 #[inline]
18971 fn encode(
18972 self,
18973 encoder: &mut ___E,
18974 out: &mut ::core::mem::MaybeUninit<crate::wire::DebugRegistration<'static>>,
18975 _: (),
18976 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
18977 ::fidl_next::munge!(let crate::wire::DebugRegistration { raw, _phantom: _ } = out);
18978
18979 match self {
18980 Self::Protocol(value) => ::fidl_next::RawWireUnion::encode_as::<
18981 ___E,
18982 crate::wire::DebugProtocolRegistration<'static>,
18983 >(value, 1, encoder, raw, ())?,
18984
18985 Self::UnknownOrdinal_(ordinal) => {
18986 return Err(::fidl_next::EncodeError::UnknownUnionOrdinal(ordinal as usize));
18987 }
18988 }
18989
18990 Ok(())
18991 }
18992 }
18993
18994 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::DebugRegistration<'static>, ___E>
18995 for &'a DebugRegistration
18996 where
18997 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
18998 ___E: ::fidl_next::Encoder,
18999 {
19000 #[inline]
19001 fn encode(
19002 self,
19003 encoder: &mut ___E,
19004 out: &mut ::core::mem::MaybeUninit<crate::wire::DebugRegistration<'static>>,
19005 _: (),
19006 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
19007 ::fidl_next::munge!(let crate::wire::DebugRegistration { raw, _phantom: _ } = out);
19008
19009 match self {
19010 DebugRegistration::Protocol(value) => ::fidl_next::RawWireUnion::encode_as::<
19011 ___E,
19012 crate::wire::DebugProtocolRegistration<'static>,
19013 >(value, 1, encoder, raw, ())?,
19014
19015 DebugRegistration::UnknownOrdinal_(ordinal) => {
19016 return Err(::fidl_next::EncodeError::UnknownUnionOrdinal(*ordinal as usize));
19017 }
19018 }
19019
19020 Ok(())
19021 }
19022 }
19023
19024 unsafe impl<___E>
19025 ::fidl_next::EncodeOption<crate::wire_optional::DebugRegistration<'static>, ___E>
19026 for DebugRegistration
19027 where
19028 ___E: ?Sized,
19029 DebugRegistration: ::fidl_next::Encode<crate::wire::DebugRegistration<'static>, ___E>,
19030 {
19031 #[inline]
19032 fn encode_option(
19033 this: ::core::option::Option<Self>,
19034 encoder: &mut ___E,
19035 out: &mut ::core::mem::MaybeUninit<crate::wire_optional::DebugRegistration<'static>>,
19036 _: (),
19037 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
19038 ::fidl_next::munge!(let crate::wire_optional::DebugRegistration { raw, _phantom: _ } = &mut *out);
19039
19040 if let Some(inner) = this {
19041 let value_out = unsafe { &mut *out.as_mut_ptr().cast() };
19042 ::fidl_next::Encode::encode(inner, encoder, value_out, ())?;
19043 } else {
19044 ::fidl_next::RawWireUnion::encode_absent(raw);
19045 }
19046
19047 Ok(())
19048 }
19049 }
19050
19051 unsafe impl<'a, ___E>
19052 ::fidl_next::EncodeOption<crate::wire_optional::DebugRegistration<'static>, ___E>
19053 for &'a DebugRegistration
19054 where
19055 ___E: ?Sized,
19056 &'a DebugRegistration: ::fidl_next::Encode<crate::wire::DebugRegistration<'static>, ___E>,
19057 {
19058 #[inline]
19059 fn encode_option(
19060 this: ::core::option::Option<Self>,
19061 encoder: &mut ___E,
19062 out: &mut ::core::mem::MaybeUninit<crate::wire_optional::DebugRegistration<'static>>,
19063 _: (),
19064 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
19065 ::fidl_next::munge!(let crate::wire_optional::DebugRegistration { raw, _phantom: _ } = &mut *out);
19066
19067 if let Some(inner) = this {
19068 let value_out = unsafe { &mut *out.as_mut_ptr().cast() };
19069 ::fidl_next::Encode::encode(inner, encoder, value_out, ())?;
19070 } else {
19071 ::fidl_next::RawWireUnion::encode_absent(raw);
19072 }
19073
19074 Ok(())
19075 }
19076 }
19077
19078 impl<'de> ::fidl_next::FromWire<crate::wire::DebugRegistration<'de>> for DebugRegistration {
19079 #[inline]
19080 fn from_wire(wire: crate::wire::DebugRegistration<'de>) -> Self {
19081 let wire = ::core::mem::ManuallyDrop::new(wire);
19082 match wire.raw.ordinal() {
19083 1 => Self::Protocol(::fidl_next::FromWire::from_wire(unsafe {
19084 wire.raw.get().read_unchecked::<crate::wire::DebugProtocolRegistration<'de>>()
19085 })),
19086
19087 ord => return Self::UnknownOrdinal_(ord as u64),
19088 }
19089 }
19090 }
19091
19092 impl<'de> ::fidl_next::FromWireRef<crate::wire::DebugRegistration<'de>> for DebugRegistration {
19093 #[inline]
19094 fn from_wire_ref(wire: &crate::wire::DebugRegistration<'de>) -> Self {
19095 match wire.raw.ordinal() {
19096 1 => Self::Protocol(::fidl_next::FromWireRef::from_wire_ref(unsafe {
19097 wire.raw.get().deref_unchecked::<crate::wire::DebugProtocolRegistration<'de>>()
19098 })),
19099
19100 ord => return Self::UnknownOrdinal_(ord as u64),
19101 }
19102 }
19103 }
19104
19105 impl<'de> ::fidl_next::FromWireOption<crate::wire_optional::DebugRegistration<'de>>
19106 for DebugRegistration
19107 {
19108 #[inline]
19109 fn from_wire_option(
19110 wire: crate::wire_optional::DebugRegistration<'de>,
19111 ) -> ::core::option::Option<Self> {
19112 if let Some(inner) = wire.into_option() {
19113 Some(::fidl_next::FromWire::from_wire(inner))
19114 } else {
19115 None
19116 }
19117 }
19118 }
19119
19120 impl<'de> ::fidl_next::FromWireOption<crate::wire_optional::DebugRegistration<'de>>
19121 for Box<DebugRegistration>
19122 {
19123 #[inline]
19124 fn from_wire_option(
19125 wire: crate::wire_optional::DebugRegistration<'de>,
19126 ) -> ::core::option::Option<Self> {
19127 <DebugRegistration as ::fidl_next::FromWireOption<
19128 crate::wire_optional::DebugRegistration<'de>,
19129 >>::from_wire_option(wire)
19130 .map(Box::new)
19131 }
19132 }
19133
19134 impl<'de> ::fidl_next::FromWireOptionRef<crate::wire_optional::DebugRegistration<'de>>
19135 for Box<DebugRegistration>
19136 {
19137 #[inline]
19138 fn from_wire_option_ref(
19139 wire: &crate::wire_optional::DebugRegistration<'de>,
19140 ) -> ::core::option::Option<Self> {
19141 if let Some(inner) = wire.as_ref() {
19142 Some(Box::new(::fidl_next::FromWireRef::from_wire_ref(inner)))
19143 } else {
19144 None
19145 }
19146 }
19147 }
19148
19149 #[doc = " Declares an environment which configures a realm.\n"]
19150 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
19151 pub struct Environment {
19152 pub name: ::core::option::Option<::std::string::String>,
19153
19154 pub extends: ::core::option::Option<crate::natural::EnvironmentExtends>,
19155
19156 pub runners: ::core::option::Option<::std::vec::Vec<crate::natural::RunnerRegistration>>,
19157
19158 pub resolvers:
19159 ::core::option::Option<::std::vec::Vec<crate::natural::ResolverRegistration>>,
19160
19161 pub debug_capabilities:
19162 ::core::option::Option<::std::vec::Vec<crate::natural::DebugRegistration>>,
19163
19164 pub stop_timeout_ms: ::core::option::Option<u32>,
19165 }
19166
19167 impl Environment {
19168 fn __max_ordinal(&self) -> usize {
19169 if self.stop_timeout_ms.is_some() {
19170 return 6;
19171 }
19172
19173 if self.debug_capabilities.is_some() {
19174 return 5;
19175 }
19176
19177 if self.resolvers.is_some() {
19178 return 4;
19179 }
19180
19181 if self.runners.is_some() {
19182 return 3;
19183 }
19184
19185 if self.extends.is_some() {
19186 return 2;
19187 }
19188
19189 if self.name.is_some() {
19190 return 1;
19191 }
19192
19193 0
19194 }
19195 }
19196
19197 unsafe impl<___E> ::fidl_next::Encode<crate::wire::Environment<'static>, ___E> for Environment
19198 where
19199 ___E: ::fidl_next::Encoder + ?Sized,
19200 {
19201 #[inline]
19202 fn encode(
19203 mut self,
19204 encoder: &mut ___E,
19205 out: &mut ::core::mem::MaybeUninit<crate::wire::Environment<'static>>,
19206 _: (),
19207 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
19208 ::fidl_next::munge!(let crate::wire::Environment { table } = out);
19209
19210 let max_ord = self.__max_ordinal();
19211
19212 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
19213 ::fidl_next::Wire::zero_padding(&mut out);
19214
19215 let mut preallocated =
19216 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
19217
19218 for i in 1..=max_ord {
19219 match i {
19220 6 => {
19221 if let Some(value) = self.stop_timeout_ms.take() {
19222 ::fidl_next::WireEnvelope::encode_value::<::fidl_next::WireU32, ___E>(
19223 value,
19224 preallocated.encoder,
19225 &mut out,
19226 (),
19227 )?;
19228 } else {
19229 ::fidl_next::WireEnvelope::encode_zero(&mut out)
19230 }
19231 }
19232
19233 5 => {
19234 if let Some(value) = self.debug_capabilities.take() {
19235 ::fidl_next::WireEnvelope::encode_value::<
19236 ::fidl_next::WireVector<
19237 'static,
19238 crate::wire::DebugRegistration<'static>,
19239 >,
19240 ___E,
19241 >(
19242 value, preallocated.encoder, &mut out, (4294967295, ())
19243 )?;
19244 } else {
19245 ::fidl_next::WireEnvelope::encode_zero(&mut out)
19246 }
19247 }
19248
19249 4 => {
19250 if let Some(value) = self.resolvers.take() {
19251 ::fidl_next::WireEnvelope::encode_value::<
19252 ::fidl_next::WireVector<
19253 'static,
19254 crate::wire::ResolverRegistration<'static>,
19255 >,
19256 ___E,
19257 >(
19258 value, preallocated.encoder, &mut out, (4294967295, ())
19259 )?;
19260 } else {
19261 ::fidl_next::WireEnvelope::encode_zero(&mut out)
19262 }
19263 }
19264
19265 3 => {
19266 if let Some(value) = self.runners.take() {
19267 ::fidl_next::WireEnvelope::encode_value::<
19268 ::fidl_next::WireVector<
19269 'static,
19270 crate::wire::RunnerRegistration<'static>,
19271 >,
19272 ___E,
19273 >(
19274 value, preallocated.encoder, &mut out, (4294967295, ())
19275 )?;
19276 } else {
19277 ::fidl_next::WireEnvelope::encode_zero(&mut out)
19278 }
19279 }
19280
19281 2 => {
19282 if let Some(value) = self.extends.take() {
19283 ::fidl_next::WireEnvelope::encode_value::<
19284 crate::wire::EnvironmentExtends,
19285 ___E,
19286 >(
19287 value, preallocated.encoder, &mut out, ()
19288 )?;
19289 } else {
19290 ::fidl_next::WireEnvelope::encode_zero(&mut out)
19291 }
19292 }
19293
19294 1 => {
19295 if let Some(value) = self.name.take() {
19296 ::fidl_next::WireEnvelope::encode_value::<
19297 ::fidl_next::WireString<'static>,
19298 ___E,
19299 >(
19300 value, preallocated.encoder, &mut out, 100
19301 )?;
19302 } else {
19303 ::fidl_next::WireEnvelope::encode_zero(&mut out)
19304 }
19305 }
19306
19307 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
19308 }
19309 unsafe {
19310 preallocated.write_next(out.assume_init_ref());
19311 }
19312 }
19313
19314 ::fidl_next::WireTable::encode_len(table, max_ord);
19315
19316 Ok(())
19317 }
19318 }
19319
19320 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::Environment<'static>, ___E>
19321 for &'a Environment
19322 where
19323 ___E: ::fidl_next::Encoder + ?Sized,
19324 {
19325 #[inline]
19326 fn encode(
19327 self,
19328 encoder: &mut ___E,
19329 out: &mut ::core::mem::MaybeUninit<crate::wire::Environment<'static>>,
19330 _: (),
19331 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
19332 ::fidl_next::munge!(let crate::wire::Environment { table } = out);
19333
19334 let max_ord = self.__max_ordinal();
19335
19336 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
19337 ::fidl_next::Wire::zero_padding(&mut out);
19338
19339 let mut preallocated =
19340 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
19341
19342 for i in 1..=max_ord {
19343 match i {
19344 6 => {
19345 if let Some(value) = &self.stop_timeout_ms {
19346 ::fidl_next::WireEnvelope::encode_value::<::fidl_next::WireU32, ___E>(
19347 value,
19348 preallocated.encoder,
19349 &mut out,
19350 (),
19351 )?;
19352 } else {
19353 ::fidl_next::WireEnvelope::encode_zero(&mut out)
19354 }
19355 }
19356
19357 5 => {
19358 if let Some(value) = &self.debug_capabilities {
19359 ::fidl_next::WireEnvelope::encode_value::<
19360 ::fidl_next::WireVector<
19361 'static,
19362 crate::wire::DebugRegistration<'static>,
19363 >,
19364 ___E,
19365 >(
19366 value, preallocated.encoder, &mut out, (4294967295, ())
19367 )?;
19368 } else {
19369 ::fidl_next::WireEnvelope::encode_zero(&mut out)
19370 }
19371 }
19372
19373 4 => {
19374 if let Some(value) = &self.resolvers {
19375 ::fidl_next::WireEnvelope::encode_value::<
19376 ::fidl_next::WireVector<
19377 'static,
19378 crate::wire::ResolverRegistration<'static>,
19379 >,
19380 ___E,
19381 >(
19382 value, preallocated.encoder, &mut out, (4294967295, ())
19383 )?;
19384 } else {
19385 ::fidl_next::WireEnvelope::encode_zero(&mut out)
19386 }
19387 }
19388
19389 3 => {
19390 if let Some(value) = &self.runners {
19391 ::fidl_next::WireEnvelope::encode_value::<
19392 ::fidl_next::WireVector<
19393 'static,
19394 crate::wire::RunnerRegistration<'static>,
19395 >,
19396 ___E,
19397 >(
19398 value, preallocated.encoder, &mut out, (4294967295, ())
19399 )?;
19400 } else {
19401 ::fidl_next::WireEnvelope::encode_zero(&mut out)
19402 }
19403 }
19404
19405 2 => {
19406 if let Some(value) = &self.extends {
19407 ::fidl_next::WireEnvelope::encode_value::<
19408 crate::wire::EnvironmentExtends,
19409 ___E,
19410 >(
19411 value, preallocated.encoder, &mut out, ()
19412 )?;
19413 } else {
19414 ::fidl_next::WireEnvelope::encode_zero(&mut out)
19415 }
19416 }
19417
19418 1 => {
19419 if let Some(value) = &self.name {
19420 ::fidl_next::WireEnvelope::encode_value::<
19421 ::fidl_next::WireString<'static>,
19422 ___E,
19423 >(
19424 value, preallocated.encoder, &mut out, 100
19425 )?;
19426 } else {
19427 ::fidl_next::WireEnvelope::encode_zero(&mut out)
19428 }
19429 }
19430
19431 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
19432 }
19433 unsafe {
19434 preallocated.write_next(out.assume_init_ref());
19435 }
19436 }
19437
19438 ::fidl_next::WireTable::encode_len(table, max_ord);
19439
19440 Ok(())
19441 }
19442 }
19443
19444 impl<'de> ::fidl_next::FromWire<crate::wire::Environment<'de>> for Environment {
19445 #[inline]
19446 fn from_wire(wire_: crate::wire::Environment<'de>) -> Self {
19447 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
19448
19449 let name = wire_.table.get(1);
19450
19451 let extends = wire_.table.get(2);
19452
19453 let runners = wire_.table.get(3);
19454
19455 let resolvers = wire_.table.get(4);
19456
19457 let debug_capabilities = wire_.table.get(5);
19458
19459 let stop_timeout_ms = wire_.table.get(6);
19460
19461 Self {
19462
19463
19464 name: name.map(|envelope| ::fidl_next::FromWire::from_wire(
19465 unsafe { envelope.read_unchecked::<::fidl_next::WireString<'de>>() }
19466 )),
19467
19468
19469 extends: extends.map(|envelope| ::fidl_next::FromWire::from_wire(
19470 unsafe { envelope.read_unchecked::<crate::wire::EnvironmentExtends>() }
19471 )),
19472
19473
19474 runners: runners.map(|envelope| ::fidl_next::FromWire::from_wire(
19475 unsafe { envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::RunnerRegistration<'de>>>() }
19476 )),
19477
19478
19479 resolvers: resolvers.map(|envelope| ::fidl_next::FromWire::from_wire(
19480 unsafe { envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::ResolverRegistration<'de>>>() }
19481 )),
19482
19483
19484 debug_capabilities: debug_capabilities.map(|envelope| ::fidl_next::FromWire::from_wire(
19485 unsafe { envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::DebugRegistration<'de>>>() }
19486 )),
19487
19488
19489 stop_timeout_ms: stop_timeout_ms.map(|envelope| ::fidl_next::FromWire::from_wire(
19490 unsafe { envelope.read_unchecked::<::fidl_next::WireU32>() }
19491 )),
19492
19493 }
19494 }
19495 }
19496
19497 impl<'de> ::fidl_next::FromWireRef<crate::wire::Environment<'de>> for Environment {
19498 #[inline]
19499 fn from_wire_ref(wire: &crate::wire::Environment<'de>) -> Self {
19500 Self {
19501
19502
19503 name: wire.table.get(1)
19504 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
19505 unsafe { envelope.deref_unchecked::<::fidl_next::WireString<'de>>() }
19506 )),
19507
19508
19509 extends: wire.table.get(2)
19510 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
19511 unsafe { envelope.deref_unchecked::<crate::wire::EnvironmentExtends>() }
19512 )),
19513
19514
19515 runners: wire.table.get(3)
19516 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
19517 unsafe { envelope.deref_unchecked::<::fidl_next::WireVector<'de, crate::wire::RunnerRegistration<'de>>>() }
19518 )),
19519
19520
19521 resolvers: wire.table.get(4)
19522 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
19523 unsafe { envelope.deref_unchecked::<::fidl_next::WireVector<'de, crate::wire::ResolverRegistration<'de>>>() }
19524 )),
19525
19526
19527 debug_capabilities: wire.table.get(5)
19528 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
19529 unsafe { envelope.deref_unchecked::<::fidl_next::WireVector<'de, crate::wire::DebugRegistration<'de>>>() }
19530 )),
19531
19532
19533 stop_timeout_ms: wire.table.get(6)
19534 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
19535 unsafe { envelope.deref_unchecked::<::fidl_next::WireU32>() }
19536 )),
19537
19538 }
19539 }
19540 }
19541
19542 #[derive(Debug, Default, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
19543 pub struct ConfigSourceCapabilities {}
19544
19545 impl ConfigSourceCapabilities {
19546 fn __max_ordinal(&self) -> usize {
19547 0
19548 }
19549 }
19550
19551 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ConfigSourceCapabilities<'static>, ___E>
19552 for ConfigSourceCapabilities
19553 where
19554 ___E: ::fidl_next::Encoder + ?Sized,
19555 {
19556 #[inline]
19557 fn encode(
19558 mut self,
19559 encoder: &mut ___E,
19560 out: &mut ::core::mem::MaybeUninit<crate::wire::ConfigSourceCapabilities<'static>>,
19561 _: (),
19562 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
19563 ::fidl_next::munge!(let crate::wire::ConfigSourceCapabilities { table } = out);
19564
19565 let max_ord = self.__max_ordinal();
19566
19567 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
19568 ::fidl_next::Wire::zero_padding(&mut out);
19569
19570 let mut preallocated =
19571 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
19572
19573 for i in 1..=max_ord {
19574 match i {
19575 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
19576 }
19577 unsafe {
19578 preallocated.write_next(out.assume_init_ref());
19579 }
19580 }
19581
19582 ::fidl_next::WireTable::encode_len(table, max_ord);
19583
19584 Ok(())
19585 }
19586 }
19587
19588 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ConfigSourceCapabilities<'static>, ___E>
19589 for &'a ConfigSourceCapabilities
19590 where
19591 ___E: ::fidl_next::Encoder + ?Sized,
19592 {
19593 #[inline]
19594 fn encode(
19595 self,
19596 encoder: &mut ___E,
19597 out: &mut ::core::mem::MaybeUninit<crate::wire::ConfigSourceCapabilities<'static>>,
19598 _: (),
19599 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
19600 ::fidl_next::munge!(let crate::wire::ConfigSourceCapabilities { table } = out);
19601
19602 let max_ord = self.__max_ordinal();
19603
19604 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
19605 ::fidl_next::Wire::zero_padding(&mut out);
19606
19607 let mut preallocated =
19608 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
19609
19610 for i in 1..=max_ord {
19611 match i {
19612 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
19613 }
19614 unsafe {
19615 preallocated.write_next(out.assume_init_ref());
19616 }
19617 }
19618
19619 ::fidl_next::WireTable::encode_len(table, max_ord);
19620
19621 Ok(())
19622 }
19623 }
19624
19625 impl<'de> ::fidl_next::FromWire<crate::wire::ConfigSourceCapabilities<'de>>
19626 for ConfigSourceCapabilities
19627 {
19628 #[inline]
19629 fn from_wire(wire_: crate::wire::ConfigSourceCapabilities<'de>) -> Self {
19630 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
19631
19632 Self {}
19633 }
19634 }
19635
19636 impl<'de> ::fidl_next::FromWireRef<crate::wire::ConfigSourceCapabilities<'de>>
19637 for ConfigSourceCapabilities
19638 {
19639 #[inline]
19640 fn from_wire_ref(wire: &crate::wire::ConfigSourceCapabilities<'de>) -> Self {
19641 Self {}
19642 }
19643 }
19644
19645 #[doc = " Strategies available for resolving configuration values.\n"]
19646 #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
19647 pub enum ConfigValueSource {
19648 PackagePath(::std::string::String),
19649
19650 Capabilities(crate::natural::ConfigSourceCapabilities),
19651
19652 UnknownOrdinal_(u64),
19653 }
19654
19655 impl ConfigValueSource {
19656 pub fn is_unknown(&self) -> bool {
19657 #[allow(unreachable_patterns)]
19658 match self {
19659 Self::UnknownOrdinal_(_) => true,
19660 _ => false,
19661 }
19662 }
19663 }
19664
19665 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ConfigValueSource<'static>, ___E>
19666 for ConfigValueSource
19667 where
19668 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
19669 ___E: ::fidl_next::Encoder,
19670 {
19671 #[inline]
19672 fn encode(
19673 self,
19674 encoder: &mut ___E,
19675 out: &mut ::core::mem::MaybeUninit<crate::wire::ConfigValueSource<'static>>,
19676 _: (),
19677 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
19678 ::fidl_next::munge!(let crate::wire::ConfigValueSource { raw, _phantom: _ } = out);
19679
19680 match self {
19681 Self::PackagePath(value) => ::fidl_next::RawWireUnion::encode_as::<
19682 ___E,
19683 ::fidl_next::WireString<'static>,
19684 >(value, 1, encoder, raw, 4294967295)?,
19685
19686 Self::Capabilities(value) => ::fidl_next::RawWireUnion::encode_as::<
19687 ___E,
19688 crate::wire::ConfigSourceCapabilities<'static>,
19689 >(value, 2, encoder, raw, ())?,
19690
19691 Self::UnknownOrdinal_(ordinal) => {
19692 return Err(::fidl_next::EncodeError::UnknownUnionOrdinal(ordinal as usize));
19693 }
19694 }
19695
19696 Ok(())
19697 }
19698 }
19699
19700 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ConfigValueSource<'static>, ___E>
19701 for &'a ConfigValueSource
19702 where
19703 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
19704 ___E: ::fidl_next::Encoder,
19705 {
19706 #[inline]
19707 fn encode(
19708 self,
19709 encoder: &mut ___E,
19710 out: &mut ::core::mem::MaybeUninit<crate::wire::ConfigValueSource<'static>>,
19711 _: (),
19712 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
19713 ::fidl_next::munge!(let crate::wire::ConfigValueSource { raw, _phantom: _ } = out);
19714
19715 match self {
19716 ConfigValueSource::PackagePath(value) => {
19717 ::fidl_next::RawWireUnion::encode_as::<___E, ::fidl_next::WireString<'static>>(
19718 value, 1, encoder, raw, 4294967295,
19719 )?
19720 }
19721
19722 ConfigValueSource::Capabilities(value) => {
19723 ::fidl_next::RawWireUnion::encode_as::<
19724 ___E,
19725 crate::wire::ConfigSourceCapabilities<'static>,
19726 >(value, 2, encoder, raw, ())?
19727 }
19728
19729 ConfigValueSource::UnknownOrdinal_(ordinal) => {
19730 return Err(::fidl_next::EncodeError::UnknownUnionOrdinal(*ordinal as usize));
19731 }
19732 }
19733
19734 Ok(())
19735 }
19736 }
19737
19738 unsafe impl<___E>
19739 ::fidl_next::EncodeOption<crate::wire_optional::ConfigValueSource<'static>, ___E>
19740 for ConfigValueSource
19741 where
19742 ___E: ?Sized,
19743 ConfigValueSource: ::fidl_next::Encode<crate::wire::ConfigValueSource<'static>, ___E>,
19744 {
19745 #[inline]
19746 fn encode_option(
19747 this: ::core::option::Option<Self>,
19748 encoder: &mut ___E,
19749 out: &mut ::core::mem::MaybeUninit<crate::wire_optional::ConfigValueSource<'static>>,
19750 _: (),
19751 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
19752 ::fidl_next::munge!(let crate::wire_optional::ConfigValueSource { raw, _phantom: _ } = &mut *out);
19753
19754 if let Some(inner) = this {
19755 let value_out = unsafe { &mut *out.as_mut_ptr().cast() };
19756 ::fidl_next::Encode::encode(inner, encoder, value_out, ())?;
19757 } else {
19758 ::fidl_next::RawWireUnion::encode_absent(raw);
19759 }
19760
19761 Ok(())
19762 }
19763 }
19764
19765 unsafe impl<'a, ___E>
19766 ::fidl_next::EncodeOption<crate::wire_optional::ConfigValueSource<'static>, ___E>
19767 for &'a ConfigValueSource
19768 where
19769 ___E: ?Sized,
19770 &'a ConfigValueSource: ::fidl_next::Encode<crate::wire::ConfigValueSource<'static>, ___E>,
19771 {
19772 #[inline]
19773 fn encode_option(
19774 this: ::core::option::Option<Self>,
19775 encoder: &mut ___E,
19776 out: &mut ::core::mem::MaybeUninit<crate::wire_optional::ConfigValueSource<'static>>,
19777 _: (),
19778 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
19779 ::fidl_next::munge!(let crate::wire_optional::ConfigValueSource { raw, _phantom: _ } = &mut *out);
19780
19781 if let Some(inner) = this {
19782 let value_out = unsafe { &mut *out.as_mut_ptr().cast() };
19783 ::fidl_next::Encode::encode(inner, encoder, value_out, ())?;
19784 } else {
19785 ::fidl_next::RawWireUnion::encode_absent(raw);
19786 }
19787
19788 Ok(())
19789 }
19790 }
19791
19792 impl<'de> ::fidl_next::FromWire<crate::wire::ConfigValueSource<'de>> for ConfigValueSource {
19793 #[inline]
19794 fn from_wire(wire: crate::wire::ConfigValueSource<'de>) -> Self {
19795 let wire = ::core::mem::ManuallyDrop::new(wire);
19796 match wire.raw.ordinal() {
19797 1 => Self::PackagePath(::fidl_next::FromWire::from_wire(unsafe {
19798 wire.raw.get().read_unchecked::<::fidl_next::WireString<'de>>()
19799 })),
19800
19801 2 => Self::Capabilities(::fidl_next::FromWire::from_wire(unsafe {
19802 wire.raw.get().read_unchecked::<crate::wire::ConfigSourceCapabilities<'de>>()
19803 })),
19804
19805 ord => return Self::UnknownOrdinal_(ord as u64),
19806 }
19807 }
19808 }
19809
19810 impl<'de> ::fidl_next::FromWireRef<crate::wire::ConfigValueSource<'de>> for ConfigValueSource {
19811 #[inline]
19812 fn from_wire_ref(wire: &crate::wire::ConfigValueSource<'de>) -> Self {
19813 match wire.raw.ordinal() {
19814 1 => Self::PackagePath(::fidl_next::FromWireRef::from_wire_ref(unsafe {
19815 wire.raw.get().deref_unchecked::<::fidl_next::WireString<'de>>()
19816 })),
19817
19818 2 => Self::Capabilities(::fidl_next::FromWireRef::from_wire_ref(unsafe {
19819 wire.raw.get().deref_unchecked::<crate::wire::ConfigSourceCapabilities<'de>>()
19820 })),
19821
19822 ord => return Self::UnknownOrdinal_(ord as u64),
19823 }
19824 }
19825 }
19826
19827 impl<'de> ::fidl_next::FromWireOption<crate::wire_optional::ConfigValueSource<'de>>
19828 for ConfigValueSource
19829 {
19830 #[inline]
19831 fn from_wire_option(
19832 wire: crate::wire_optional::ConfigValueSource<'de>,
19833 ) -> ::core::option::Option<Self> {
19834 if let Some(inner) = wire.into_option() {
19835 Some(::fidl_next::FromWire::from_wire(inner))
19836 } else {
19837 None
19838 }
19839 }
19840 }
19841
19842 impl<'de> ::fidl_next::FromWireOption<crate::wire_optional::ConfigValueSource<'de>>
19843 for Box<ConfigValueSource>
19844 {
19845 #[inline]
19846 fn from_wire_option(
19847 wire: crate::wire_optional::ConfigValueSource<'de>,
19848 ) -> ::core::option::Option<Self> {
19849 <ConfigValueSource as ::fidl_next::FromWireOption<
19850 crate::wire_optional::ConfigValueSource<'de>,
19851 >>::from_wire_option(wire)
19852 .map(Box::new)
19853 }
19854 }
19855
19856 impl<'de> ::fidl_next::FromWireOptionRef<crate::wire_optional::ConfigValueSource<'de>>
19857 for Box<ConfigValueSource>
19858 {
19859 #[inline]
19860 fn from_wire_option_ref(
19861 wire: &crate::wire_optional::ConfigValueSource<'de>,
19862 ) -> ::core::option::Option<Self> {
19863 if let Some(inner) = wire.as_ref() {
19864 Some(Box::new(::fidl_next::FromWireRef::from_wire_ref(inner)))
19865 } else {
19866 None
19867 }
19868 }
19869 }
19870
19871 #[doc = " The schema of a component\'s configuration interface.\n"]
19872 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
19873 pub struct ConfigSchema {
19874 pub fields: ::core::option::Option<::std::vec::Vec<crate::natural::ConfigField>>,
19875
19876 pub checksum: ::core::option::Option<crate::natural::ConfigChecksum>,
19877
19878 pub value_source: ::core::option::Option<crate::natural::ConfigValueSource>,
19879 }
19880
19881 impl ConfigSchema {
19882 fn __max_ordinal(&self) -> usize {
19883 if self.value_source.is_some() {
19884 return 3;
19885 }
19886
19887 if self.checksum.is_some() {
19888 return 2;
19889 }
19890
19891 if self.fields.is_some() {
19892 return 1;
19893 }
19894
19895 0
19896 }
19897 }
19898
19899 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ConfigSchema<'static>, ___E> for ConfigSchema
19900 where
19901 ___E: ::fidl_next::Encoder + ?Sized,
19902 {
19903 #[inline]
19904 fn encode(
19905 mut self,
19906 encoder: &mut ___E,
19907 out: &mut ::core::mem::MaybeUninit<crate::wire::ConfigSchema<'static>>,
19908 _: (),
19909 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
19910 ::fidl_next::munge!(let crate::wire::ConfigSchema { table } = out);
19911
19912 let max_ord = self.__max_ordinal();
19913
19914 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
19915 ::fidl_next::Wire::zero_padding(&mut out);
19916
19917 let mut preallocated =
19918 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
19919
19920 for i in 1..=max_ord {
19921 match i {
19922 3 => {
19923 if let Some(value) = self.value_source.take() {
19924 ::fidl_next::WireEnvelope::encode_value::<
19925 crate::wire::ConfigValueSource<'static>,
19926 ___E,
19927 >(
19928 value, preallocated.encoder, &mut out, ()
19929 )?;
19930 } else {
19931 ::fidl_next::WireEnvelope::encode_zero(&mut out)
19932 }
19933 }
19934
19935 2 => {
19936 if let Some(value) = self.checksum.take() {
19937 ::fidl_next::WireEnvelope::encode_value::<
19938 crate::wire::ConfigChecksum<'static>,
19939 ___E,
19940 >(
19941 value, preallocated.encoder, &mut out, ()
19942 )?;
19943 } else {
19944 ::fidl_next::WireEnvelope::encode_zero(&mut out)
19945 }
19946 }
19947
19948 1 => {
19949 if let Some(value) = self.fields.take() {
19950 ::fidl_next::WireEnvelope::encode_value::<
19951 ::fidl_next::WireVector<'static, crate::wire::ConfigField<'static>>,
19952 ___E,
19953 >(
19954 value, preallocated.encoder, &mut out, (4294967295, ())
19955 )?;
19956 } else {
19957 ::fidl_next::WireEnvelope::encode_zero(&mut out)
19958 }
19959 }
19960
19961 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
19962 }
19963 unsafe {
19964 preallocated.write_next(out.assume_init_ref());
19965 }
19966 }
19967
19968 ::fidl_next::WireTable::encode_len(table, max_ord);
19969
19970 Ok(())
19971 }
19972 }
19973
19974 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ConfigSchema<'static>, ___E>
19975 for &'a ConfigSchema
19976 where
19977 ___E: ::fidl_next::Encoder + ?Sized,
19978 {
19979 #[inline]
19980 fn encode(
19981 self,
19982 encoder: &mut ___E,
19983 out: &mut ::core::mem::MaybeUninit<crate::wire::ConfigSchema<'static>>,
19984 _: (),
19985 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
19986 ::fidl_next::munge!(let crate::wire::ConfigSchema { table } = out);
19987
19988 let max_ord = self.__max_ordinal();
19989
19990 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
19991 ::fidl_next::Wire::zero_padding(&mut out);
19992
19993 let mut preallocated =
19994 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
19995
19996 for i in 1..=max_ord {
19997 match i {
19998 3 => {
19999 if let Some(value) = &self.value_source {
20000 ::fidl_next::WireEnvelope::encode_value::<
20001 crate::wire::ConfigValueSource<'static>,
20002 ___E,
20003 >(
20004 value, preallocated.encoder, &mut out, ()
20005 )?;
20006 } else {
20007 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20008 }
20009 }
20010
20011 2 => {
20012 if let Some(value) = &self.checksum {
20013 ::fidl_next::WireEnvelope::encode_value::<
20014 crate::wire::ConfigChecksum<'static>,
20015 ___E,
20016 >(
20017 value, preallocated.encoder, &mut out, ()
20018 )?;
20019 } else {
20020 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20021 }
20022 }
20023
20024 1 => {
20025 if let Some(value) = &self.fields {
20026 ::fidl_next::WireEnvelope::encode_value::<
20027 ::fidl_next::WireVector<'static, crate::wire::ConfigField<'static>>,
20028 ___E,
20029 >(
20030 value, preallocated.encoder, &mut out, (4294967295, ())
20031 )?;
20032 } else {
20033 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20034 }
20035 }
20036
20037 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
20038 }
20039 unsafe {
20040 preallocated.write_next(out.assume_init_ref());
20041 }
20042 }
20043
20044 ::fidl_next::WireTable::encode_len(table, max_ord);
20045
20046 Ok(())
20047 }
20048 }
20049
20050 impl<'de> ::fidl_next::FromWire<crate::wire::ConfigSchema<'de>> for ConfigSchema {
20051 #[inline]
20052 fn from_wire(wire_: crate::wire::ConfigSchema<'de>) -> Self {
20053 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
20054
20055 let fields = wire_.table.get(1);
20056
20057 let checksum = wire_.table.get(2);
20058
20059 let value_source = wire_.table.get(3);
20060
20061 Self {
20062
20063
20064 fields: fields.map(|envelope| ::fidl_next::FromWire::from_wire(
20065 unsafe { envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::ConfigField<'de>>>() }
20066 )),
20067
20068
20069 checksum: checksum.map(|envelope| ::fidl_next::FromWire::from_wire(
20070 unsafe { envelope.read_unchecked::<crate::wire::ConfigChecksum<'de>>() }
20071 )),
20072
20073
20074 value_source: value_source.map(|envelope| ::fidl_next::FromWire::from_wire(
20075 unsafe { envelope.read_unchecked::<crate::wire::ConfigValueSource<'de>>() }
20076 )),
20077
20078 }
20079 }
20080 }
20081
20082 impl<'de> ::fidl_next::FromWireRef<crate::wire::ConfigSchema<'de>> for ConfigSchema {
20083 #[inline]
20084 fn from_wire_ref(wire: &crate::wire::ConfigSchema<'de>) -> Self {
20085 Self {
20086
20087
20088 fields: wire.table.get(1)
20089 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
20090 unsafe { envelope.deref_unchecked::<::fidl_next::WireVector<'de, crate::wire::ConfigField<'de>>>() }
20091 )),
20092
20093
20094 checksum: wire.table.get(2)
20095 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
20096 unsafe { envelope.deref_unchecked::<crate::wire::ConfigChecksum<'de>>() }
20097 )),
20098
20099
20100 value_source: wire.table.get(3)
20101 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
20102 unsafe { envelope.deref_unchecked::<crate::wire::ConfigValueSource<'de>>() }
20103 )),
20104
20105 }
20106 }
20107 }
20108
20109 #[doc = " A component declaration.\n\n This information is typically encoded in the component manifest (.cm file)\n if it has one or may be generated at runtime by a component resolver for\n those that don\'t.\n"]
20110 #[derive(Debug, Default, PartialEq)]
20111 pub struct Component {
20112 pub program: ::core::option::Option<crate::natural::Program>,
20113
20114 pub uses: ::core::option::Option<::std::vec::Vec<crate::natural::Use>>,
20115
20116 pub exposes: ::core::option::Option<::std::vec::Vec<crate::natural::Expose>>,
20117
20118 pub offers: ::core::option::Option<::std::vec::Vec<crate::natural::Offer>>,
20119
20120 pub capabilities: ::core::option::Option<::std::vec::Vec<crate::natural::Capability>>,
20121
20122 pub children: ::core::option::Option<::std::vec::Vec<crate::natural::Child>>,
20123
20124 pub collections: ::core::option::Option<::std::vec::Vec<crate::natural::Collection>>,
20125
20126 pub environments: ::core::option::Option<::std::vec::Vec<crate::natural::Environment>>,
20127
20128 pub facets: ::core::option::Option<::fidl_next_common_fuchsia_data::natural::Dictionary>,
20129
20130 pub config: ::core::option::Option<crate::natural::ConfigSchema>,
20131
20132 pub debug_info: ::core::option::Option<crate::natural::DebugInfo>,
20133 }
20134
20135 impl Component {
20136 fn __max_ordinal(&self) -> usize {
20137 if self.debug_info.is_some() {
20138 return 11;
20139 }
20140
20141 if self.config.is_some() {
20142 return 10;
20143 }
20144
20145 if self.facets.is_some() {
20146 return 9;
20147 }
20148
20149 if self.environments.is_some() {
20150 return 8;
20151 }
20152
20153 if self.collections.is_some() {
20154 return 7;
20155 }
20156
20157 if self.children.is_some() {
20158 return 6;
20159 }
20160
20161 if self.capabilities.is_some() {
20162 return 5;
20163 }
20164
20165 if self.offers.is_some() {
20166 return 4;
20167 }
20168
20169 if self.exposes.is_some() {
20170 return 3;
20171 }
20172
20173 if self.uses.is_some() {
20174 return 2;
20175 }
20176
20177 if self.program.is_some() {
20178 return 1;
20179 }
20180
20181 0
20182 }
20183 }
20184
20185 unsafe impl<___E> ::fidl_next::Encode<crate::wire::Component<'static>, ___E> for Component
20186 where
20187 ___E: ::fidl_next::Encoder + ?Sized,
20188 {
20189 #[inline]
20190 fn encode(
20191 mut self,
20192 encoder: &mut ___E,
20193 out: &mut ::core::mem::MaybeUninit<crate::wire::Component<'static>>,
20194 _: (),
20195 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
20196 ::fidl_next::munge!(let crate::wire::Component { table } = out);
20197
20198 let max_ord = self.__max_ordinal();
20199
20200 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
20201 ::fidl_next::Wire::zero_padding(&mut out);
20202
20203 let mut preallocated =
20204 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
20205
20206 for i in 1..=max_ord {
20207 match i {
20208 11 => {
20209 if let Some(value) = self.debug_info.take() {
20210 ::fidl_next::WireEnvelope::encode_value::<
20211 crate::wire::DebugInfo<'static>,
20212 ___E,
20213 >(
20214 value, preallocated.encoder, &mut out, ()
20215 )?;
20216 } else {
20217 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20218 }
20219 }
20220
20221 10 => {
20222 if let Some(value) = self.config.take() {
20223 ::fidl_next::WireEnvelope::encode_value::<
20224 crate::wire::ConfigSchema<'static>,
20225 ___E,
20226 >(
20227 value, preallocated.encoder, &mut out, ()
20228 )?;
20229 } else {
20230 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20231 }
20232 }
20233
20234 9 => {
20235 if let Some(value) = self.facets.take() {
20236 ::fidl_next::WireEnvelope::encode_value::<
20237 ::fidl_next_common_fuchsia_data::wire::Dictionary<'static>,
20238 ___E,
20239 >(
20240 value, preallocated.encoder, &mut out, ()
20241 )?;
20242 } else {
20243 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20244 }
20245 }
20246
20247 8 => {
20248 if let Some(value) = self.environments.take() {
20249 ::fidl_next::WireEnvelope::encode_value::<
20250 ::fidl_next::WireVector<'static, crate::wire::Environment<'static>>,
20251 ___E,
20252 >(
20253 value, preallocated.encoder, &mut out, (4294967295, ())
20254 )?;
20255 } else {
20256 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20257 }
20258 }
20259
20260 7 => {
20261 if let Some(value) = self.collections.take() {
20262 ::fidl_next::WireEnvelope::encode_value::<
20263 ::fidl_next::WireVector<'static, crate::wire::Collection<'static>>,
20264 ___E,
20265 >(
20266 value, preallocated.encoder, &mut out, (4294967295, ())
20267 )?;
20268 } else {
20269 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20270 }
20271 }
20272
20273 6 => {
20274 if let Some(value) = self.children.take() {
20275 ::fidl_next::WireEnvelope::encode_value::<
20276 ::fidl_next::WireVector<'static, crate::wire::Child<'static>>,
20277 ___E,
20278 >(
20279 value, preallocated.encoder, &mut out, (4294967295, ())
20280 )?;
20281 } else {
20282 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20283 }
20284 }
20285
20286 5 => {
20287 if let Some(value) = self.capabilities.take() {
20288 ::fidl_next::WireEnvelope::encode_value::<
20289 ::fidl_next::WireVector<'static, crate::wire::Capability<'static>>,
20290 ___E,
20291 >(
20292 value, preallocated.encoder, &mut out, (4294967295, ())
20293 )?;
20294 } else {
20295 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20296 }
20297 }
20298
20299 4 => {
20300 if let Some(value) = self.offers.take() {
20301 ::fidl_next::WireEnvelope::encode_value::<
20302 ::fidl_next::WireVector<'static, crate::wire::Offer<'static>>,
20303 ___E,
20304 >(
20305 value, preallocated.encoder, &mut out, (4294967295, ())
20306 )?;
20307 } else {
20308 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20309 }
20310 }
20311
20312 3 => {
20313 if let Some(value) = self.exposes.take() {
20314 ::fidl_next::WireEnvelope::encode_value::<
20315 ::fidl_next::WireVector<'static, crate::wire::Expose<'static>>,
20316 ___E,
20317 >(
20318 value, preallocated.encoder, &mut out, (4294967295, ())
20319 )?;
20320 } else {
20321 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20322 }
20323 }
20324
20325 2 => {
20326 if let Some(value) = self.uses.take() {
20327 ::fidl_next::WireEnvelope::encode_value::<
20328 ::fidl_next::WireVector<'static, crate::wire::Use<'static>>,
20329 ___E,
20330 >(
20331 value, preallocated.encoder, &mut out, (4294967295, ())
20332 )?;
20333 } else {
20334 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20335 }
20336 }
20337
20338 1 => {
20339 if let Some(value) = self.program.take() {
20340 ::fidl_next::WireEnvelope::encode_value::<
20341 crate::wire::Program<'static>,
20342 ___E,
20343 >(
20344 value, preallocated.encoder, &mut out, ()
20345 )?;
20346 } else {
20347 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20348 }
20349 }
20350
20351 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
20352 }
20353 unsafe {
20354 preallocated.write_next(out.assume_init_ref());
20355 }
20356 }
20357
20358 ::fidl_next::WireTable::encode_len(table, max_ord);
20359
20360 Ok(())
20361 }
20362 }
20363
20364 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::Component<'static>, ___E> for &'a Component
20365 where
20366 ___E: ::fidl_next::Encoder + ?Sized,
20367 {
20368 #[inline]
20369 fn encode(
20370 self,
20371 encoder: &mut ___E,
20372 out: &mut ::core::mem::MaybeUninit<crate::wire::Component<'static>>,
20373 _: (),
20374 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
20375 ::fidl_next::munge!(let crate::wire::Component { table } = out);
20376
20377 let max_ord = self.__max_ordinal();
20378
20379 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
20380 ::fidl_next::Wire::zero_padding(&mut out);
20381
20382 let mut preallocated =
20383 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
20384
20385 for i in 1..=max_ord {
20386 match i {
20387 11 => {
20388 if let Some(value) = &self.debug_info {
20389 ::fidl_next::WireEnvelope::encode_value::<
20390 crate::wire::DebugInfo<'static>,
20391 ___E,
20392 >(
20393 value, preallocated.encoder, &mut out, ()
20394 )?;
20395 } else {
20396 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20397 }
20398 }
20399
20400 10 => {
20401 if let Some(value) = &self.config {
20402 ::fidl_next::WireEnvelope::encode_value::<
20403 crate::wire::ConfigSchema<'static>,
20404 ___E,
20405 >(
20406 value, preallocated.encoder, &mut out, ()
20407 )?;
20408 } else {
20409 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20410 }
20411 }
20412
20413 9 => {
20414 if let Some(value) = &self.facets {
20415 ::fidl_next::WireEnvelope::encode_value::<
20416 ::fidl_next_common_fuchsia_data::wire::Dictionary<'static>,
20417 ___E,
20418 >(
20419 value, preallocated.encoder, &mut out, ()
20420 )?;
20421 } else {
20422 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20423 }
20424 }
20425
20426 8 => {
20427 if let Some(value) = &self.environments {
20428 ::fidl_next::WireEnvelope::encode_value::<
20429 ::fidl_next::WireVector<'static, crate::wire::Environment<'static>>,
20430 ___E,
20431 >(
20432 value, preallocated.encoder, &mut out, (4294967295, ())
20433 )?;
20434 } else {
20435 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20436 }
20437 }
20438
20439 7 => {
20440 if let Some(value) = &self.collections {
20441 ::fidl_next::WireEnvelope::encode_value::<
20442 ::fidl_next::WireVector<'static, crate::wire::Collection<'static>>,
20443 ___E,
20444 >(
20445 value, preallocated.encoder, &mut out, (4294967295, ())
20446 )?;
20447 } else {
20448 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20449 }
20450 }
20451
20452 6 => {
20453 if let Some(value) = &self.children {
20454 ::fidl_next::WireEnvelope::encode_value::<
20455 ::fidl_next::WireVector<'static, crate::wire::Child<'static>>,
20456 ___E,
20457 >(
20458 value, preallocated.encoder, &mut out, (4294967295, ())
20459 )?;
20460 } else {
20461 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20462 }
20463 }
20464
20465 5 => {
20466 if let Some(value) = &self.capabilities {
20467 ::fidl_next::WireEnvelope::encode_value::<
20468 ::fidl_next::WireVector<'static, crate::wire::Capability<'static>>,
20469 ___E,
20470 >(
20471 value, preallocated.encoder, &mut out, (4294967295, ())
20472 )?;
20473 } else {
20474 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20475 }
20476 }
20477
20478 4 => {
20479 if let Some(value) = &self.offers {
20480 ::fidl_next::WireEnvelope::encode_value::<
20481 ::fidl_next::WireVector<'static, crate::wire::Offer<'static>>,
20482 ___E,
20483 >(
20484 value, preallocated.encoder, &mut out, (4294967295, ())
20485 )?;
20486 } else {
20487 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20488 }
20489 }
20490
20491 3 => {
20492 if let Some(value) = &self.exposes {
20493 ::fidl_next::WireEnvelope::encode_value::<
20494 ::fidl_next::WireVector<'static, crate::wire::Expose<'static>>,
20495 ___E,
20496 >(
20497 value, preallocated.encoder, &mut out, (4294967295, ())
20498 )?;
20499 } else {
20500 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20501 }
20502 }
20503
20504 2 => {
20505 if let Some(value) = &self.uses {
20506 ::fidl_next::WireEnvelope::encode_value::<
20507 ::fidl_next::WireVector<'static, crate::wire::Use<'static>>,
20508 ___E,
20509 >(
20510 value, preallocated.encoder, &mut out, (4294967295, ())
20511 )?;
20512 } else {
20513 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20514 }
20515 }
20516
20517 1 => {
20518 if let Some(value) = &self.program {
20519 ::fidl_next::WireEnvelope::encode_value::<
20520 crate::wire::Program<'static>,
20521 ___E,
20522 >(
20523 value, preallocated.encoder, &mut out, ()
20524 )?;
20525 } else {
20526 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20527 }
20528 }
20529
20530 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
20531 }
20532 unsafe {
20533 preallocated.write_next(out.assume_init_ref());
20534 }
20535 }
20536
20537 ::fidl_next::WireTable::encode_len(table, max_ord);
20538
20539 Ok(())
20540 }
20541 }
20542
20543 impl<'de> ::fidl_next::FromWire<crate::wire::Component<'de>> for Component {
20544 #[inline]
20545 fn from_wire(wire_: crate::wire::Component<'de>) -> Self {
20546 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
20547
20548 let program = wire_.table.get(1);
20549
20550 let uses = wire_.table.get(2);
20551
20552 let exposes = wire_.table.get(3);
20553
20554 let offers = wire_.table.get(4);
20555
20556 let capabilities = wire_.table.get(5);
20557
20558 let children = wire_.table.get(6);
20559
20560 let collections = wire_.table.get(7);
20561
20562 let environments = wire_.table.get(8);
20563
20564 let facets = wire_.table.get(9);
20565
20566 let config = wire_.table.get(10);
20567
20568 let debug_info = wire_.table.get(11);
20569
20570 Self {
20571
20572
20573 program: program.map(|envelope| ::fidl_next::FromWire::from_wire(
20574 unsafe { envelope.read_unchecked::<crate::wire::Program<'de>>() }
20575 )),
20576
20577
20578 uses: uses.map(|envelope| ::fidl_next::FromWire::from_wire(
20579 unsafe { envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::Use<'de>>>() }
20580 )),
20581
20582
20583 exposes: exposes.map(|envelope| ::fidl_next::FromWire::from_wire(
20584 unsafe { envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::Expose<'de>>>() }
20585 )),
20586
20587
20588 offers: offers.map(|envelope| ::fidl_next::FromWire::from_wire(
20589 unsafe { envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::Offer<'de>>>() }
20590 )),
20591
20592
20593 capabilities: capabilities.map(|envelope| ::fidl_next::FromWire::from_wire(
20594 unsafe { envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::Capability<'de>>>() }
20595 )),
20596
20597
20598 children: children.map(|envelope| ::fidl_next::FromWire::from_wire(
20599 unsafe { envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::Child<'de>>>() }
20600 )),
20601
20602
20603 collections: collections.map(|envelope| ::fidl_next::FromWire::from_wire(
20604 unsafe { envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::Collection<'de>>>() }
20605 )),
20606
20607
20608 environments: environments.map(|envelope| ::fidl_next::FromWire::from_wire(
20609 unsafe { envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::Environment<'de>>>() }
20610 )),
20611
20612
20613 facets: facets.map(|envelope| ::fidl_next::FromWire::from_wire(
20614 unsafe { envelope.read_unchecked::<::fidl_next_common_fuchsia_data::wire::Dictionary<'de>>() }
20615 )),
20616
20617
20618 config: config.map(|envelope| ::fidl_next::FromWire::from_wire(
20619 unsafe { envelope.read_unchecked::<crate::wire::ConfigSchema<'de>>() }
20620 )),
20621
20622
20623 debug_info: debug_info.map(|envelope| ::fidl_next::FromWire::from_wire(
20624 unsafe { envelope.read_unchecked::<crate::wire::DebugInfo<'de>>() }
20625 )),
20626
20627 }
20628 }
20629 }
20630
20631 impl<'de> ::fidl_next::FromWireRef<crate::wire::Component<'de>> for Component {
20632 #[inline]
20633 fn from_wire_ref(wire: &crate::wire::Component<'de>) -> Self {
20634 Self {
20635
20636
20637 program: wire.table.get(1)
20638 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
20639 unsafe { envelope.deref_unchecked::<crate::wire::Program<'de>>() }
20640 )),
20641
20642
20643 uses: wire.table.get(2)
20644 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
20645 unsafe { envelope.deref_unchecked::<::fidl_next::WireVector<'de, crate::wire::Use<'de>>>() }
20646 )),
20647
20648
20649 exposes: wire.table.get(3)
20650 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
20651 unsafe { envelope.deref_unchecked::<::fidl_next::WireVector<'de, crate::wire::Expose<'de>>>() }
20652 )),
20653
20654
20655 offers: wire.table.get(4)
20656 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
20657 unsafe { envelope.deref_unchecked::<::fidl_next::WireVector<'de, crate::wire::Offer<'de>>>() }
20658 )),
20659
20660
20661 capabilities: wire.table.get(5)
20662 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
20663 unsafe { envelope.deref_unchecked::<::fidl_next::WireVector<'de, crate::wire::Capability<'de>>>() }
20664 )),
20665
20666
20667 children: wire.table.get(6)
20668 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
20669 unsafe { envelope.deref_unchecked::<::fidl_next::WireVector<'de, crate::wire::Child<'de>>>() }
20670 )),
20671
20672
20673 collections: wire.table.get(7)
20674 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
20675 unsafe { envelope.deref_unchecked::<::fidl_next::WireVector<'de, crate::wire::Collection<'de>>>() }
20676 )),
20677
20678
20679 environments: wire.table.get(8)
20680 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
20681 unsafe { envelope.deref_unchecked::<::fidl_next::WireVector<'de, crate::wire::Environment<'de>>>() }
20682 )),
20683
20684
20685 facets: wire.table.get(9)
20686 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
20687 unsafe { envelope.deref_unchecked::<::fidl_next_common_fuchsia_data::wire::Dictionary<'de>>() }
20688 )),
20689
20690
20691 config: wire.table.get(10)
20692 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
20693 unsafe { envelope.deref_unchecked::<crate::wire::ConfigSchema<'de>>() }
20694 )),
20695
20696
20697 debug_info: wire.table.get(11)
20698 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
20699 unsafe { envelope.deref_unchecked::<crate::wire::DebugInfo<'de>>() }
20700 )),
20701
20702 }
20703 }
20704 }
20705
20706 #[doc = " An individual configuration value. It is matched against a specific configuration field based\n on its offset within `ValuesData.values`.\n"]
20707 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
20708 pub struct ConfigValueSpec {
20709 pub value: ::core::option::Option<crate::natural::ConfigValue>,
20710 }
20711
20712 impl ConfigValueSpec {
20713 fn __max_ordinal(&self) -> usize {
20714 if self.value.is_some() {
20715 return 1;
20716 }
20717
20718 0
20719 }
20720 }
20721
20722 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ConfigValueSpec<'static>, ___E>
20723 for ConfigValueSpec
20724 where
20725 ___E: ::fidl_next::Encoder + ?Sized,
20726 {
20727 #[inline]
20728 fn encode(
20729 mut self,
20730 encoder: &mut ___E,
20731 out: &mut ::core::mem::MaybeUninit<crate::wire::ConfigValueSpec<'static>>,
20732 _: (),
20733 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
20734 ::fidl_next::munge!(let crate::wire::ConfigValueSpec { table } = out);
20735
20736 let max_ord = self.__max_ordinal();
20737
20738 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
20739 ::fidl_next::Wire::zero_padding(&mut out);
20740
20741 let mut preallocated =
20742 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
20743
20744 for i in 1..=max_ord {
20745 match i {
20746 1 => {
20747 if let Some(value) = self.value.take() {
20748 ::fidl_next::WireEnvelope::encode_value::<
20749 crate::wire::ConfigValue<'static>,
20750 ___E,
20751 >(
20752 value, preallocated.encoder, &mut out, ()
20753 )?;
20754 } else {
20755 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20756 }
20757 }
20758
20759 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
20760 }
20761 unsafe {
20762 preallocated.write_next(out.assume_init_ref());
20763 }
20764 }
20765
20766 ::fidl_next::WireTable::encode_len(table, max_ord);
20767
20768 Ok(())
20769 }
20770 }
20771
20772 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ConfigValueSpec<'static>, ___E>
20773 for &'a ConfigValueSpec
20774 where
20775 ___E: ::fidl_next::Encoder + ?Sized,
20776 {
20777 #[inline]
20778 fn encode(
20779 self,
20780 encoder: &mut ___E,
20781 out: &mut ::core::mem::MaybeUninit<crate::wire::ConfigValueSpec<'static>>,
20782 _: (),
20783 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
20784 ::fidl_next::munge!(let crate::wire::ConfigValueSpec { table } = out);
20785
20786 let max_ord = self.__max_ordinal();
20787
20788 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
20789 ::fidl_next::Wire::zero_padding(&mut out);
20790
20791 let mut preallocated =
20792 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
20793
20794 for i in 1..=max_ord {
20795 match i {
20796 1 => {
20797 if let Some(value) = &self.value {
20798 ::fidl_next::WireEnvelope::encode_value::<
20799 crate::wire::ConfigValue<'static>,
20800 ___E,
20801 >(
20802 value, preallocated.encoder, &mut out, ()
20803 )?;
20804 } else {
20805 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20806 }
20807 }
20808
20809 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
20810 }
20811 unsafe {
20812 preallocated.write_next(out.assume_init_ref());
20813 }
20814 }
20815
20816 ::fidl_next::WireTable::encode_len(table, max_ord);
20817
20818 Ok(())
20819 }
20820 }
20821
20822 impl<'de> ::fidl_next::FromWire<crate::wire::ConfigValueSpec<'de>> for ConfigValueSpec {
20823 #[inline]
20824 fn from_wire(wire_: crate::wire::ConfigValueSpec<'de>) -> Self {
20825 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
20826
20827 let value = wire_.table.get(1);
20828
20829 Self {
20830 value: value.map(|envelope| {
20831 ::fidl_next::FromWire::from_wire(unsafe {
20832 envelope.read_unchecked::<crate::wire::ConfigValue<'de>>()
20833 })
20834 }),
20835 }
20836 }
20837 }
20838
20839 impl<'de> ::fidl_next::FromWireRef<crate::wire::ConfigValueSpec<'de>> for ConfigValueSpec {
20840 #[inline]
20841 fn from_wire_ref(wire: &crate::wire::ConfigValueSpec<'de>) -> Self {
20842 Self {
20843 value: wire.table.get(1).map(|envelope| {
20844 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
20845 envelope.deref_unchecked::<crate::wire::ConfigValue<'de>>()
20846 })
20847 }),
20848 }
20849 }
20850 }
20851
20852 #[doc = " Contents of the configuration value file. Defines the base values for a component\'s config.\n"]
20853 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
20854 pub struct ConfigValuesData {
20855 pub values: ::core::option::Option<::std::vec::Vec<crate::natural::ConfigValueSpec>>,
20856
20857 pub checksum: ::core::option::Option<crate::natural::ConfigChecksum>,
20858 }
20859
20860 impl ConfigValuesData {
20861 fn __max_ordinal(&self) -> usize {
20862 if self.checksum.is_some() {
20863 return 2;
20864 }
20865
20866 if self.values.is_some() {
20867 return 1;
20868 }
20869
20870 0
20871 }
20872 }
20873
20874 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ConfigValuesData<'static>, ___E>
20875 for ConfigValuesData
20876 where
20877 ___E: ::fidl_next::Encoder + ?Sized,
20878 {
20879 #[inline]
20880 fn encode(
20881 mut self,
20882 encoder: &mut ___E,
20883 out: &mut ::core::mem::MaybeUninit<crate::wire::ConfigValuesData<'static>>,
20884 _: (),
20885 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
20886 ::fidl_next::munge!(let crate::wire::ConfigValuesData { table } = out);
20887
20888 let max_ord = self.__max_ordinal();
20889
20890 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
20891 ::fidl_next::Wire::zero_padding(&mut out);
20892
20893 let mut preallocated =
20894 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
20895
20896 for i in 1..=max_ord {
20897 match i {
20898 2 => {
20899 if let Some(value) = self.checksum.take() {
20900 ::fidl_next::WireEnvelope::encode_value::<
20901 crate::wire::ConfigChecksum<'static>,
20902 ___E,
20903 >(
20904 value, preallocated.encoder, &mut out, ()
20905 )?;
20906 } else {
20907 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20908 }
20909 }
20910
20911 1 => {
20912 if let Some(value) = self.values.take() {
20913 ::fidl_next::WireEnvelope::encode_value::<
20914 ::fidl_next::WireVector<
20915 'static,
20916 crate::wire::ConfigValueSpec<'static>,
20917 >,
20918 ___E,
20919 >(
20920 value, preallocated.encoder, &mut out, (4294967295, ())
20921 )?;
20922 } else {
20923 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20924 }
20925 }
20926
20927 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
20928 }
20929 unsafe {
20930 preallocated.write_next(out.assume_init_ref());
20931 }
20932 }
20933
20934 ::fidl_next::WireTable::encode_len(table, max_ord);
20935
20936 Ok(())
20937 }
20938 }
20939
20940 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ConfigValuesData<'static>, ___E>
20941 for &'a ConfigValuesData
20942 where
20943 ___E: ::fidl_next::Encoder + ?Sized,
20944 {
20945 #[inline]
20946 fn encode(
20947 self,
20948 encoder: &mut ___E,
20949 out: &mut ::core::mem::MaybeUninit<crate::wire::ConfigValuesData<'static>>,
20950 _: (),
20951 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
20952 ::fidl_next::munge!(let crate::wire::ConfigValuesData { table } = out);
20953
20954 let max_ord = self.__max_ordinal();
20955
20956 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
20957 ::fidl_next::Wire::zero_padding(&mut out);
20958
20959 let mut preallocated =
20960 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
20961
20962 for i in 1..=max_ord {
20963 match i {
20964 2 => {
20965 if let Some(value) = &self.checksum {
20966 ::fidl_next::WireEnvelope::encode_value::<
20967 crate::wire::ConfigChecksum<'static>,
20968 ___E,
20969 >(
20970 value, preallocated.encoder, &mut out, ()
20971 )?;
20972 } else {
20973 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20974 }
20975 }
20976
20977 1 => {
20978 if let Some(value) = &self.values {
20979 ::fidl_next::WireEnvelope::encode_value::<
20980 ::fidl_next::WireVector<
20981 'static,
20982 crate::wire::ConfigValueSpec<'static>,
20983 >,
20984 ___E,
20985 >(
20986 value, preallocated.encoder, &mut out, (4294967295, ())
20987 )?;
20988 } else {
20989 ::fidl_next::WireEnvelope::encode_zero(&mut out)
20990 }
20991 }
20992
20993 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
20994 }
20995 unsafe {
20996 preallocated.write_next(out.assume_init_ref());
20997 }
20998 }
20999
21000 ::fidl_next::WireTable::encode_len(table, max_ord);
21001
21002 Ok(())
21003 }
21004 }
21005
21006 impl<'de> ::fidl_next::FromWire<crate::wire::ConfigValuesData<'de>> for ConfigValuesData {
21007 #[inline]
21008 fn from_wire(wire_: crate::wire::ConfigValuesData<'de>) -> Self {
21009 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
21010
21011 let values = wire_.table.get(1);
21012
21013 let checksum = wire_.table.get(2);
21014
21015 Self {
21016
21017
21018 values: values.map(|envelope| ::fidl_next::FromWire::from_wire(
21019 unsafe { envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::ConfigValueSpec<'de>>>() }
21020 )),
21021
21022
21023 checksum: checksum.map(|envelope| ::fidl_next::FromWire::from_wire(
21024 unsafe { envelope.read_unchecked::<crate::wire::ConfigChecksum<'de>>() }
21025 )),
21026
21027 }
21028 }
21029 }
21030
21031 impl<'de> ::fidl_next::FromWireRef<crate::wire::ConfigValuesData<'de>> for ConfigValuesData {
21032 #[inline]
21033 fn from_wire_ref(wire: &crate::wire::ConfigValuesData<'de>) -> Self {
21034 Self {
21035
21036
21037 values: wire.table.get(1)
21038 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
21039 unsafe { envelope.deref_unchecked::<::fidl_next::WireVector<'de, crate::wire::ConfigValueSpec<'de>>>() }
21040 )),
21041
21042
21043 checksum: wire.table.get(2)
21044 .map(|envelope| ::fidl_next::FromWireRef::from_wire_ref(
21045 unsafe { envelope.deref_unchecked::<crate::wire::ConfigChecksum<'de>>() }
21046 )),
21047
21048 }
21049 }
21050 }
21051
21052 #[doc = " Indicates the event name to subscribe to with a given event mode.\n"]
21053 #[derive(Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
21054 pub struct EventSubscription {
21055 pub event_name: ::core::option::Option<::std::string::String>,
21056 }
21057
21058 impl EventSubscription {
21059 fn __max_ordinal(&self) -> usize {
21060 if self.event_name.is_some() {
21061 return 1;
21062 }
21063
21064 0
21065 }
21066 }
21067
21068 unsafe impl<___E> ::fidl_next::Encode<crate::wire::EventSubscription<'static>, ___E>
21069 for EventSubscription
21070 where
21071 ___E: ::fidl_next::Encoder + ?Sized,
21072 {
21073 #[inline]
21074 fn encode(
21075 mut self,
21076 encoder: &mut ___E,
21077 out: &mut ::core::mem::MaybeUninit<crate::wire::EventSubscription<'static>>,
21078 _: (),
21079 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
21080 ::fidl_next::munge!(let crate::wire::EventSubscription { table } = out);
21081
21082 let max_ord = self.__max_ordinal();
21083
21084 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
21085 ::fidl_next::Wire::zero_padding(&mut out);
21086
21087 let mut preallocated =
21088 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
21089
21090 for i in 1..=max_ord {
21091 match i {
21092 1 => {
21093 if let Some(value) = self.event_name.take() {
21094 ::fidl_next::WireEnvelope::encode_value::<
21095 ::fidl_next::WireString<'static>,
21096 ___E,
21097 >(
21098 value, preallocated.encoder, &mut out, 100
21099 )?;
21100 } else {
21101 ::fidl_next::WireEnvelope::encode_zero(&mut out)
21102 }
21103 }
21104
21105 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
21106 }
21107 unsafe {
21108 preallocated.write_next(out.assume_init_ref());
21109 }
21110 }
21111
21112 ::fidl_next::WireTable::encode_len(table, max_ord);
21113
21114 Ok(())
21115 }
21116 }
21117
21118 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::EventSubscription<'static>, ___E>
21119 for &'a EventSubscription
21120 where
21121 ___E: ::fidl_next::Encoder + ?Sized,
21122 {
21123 #[inline]
21124 fn encode(
21125 self,
21126 encoder: &mut ___E,
21127 out: &mut ::core::mem::MaybeUninit<crate::wire::EventSubscription<'static>>,
21128 _: (),
21129 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
21130 ::fidl_next::munge!(let crate::wire::EventSubscription { table } = out);
21131
21132 let max_ord = self.__max_ordinal();
21133
21134 let mut out = ::core::mem::MaybeUninit::<::fidl_next::WireEnvelope>::uninit();
21135 ::fidl_next::Wire::zero_padding(&mut out);
21136
21137 let mut preallocated =
21138 ::fidl_next::EncoderExt::preallocate::<::fidl_next::WireEnvelope>(encoder, max_ord);
21139
21140 for i in 1..=max_ord {
21141 match i {
21142 1 => {
21143 if let Some(value) = &self.event_name {
21144 ::fidl_next::WireEnvelope::encode_value::<
21145 ::fidl_next::WireString<'static>,
21146 ___E,
21147 >(
21148 value, preallocated.encoder, &mut out, 100
21149 )?;
21150 } else {
21151 ::fidl_next::WireEnvelope::encode_zero(&mut out)
21152 }
21153 }
21154
21155 _ => ::fidl_next::WireEnvelope::encode_zero(&mut out),
21156 }
21157 unsafe {
21158 preallocated.write_next(out.assume_init_ref());
21159 }
21160 }
21161
21162 ::fidl_next::WireTable::encode_len(table, max_ord);
21163
21164 Ok(())
21165 }
21166 }
21167
21168 impl<'de> ::fidl_next::FromWire<crate::wire::EventSubscription<'de>> for EventSubscription {
21169 #[inline]
21170 fn from_wire(wire_: crate::wire::EventSubscription<'de>) -> Self {
21171 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
21172
21173 let event_name = wire_.table.get(1);
21174
21175 Self {
21176 event_name: event_name.map(|envelope| {
21177 ::fidl_next::FromWire::from_wire(unsafe {
21178 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
21179 })
21180 }),
21181 }
21182 }
21183 }
21184
21185 impl<'de> ::fidl_next::FromWireRef<crate::wire::EventSubscription<'de>> for EventSubscription {
21186 #[inline]
21187 fn from_wire_ref(wire: &crate::wire::EventSubscription<'de>) -> Self {
21188 Self {
21189 event_name: wire.table.get(1).map(|envelope| {
21190 ::fidl_next::FromWireRef::from_wire_ref(unsafe {
21191 envelope.deref_unchecked::<::fidl_next::WireString<'de>>()
21192 })
21193 }),
21194 }
21195 }
21196 }
21197
21198 #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
21199 pub enum LayoutParameter {
21200 NestedType(crate::natural::ConfigType),
21201
21202 UnknownOrdinal_(u64),
21203 }
21204
21205 impl LayoutParameter {
21206 pub fn is_unknown(&self) -> bool {
21207 #[allow(unreachable_patterns)]
21208 match self {
21209 Self::UnknownOrdinal_(_) => true,
21210 _ => false,
21211 }
21212 }
21213 }
21214
21215 unsafe impl<___E> ::fidl_next::Encode<crate::wire::LayoutParameter<'static>, ___E>
21216 for LayoutParameter
21217 where
21218 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
21219 ___E: ::fidl_next::Encoder,
21220 {
21221 #[inline]
21222 fn encode(
21223 self,
21224 encoder: &mut ___E,
21225 out: &mut ::core::mem::MaybeUninit<crate::wire::LayoutParameter<'static>>,
21226 _: (),
21227 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
21228 ::fidl_next::munge!(let crate::wire::LayoutParameter { raw, _phantom: _ } = out);
21229
21230 match self {
21231 Self::NestedType(value) => ::fidl_next::RawWireUnion::encode_as::<
21232 ___E,
21233 crate::wire::ConfigType<'static>,
21234 >(value, 1, encoder, raw, ())?,
21235
21236 Self::UnknownOrdinal_(ordinal) => {
21237 return Err(::fidl_next::EncodeError::UnknownUnionOrdinal(ordinal as usize));
21238 }
21239 }
21240
21241 Ok(())
21242 }
21243 }
21244
21245 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::LayoutParameter<'static>, ___E>
21246 for &'a LayoutParameter
21247 where
21248 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
21249 ___E: ::fidl_next::Encoder,
21250 {
21251 #[inline]
21252 fn encode(
21253 self,
21254 encoder: &mut ___E,
21255 out: &mut ::core::mem::MaybeUninit<crate::wire::LayoutParameter<'static>>,
21256 _: (),
21257 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
21258 ::fidl_next::munge!(let crate::wire::LayoutParameter { raw, _phantom: _ } = out);
21259
21260 match self {
21261 LayoutParameter::NestedType(value) => ::fidl_next::RawWireUnion::encode_as::<
21262 ___E,
21263 crate::wire::ConfigType<'static>,
21264 >(value, 1, encoder, raw, ())?,
21265
21266 LayoutParameter::UnknownOrdinal_(ordinal) => {
21267 return Err(::fidl_next::EncodeError::UnknownUnionOrdinal(*ordinal as usize));
21268 }
21269 }
21270
21271 Ok(())
21272 }
21273 }
21274
21275 unsafe impl<___E>
21276 ::fidl_next::EncodeOption<crate::wire_optional::LayoutParameter<'static>, ___E>
21277 for LayoutParameter
21278 where
21279 ___E: ?Sized,
21280 LayoutParameter: ::fidl_next::Encode<crate::wire::LayoutParameter<'static>, ___E>,
21281 {
21282 #[inline]
21283 fn encode_option(
21284 this: ::core::option::Option<Self>,
21285 encoder: &mut ___E,
21286 out: &mut ::core::mem::MaybeUninit<crate::wire_optional::LayoutParameter<'static>>,
21287 _: (),
21288 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
21289 ::fidl_next::munge!(let crate::wire_optional::LayoutParameter { raw, _phantom: _ } = &mut *out);
21290
21291 if let Some(inner) = this {
21292 let value_out = unsafe { &mut *out.as_mut_ptr().cast() };
21293 ::fidl_next::Encode::encode(inner, encoder, value_out, ())?;
21294 } else {
21295 ::fidl_next::RawWireUnion::encode_absent(raw);
21296 }
21297
21298 Ok(())
21299 }
21300 }
21301
21302 unsafe impl<'a, ___E>
21303 ::fidl_next::EncodeOption<crate::wire_optional::LayoutParameter<'static>, ___E>
21304 for &'a LayoutParameter
21305 where
21306 ___E: ?Sized,
21307 &'a LayoutParameter: ::fidl_next::Encode<crate::wire::LayoutParameter<'static>, ___E>,
21308 {
21309 #[inline]
21310 fn encode_option(
21311 this: ::core::option::Option<Self>,
21312 encoder: &mut ___E,
21313 out: &mut ::core::mem::MaybeUninit<crate::wire_optional::LayoutParameter<'static>>,
21314 _: (),
21315 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
21316 ::fidl_next::munge!(let crate::wire_optional::LayoutParameter { raw, _phantom: _ } = &mut *out);
21317
21318 if let Some(inner) = this {
21319 let value_out = unsafe { &mut *out.as_mut_ptr().cast() };
21320 ::fidl_next::Encode::encode(inner, encoder, value_out, ())?;
21321 } else {
21322 ::fidl_next::RawWireUnion::encode_absent(raw);
21323 }
21324
21325 Ok(())
21326 }
21327 }
21328
21329 impl<'de> ::fidl_next::FromWire<crate::wire::LayoutParameter<'de>> for LayoutParameter {
21330 #[inline]
21331 fn from_wire(wire: crate::wire::LayoutParameter<'de>) -> Self {
21332 let wire = ::core::mem::ManuallyDrop::new(wire);
21333 match wire.raw.ordinal() {
21334 1 => Self::NestedType(::fidl_next::FromWire::from_wire(unsafe {
21335 wire.raw.get().read_unchecked::<crate::wire::ConfigType<'de>>()
21336 })),
21337
21338 ord => return Self::UnknownOrdinal_(ord as u64),
21339 }
21340 }
21341 }
21342
21343 impl<'de> ::fidl_next::FromWireRef<crate::wire::LayoutParameter<'de>> for LayoutParameter {
21344 #[inline]
21345 fn from_wire_ref(wire: &crate::wire::LayoutParameter<'de>) -> Self {
21346 match wire.raw.ordinal() {
21347 1 => Self::NestedType(::fidl_next::FromWireRef::from_wire_ref(unsafe {
21348 wire.raw.get().deref_unchecked::<crate::wire::ConfigType<'de>>()
21349 })),
21350
21351 ord => return Self::UnknownOrdinal_(ord as u64),
21352 }
21353 }
21354 }
21355
21356 impl<'de> ::fidl_next::FromWireOption<crate::wire_optional::LayoutParameter<'de>>
21357 for LayoutParameter
21358 {
21359 #[inline]
21360 fn from_wire_option(
21361 wire: crate::wire_optional::LayoutParameter<'de>,
21362 ) -> ::core::option::Option<Self> {
21363 if let Some(inner) = wire.into_option() {
21364 Some(::fidl_next::FromWire::from_wire(inner))
21365 } else {
21366 None
21367 }
21368 }
21369 }
21370
21371 impl<'de> ::fidl_next::FromWireOption<crate::wire_optional::LayoutParameter<'de>>
21372 for Box<LayoutParameter>
21373 {
21374 #[inline]
21375 fn from_wire_option(
21376 wire: crate::wire_optional::LayoutParameter<'de>,
21377 ) -> ::core::option::Option<Self> {
21378 <LayoutParameter as ::fidl_next::FromWireOption<
21379 crate::wire_optional::LayoutParameter<'de>,
21380 >>::from_wire_option(wire)
21381 .map(Box::new)
21382 }
21383 }
21384
21385 impl<'de> ::fidl_next::FromWireOptionRef<crate::wire_optional::LayoutParameter<'de>>
21386 for Box<LayoutParameter>
21387 {
21388 #[inline]
21389 fn from_wire_option_ref(
21390 wire: &crate::wire_optional::LayoutParameter<'de>,
21391 ) -> ::core::option::Option<Self> {
21392 if let Some(inner) = wire.as_ref() {
21393 Some(Box::new(::fidl_next::FromWireRef::from_wire_ref(inner)))
21394 } else {
21395 None
21396 }
21397 }
21398 }
21399
21400 #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
21401 pub struct ResolvedConfigField {
21402 pub key: ::std::string::String,
21403
21404 pub value: crate::natural::ConfigValue,
21405 }
21406
21407 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ResolvedConfigField<'static>, ___E>
21408 for ResolvedConfigField
21409 where
21410 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
21411 ___E: ::fidl_next::Encoder,
21412 {
21413 #[inline]
21414 fn encode(
21415 self,
21416 encoder_: &mut ___E,
21417 out_: &mut ::core::mem::MaybeUninit<crate::wire::ResolvedConfigField<'static>>,
21418 _: (),
21419 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
21420 ::fidl_next::munge! {
21421 let crate::wire::ResolvedConfigField {
21422 key,
21423 value,
21424
21425 } = out_;
21426 }
21427
21428 ::fidl_next::Encode::encode(self.key, encoder_, key, 4294967295)?;
21429
21430 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(key.as_mut_ptr()) };
21431 ::fidl_next::Constrained::validate(_field, 4294967295)?;
21432
21433 ::fidl_next::Encode::encode(self.value, encoder_, value, ())?;
21434
21435 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(value.as_mut_ptr()) };
21436
21437 Ok(())
21438 }
21439 }
21440
21441 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ResolvedConfigField<'static>, ___E>
21442 for &'a ResolvedConfigField
21443 where
21444 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
21445 ___E: ::fidl_next::Encoder,
21446 {
21447 #[inline]
21448 fn encode(
21449 self,
21450 encoder_: &mut ___E,
21451 out_: &mut ::core::mem::MaybeUninit<crate::wire::ResolvedConfigField<'static>>,
21452 _: (),
21453 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
21454 ::fidl_next::munge! {
21455 let crate::wire::ResolvedConfigField {
21456
21457 key,
21458 value,
21459
21460 } = out_;
21461 }
21462
21463 ::fidl_next::Encode::encode(&self.key, encoder_, key, 4294967295)?;
21464
21465 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(key.as_mut_ptr()) };
21466 ::fidl_next::Constrained::validate(_field, 4294967295)?;
21467
21468 ::fidl_next::Encode::encode(&self.value, encoder_, value, ())?;
21469
21470 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(value.as_mut_ptr()) };
21471
21472 Ok(())
21473 }
21474 }
21475
21476 unsafe impl<___E>
21477 ::fidl_next::EncodeOption<
21478 ::fidl_next::WireBox<'static, crate::wire::ResolvedConfigField<'static>>,
21479 ___E,
21480 > for ResolvedConfigField
21481 where
21482 ___E: ::fidl_next::Encoder + ?Sized,
21483 ResolvedConfigField: ::fidl_next::Encode<crate::wire::ResolvedConfigField<'static>, ___E>,
21484 {
21485 #[inline]
21486 fn encode_option(
21487 this: ::core::option::Option<Self>,
21488 encoder: &mut ___E,
21489 out: &mut ::core::mem::MaybeUninit<
21490 ::fidl_next::WireBox<'static, crate::wire::ResolvedConfigField<'static>>,
21491 >,
21492 _: (),
21493 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
21494 if let Some(inner) = this {
21495 ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
21496 ::fidl_next::WireBox::encode_present(out);
21497 } else {
21498 ::fidl_next::WireBox::encode_absent(out);
21499 }
21500
21501 Ok(())
21502 }
21503 }
21504
21505 unsafe impl<'a, ___E>
21506 ::fidl_next::EncodeOption<
21507 ::fidl_next::WireBox<'static, crate::wire::ResolvedConfigField<'static>>,
21508 ___E,
21509 > for &'a ResolvedConfigField
21510 where
21511 ___E: ::fidl_next::Encoder + ?Sized,
21512 &'a ResolvedConfigField:
21513 ::fidl_next::Encode<crate::wire::ResolvedConfigField<'static>, ___E>,
21514 {
21515 #[inline]
21516 fn encode_option(
21517 this: ::core::option::Option<Self>,
21518 encoder: &mut ___E,
21519 out: &mut ::core::mem::MaybeUninit<
21520 ::fidl_next::WireBox<'static, crate::wire::ResolvedConfigField<'static>>,
21521 >,
21522 _: (),
21523 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
21524 if let Some(inner) = this {
21525 ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
21526 ::fidl_next::WireBox::encode_present(out);
21527 } else {
21528 ::fidl_next::WireBox::encode_absent(out);
21529 }
21530
21531 Ok(())
21532 }
21533 }
21534
21535 impl<'de> ::fidl_next::FromWire<crate::wire::ResolvedConfigField<'de>> for ResolvedConfigField {
21536 #[inline]
21537 fn from_wire(wire: crate::wire::ResolvedConfigField<'de>) -> Self {
21538 Self {
21539 key: ::fidl_next::FromWire::from_wire(wire.key),
21540
21541 value: ::fidl_next::FromWire::from_wire(wire.value),
21542 }
21543 }
21544 }
21545
21546 impl<'de> ::fidl_next::FromWireRef<crate::wire::ResolvedConfigField<'de>> for ResolvedConfigField {
21547 #[inline]
21548 fn from_wire_ref(wire: &crate::wire::ResolvedConfigField<'de>) -> Self {
21549 Self {
21550 key: ::fidl_next::FromWireRef::from_wire_ref(&wire.key),
21551
21552 value: ::fidl_next::FromWireRef::from_wire_ref(&wire.value),
21553 }
21554 }
21555 }
21556
21557 #[doc = " A configuration that has been completely resolved by component manager.\n"]
21558 #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
21559 pub struct ResolvedConfig {
21560 pub fields: ::std::vec::Vec<crate::natural::ResolvedConfigField>,
21561
21562 pub checksum: crate::natural::ConfigChecksum,
21563 }
21564
21565 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ResolvedConfig<'static>, ___E> for ResolvedConfig
21566 where
21567 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
21568 ___E: ::fidl_next::Encoder,
21569 {
21570 #[inline]
21571 fn encode(
21572 self,
21573 encoder_: &mut ___E,
21574 out_: &mut ::core::mem::MaybeUninit<crate::wire::ResolvedConfig<'static>>,
21575 _: (),
21576 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
21577 ::fidl_next::munge! {
21578 let crate::wire::ResolvedConfig {
21579 fields,
21580 checksum,
21581
21582 } = out_;
21583 }
21584
21585 ::fidl_next::Encode::encode(self.fields, encoder_, fields, (4294967295, ()))?;
21586
21587 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(fields.as_mut_ptr()) };
21588 ::fidl_next::Constrained::validate(_field, (4294967295, ()))?;
21589
21590 ::fidl_next::Encode::encode(self.checksum, encoder_, checksum, ())?;
21591
21592 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(checksum.as_mut_ptr()) };
21593
21594 Ok(())
21595 }
21596 }
21597
21598 unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ResolvedConfig<'static>, ___E>
21599 for &'a ResolvedConfig
21600 where
21601 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
21602 ___E: ::fidl_next::Encoder,
21603 {
21604 #[inline]
21605 fn encode(
21606 self,
21607 encoder_: &mut ___E,
21608 out_: &mut ::core::mem::MaybeUninit<crate::wire::ResolvedConfig<'static>>,
21609 _: (),
21610 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
21611 ::fidl_next::munge! {
21612 let crate::wire::ResolvedConfig {
21613
21614 fields,
21615 checksum,
21616
21617 } = out_;
21618 }
21619
21620 ::fidl_next::Encode::encode(&self.fields, encoder_, fields, (4294967295, ()))?;
21621
21622 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(fields.as_mut_ptr()) };
21623 ::fidl_next::Constrained::validate(_field, (4294967295, ()))?;
21624
21625 ::fidl_next::Encode::encode(&self.checksum, encoder_, checksum, ())?;
21626
21627 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(checksum.as_mut_ptr()) };
21628
21629 Ok(())
21630 }
21631 }
21632
21633 unsafe impl<___E>
21634 ::fidl_next::EncodeOption<
21635 ::fidl_next::WireBox<'static, crate::wire::ResolvedConfig<'static>>,
21636 ___E,
21637 > for ResolvedConfig
21638 where
21639 ___E: ::fidl_next::Encoder + ?Sized,
21640 ResolvedConfig: ::fidl_next::Encode<crate::wire::ResolvedConfig<'static>, ___E>,
21641 {
21642 #[inline]
21643 fn encode_option(
21644 this: ::core::option::Option<Self>,
21645 encoder: &mut ___E,
21646 out: &mut ::core::mem::MaybeUninit<
21647 ::fidl_next::WireBox<'static, crate::wire::ResolvedConfig<'static>>,
21648 >,
21649 _: (),
21650 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
21651 if let Some(inner) = this {
21652 ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
21653 ::fidl_next::WireBox::encode_present(out);
21654 } else {
21655 ::fidl_next::WireBox::encode_absent(out);
21656 }
21657
21658 Ok(())
21659 }
21660 }
21661
21662 unsafe impl<'a, ___E>
21663 ::fidl_next::EncodeOption<
21664 ::fidl_next::WireBox<'static, crate::wire::ResolvedConfig<'static>>,
21665 ___E,
21666 > for &'a ResolvedConfig
21667 where
21668 ___E: ::fidl_next::Encoder + ?Sized,
21669 &'a ResolvedConfig: ::fidl_next::Encode<crate::wire::ResolvedConfig<'static>, ___E>,
21670 {
21671 #[inline]
21672 fn encode_option(
21673 this: ::core::option::Option<Self>,
21674 encoder: &mut ___E,
21675 out: &mut ::core::mem::MaybeUninit<
21676 ::fidl_next::WireBox<'static, crate::wire::ResolvedConfig<'static>>,
21677 >,
21678 _: (),
21679 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
21680 if let Some(inner) = this {
21681 ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
21682 ::fidl_next::WireBox::encode_present(out);
21683 } else {
21684 ::fidl_next::WireBox::encode_absent(out);
21685 }
21686
21687 Ok(())
21688 }
21689 }
21690
21691 impl<'de> ::fidl_next::FromWire<crate::wire::ResolvedConfig<'de>> for ResolvedConfig {
21692 #[inline]
21693 fn from_wire(wire: crate::wire::ResolvedConfig<'de>) -> Self {
21694 Self {
21695 fields: ::fidl_next::FromWire::from_wire(wire.fields),
21696
21697 checksum: ::fidl_next::FromWire::from_wire(wire.checksum),
21698 }
21699 }
21700 }
21701
21702 impl<'de> ::fidl_next::FromWireRef<crate::wire::ResolvedConfig<'de>> for ResolvedConfig {
21703 #[inline]
21704 fn from_wire_ref(wire: &crate::wire::ResolvedConfig<'de>) -> Self {
21705 Self {
21706 fields: ::fidl_next::FromWireRef::from_wire_ref(&wire.fields),
21707
21708 checksum: ::fidl_next::FromWireRef::from_wire_ref(&wire.checksum),
21709 }
21710 }
21711 }
21712}
21713
21714pub mod wire {
21715
21716 #[derive(Clone, Copy, Debug, PartialEq, Eq)]
21718 #[repr(transparent)]
21719 pub struct AllowedOffers {
21720 pub(crate) value: ::fidl_next::WireU32,
21721 }
21722
21723 unsafe impl ::fidl_next::Wire for AllowedOffers {
21724 type Owned<'de> = Self;
21725
21726 #[inline]
21727 fn zero_padding(_: &mut ::core::mem::MaybeUninit<Self>) {
21728 }
21730 }
21731
21732 impl AllowedOffers {
21733 pub const STATIC_ONLY: AllowedOffers = AllowedOffers { value: ::fidl_next::WireU32(1) };
21734
21735 pub const STATIC_AND_DYNAMIC: AllowedOffers =
21736 AllowedOffers { value: ::fidl_next::WireU32(2) };
21737 }
21738
21739 unsafe impl<___D> ::fidl_next::Decode<___D> for AllowedOffers
21740 where
21741 ___D: ?Sized,
21742 {
21743 fn decode(
21744 slot: ::fidl_next::Slot<'_, Self>,
21745 _: &mut ___D,
21746 _: (),
21747 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
21748 ::fidl_next::munge!(let Self { value } = slot);
21749
21750 match u32::from(*value) {
21751 1 | 2 => (),
21752 unknown => {
21753 return Err(::fidl_next::DecodeError::InvalidEnumOrdinal(unknown as i128));
21754 }
21755 }
21756
21757 Ok(())
21758 }
21759 }
21760
21761 impl ::core::convert::From<crate::natural::AllowedOffers> for AllowedOffers {
21762 fn from(natural: crate::natural::AllowedOffers) -> Self {
21763 match natural {
21764 crate::natural::AllowedOffers::StaticOnly => AllowedOffers::STATIC_ONLY,
21765
21766 crate::natural::AllowedOffers::StaticAndDynamic => {
21767 AllowedOffers::STATIC_AND_DYNAMIC
21768 }
21769 }
21770 }
21771 }
21772
21773 impl ::fidl_next::IntoNatural for AllowedOffers {
21774 type Natural = crate::natural::AllowedOffers;
21775 }
21776
21777 impl ::fidl_next::Unconstrained for AllowedOffers {}
21778
21779 #[derive(Clone, Copy, Debug, PartialEq, Eq)]
21781 #[repr(transparent)]
21782 pub struct Availability {
21783 pub(crate) value: ::fidl_next::WireU32,
21784 }
21785
21786 unsafe impl ::fidl_next::Wire for Availability {
21787 type Owned<'de> = Self;
21788
21789 #[inline]
21790 fn zero_padding(_: &mut ::core::mem::MaybeUninit<Self>) {
21791 }
21793 }
21794
21795 impl Availability {
21796 pub const REQUIRED: Availability = Availability { value: ::fidl_next::WireU32(1) };
21797
21798 pub const OPTIONAL: Availability = Availability { value: ::fidl_next::WireU32(2) };
21799
21800 pub const SAME_AS_TARGET: Availability = Availability { value: ::fidl_next::WireU32(3) };
21801
21802 pub const TRANSITIONAL: Availability = Availability { value: ::fidl_next::WireU32(4) };
21803 }
21804
21805 unsafe impl<___D> ::fidl_next::Decode<___D> for Availability
21806 where
21807 ___D: ?Sized,
21808 {
21809 fn decode(
21810 slot: ::fidl_next::Slot<'_, Self>,
21811 _: &mut ___D,
21812 _: (),
21813 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
21814 ::fidl_next::munge!(let Self { value } = slot);
21815
21816 match u32::from(*value) {
21817 1 | 2 | 3 | 4 => (),
21818 unknown => {
21819 return Err(::fidl_next::DecodeError::InvalidEnumOrdinal(unknown as i128));
21820 }
21821 }
21822
21823 Ok(())
21824 }
21825 }
21826
21827 impl ::core::convert::From<crate::natural::Availability> for Availability {
21828 fn from(natural: crate::natural::Availability) -> Self {
21829 match natural {
21830 crate::natural::Availability::Required => Availability::REQUIRED,
21831
21832 crate::natural::Availability::Optional => Availability::OPTIONAL,
21833
21834 crate::natural::Availability::SameAsTarget => Availability::SAME_AS_TARGET,
21835
21836 crate::natural::Availability::Transitional => Availability::TRANSITIONAL,
21837 }
21838 }
21839 }
21840
21841 impl ::fidl_next::IntoNatural for Availability {
21842 type Natural = crate::natural::Availability;
21843 }
21844
21845 impl ::fidl_next::Unconstrained for Availability {}
21846
21847 pub type Name<'de> = ::fidl_next::WireString<'de>;
21849
21850 #[repr(C)]
21852 pub struct Service<'de> {
21853 pub(crate) table: ::fidl_next::WireTable<'de>,
21854 }
21855
21856 impl<'de> Drop for Service<'de> {
21857 fn drop(&mut self) {
21858 let _ = self.table.get(1).map(|envelope| unsafe {
21859 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
21860 });
21861
21862 let _ = self.table.get(2).map(|envelope| unsafe {
21863 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
21864 });
21865 }
21866 }
21867
21868 unsafe impl ::fidl_next::Wire for Service<'static> {
21869 type Owned<'de> = Service<'de>;
21870
21871 #[inline]
21872 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
21873 ::fidl_next::munge!(let Self { table } = out);
21874 ::fidl_next::WireTable::zero_padding(table);
21875 }
21876 }
21877
21878 unsafe impl<___D> ::fidl_next::Decode<___D> for Service<'static>
21879 where
21880 ___D: ::fidl_next::Decoder + ?Sized,
21881 {
21882 fn decode(
21883 slot: ::fidl_next::Slot<'_, Self>,
21884 decoder: &mut ___D,
21885 _: (),
21886 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
21887 ::fidl_next::munge!(let Self { table } = slot);
21888
21889 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
21890 match ordinal {
21891 0 => unsafe { ::core::hint::unreachable_unchecked() },
21892
21893 1 => {
21894 ::fidl_next::WireEnvelope::decode_as::<
21895 ___D,
21896 ::fidl_next::WireString<'static>,
21897 >(slot.as_mut(), decoder, 100)?;
21898
21899 let value = unsafe {
21900 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
21901 };
21902
21903 if value.len() > 100 {
21904 return Err(::fidl_next::DecodeError::VectorTooLong {
21905 size: value.len() as u64,
21906 limit: 100,
21907 });
21908 }
21909
21910 Ok(())
21911 }
21912
21913 2 => {
21914 ::fidl_next::WireEnvelope::decode_as::<
21915 ___D,
21916 ::fidl_next::WireString<'static>,
21917 >(slot.as_mut(), decoder, 1024)?;
21918
21919 let value = unsafe {
21920 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
21921 };
21922
21923 if value.len() > 1024 {
21924 return Err(::fidl_next::DecodeError::VectorTooLong {
21925 size: value.len() as u64,
21926 limit: 1024,
21927 });
21928 }
21929
21930 Ok(())
21931 }
21932
21933 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
21934 }
21935 })
21936 }
21937 }
21938
21939 impl<'de> Service<'de> {
21940 pub fn name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
21941 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
21942 }
21943
21944 pub fn source_path(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
21945 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
21946 }
21947 }
21948
21949 impl<'de> ::core::fmt::Debug for Service<'de> {
21950 fn fmt(
21951 &self,
21952 f: &mut ::core::fmt::Formatter<'_>,
21953 ) -> ::core::result::Result<(), ::core::fmt::Error> {
21954 f.debug_struct("Service")
21955 .field("name", &self.name())
21956 .field("source_path", &self.source_path())
21957 .finish()
21958 }
21959 }
21960
21961 impl<'de> ::fidl_next::IntoNatural for Service<'de> {
21962 type Natural = crate::natural::Service;
21963 }
21964
21965 impl ::fidl_next::Unconstrained for Service<'_> {}
21966
21967 #[repr(C)]
21969 pub struct Directory<'de> {
21970 pub(crate) table: ::fidl_next::WireTable<'de>,
21971 }
21972
21973 impl<'de> Drop for Directory<'de> {
21974 fn drop(&mut self) {
21975 let _ = self.table.get(1).map(|envelope| unsafe {
21976 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
21977 });
21978
21979 let _ = self.table.get(2).map(|envelope| unsafe {
21980 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
21981 });
21982
21983 let _ = self.table.get(3).map(|envelope| unsafe {
21984 envelope.read_unchecked::<::fidl_next_common_fuchsia_io::wire::Operations>()
21985 });
21986 }
21987 }
21988
21989 unsafe impl ::fidl_next::Wire for Directory<'static> {
21990 type Owned<'de> = Directory<'de>;
21991
21992 #[inline]
21993 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
21994 ::fidl_next::munge!(let Self { table } = out);
21995 ::fidl_next::WireTable::zero_padding(table);
21996 }
21997 }
21998
21999 unsafe impl<___D> ::fidl_next::Decode<___D> for Directory<'static>
22000 where
22001 ___D: ::fidl_next::Decoder + ?Sized,
22002 {
22003 fn decode(
22004 slot: ::fidl_next::Slot<'_, Self>,
22005 decoder: &mut ___D,
22006 _: (),
22007 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
22008 ::fidl_next::munge!(let Self { table } = slot);
22009
22010 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
22011 match ordinal {
22012 0 => unsafe { ::core::hint::unreachable_unchecked() },
22013
22014 1 => {
22015 ::fidl_next::WireEnvelope::decode_as::<
22016 ___D,
22017 ::fidl_next::WireString<'static>,
22018 >(slot.as_mut(), decoder, 100)?;
22019
22020 let value = unsafe {
22021 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
22022 };
22023
22024 if value.len() > 100 {
22025 return Err(::fidl_next::DecodeError::VectorTooLong {
22026 size: value.len() as u64,
22027 limit: 100,
22028 });
22029 }
22030
22031 Ok(())
22032 }
22033
22034 2 => {
22035 ::fidl_next::WireEnvelope::decode_as::<
22036 ___D,
22037 ::fidl_next::WireString<'static>,
22038 >(slot.as_mut(), decoder, 1024)?;
22039
22040 let value = unsafe {
22041 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
22042 };
22043
22044 if value.len() > 1024 {
22045 return Err(::fidl_next::DecodeError::VectorTooLong {
22046 size: value.len() as u64,
22047 limit: 1024,
22048 });
22049 }
22050
22051 Ok(())
22052 }
22053
22054 3 => {
22055 ::fidl_next::WireEnvelope::decode_as::<
22056 ___D,
22057 ::fidl_next_common_fuchsia_io::wire::Operations,
22058 >(slot.as_mut(), decoder, ())?;
22059
22060 Ok(())
22061 }
22062
22063 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
22064 }
22065 })
22066 }
22067 }
22068
22069 impl<'de> Directory<'de> {
22070 pub fn name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
22071 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
22072 }
22073
22074 pub fn source_path(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
22075 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
22076 }
22077
22078 pub fn rights(
22079 &self,
22080 ) -> ::core::option::Option<&::fidl_next_common_fuchsia_io::wire::Operations> {
22081 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
22082 }
22083 }
22084
22085 impl<'de> ::core::fmt::Debug for Directory<'de> {
22086 fn fmt(
22087 &self,
22088 f: &mut ::core::fmt::Formatter<'_>,
22089 ) -> ::core::result::Result<(), ::core::fmt::Error> {
22090 f.debug_struct("Directory")
22091 .field("name", &self.name())
22092 .field("source_path", &self.source_path())
22093 .field("rights", &self.rights())
22094 .finish()
22095 }
22096 }
22097
22098 impl<'de> ::fidl_next::IntoNatural for Directory<'de> {
22099 type Natural = crate::natural::Directory;
22100 }
22101
22102 impl ::fidl_next::Unconstrained for Directory<'_> {}
22103
22104 #[derive(Clone, Debug)]
22106 #[repr(C)]
22107 pub struct ParentRef {
22108 pub(crate) _empty: fidl_next::WireEmptyStructPlaceholder,
22109 }
22110
22111 static_assertions::const_assert_eq!(std::mem::size_of::<ParentRef>(), 1);
22112 static_assertions::const_assert_eq!(std::mem::align_of::<ParentRef>(), 1);
22113
22114 unsafe impl ::fidl_next::Wire for ParentRef {
22115 type Owned<'de> = ParentRef;
22116
22117 #[inline]
22118 fn zero_padding(out_: &mut ::core::mem::MaybeUninit<Self>) {
22119 ::fidl_next::munge! {
22120 let Self {
22121
22122 _empty,
22123
22124
22125 } = &mut *out_;
22126 }
22127 }
22128 }
22129
22130 unsafe impl<___D> ::fidl_next::Decode<___D> for ParentRef
22131 where
22132 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
22133 {
22134 fn decode(
22135 slot_: ::fidl_next::Slot<'_, Self>,
22136 decoder_: &mut ___D,
22137 _: (),
22138 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
22139 ::fidl_next::munge! {
22140 let Self {
22141
22142 mut _empty,
22143
22144
22145 } = slot_;
22146 }
22147
22148 if _empty.as_bytes() != &[0u8] {
22149 return Err(::fidl_next::DecodeError::InvalidEmptyStruct);
22150 }
22151
22152 Ok(())
22153 }
22154 }
22155
22156 impl ::fidl_next::IntoNatural for ParentRef {
22157 type Natural = crate::natural::ParentRef;
22158 }
22159
22160 impl ::fidl_next::Unconstrained for ParentRef {}
22161
22162 #[derive(Clone, Debug)]
22164 #[repr(C)]
22165 pub struct SelfRef {
22166 pub(crate) _empty: fidl_next::WireEmptyStructPlaceholder,
22167 }
22168
22169 static_assertions::const_assert_eq!(std::mem::size_of::<SelfRef>(), 1);
22170 static_assertions::const_assert_eq!(std::mem::align_of::<SelfRef>(), 1);
22171
22172 unsafe impl ::fidl_next::Wire for SelfRef {
22173 type Owned<'de> = SelfRef;
22174
22175 #[inline]
22176 fn zero_padding(out_: &mut ::core::mem::MaybeUninit<Self>) {
22177 ::fidl_next::munge! {
22178 let Self {
22179
22180 _empty,
22181
22182
22183 } = &mut *out_;
22184 }
22185 }
22186 }
22187
22188 unsafe impl<___D> ::fidl_next::Decode<___D> for SelfRef
22189 where
22190 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
22191 {
22192 fn decode(
22193 slot_: ::fidl_next::Slot<'_, Self>,
22194 decoder_: &mut ___D,
22195 _: (),
22196 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
22197 ::fidl_next::munge! {
22198 let Self {
22199
22200 mut _empty,
22201
22202
22203 } = slot_;
22204 }
22205
22206 if _empty.as_bytes() != &[0u8] {
22207 return Err(::fidl_next::DecodeError::InvalidEmptyStruct);
22208 }
22209
22210 Ok(())
22211 }
22212 }
22213
22214 impl ::fidl_next::IntoNatural for SelfRef {
22215 type Natural = crate::natural::SelfRef;
22216 }
22217
22218 impl ::fidl_next::Unconstrained for SelfRef {}
22219
22220 pub type ChildName<'de> = ::fidl_next::WireString<'de>;
22222
22223 #[derive(Debug)]
22225 #[repr(C)]
22226 pub struct ChildRef<'de> {
22227 pub name: ::fidl_next::WireString<'de>,
22228
22229 pub collection: ::fidl_next::WireOptionalString<'de>,
22230 }
22231
22232 static_assertions::const_assert_eq!(std::mem::size_of::<ChildRef<'_>>(), 32);
22233 static_assertions::const_assert_eq!(std::mem::align_of::<ChildRef<'_>>(), 8);
22234
22235 static_assertions::const_assert_eq!(std::mem::offset_of!(ChildRef<'_>, name), 0);
22236
22237 static_assertions::const_assert_eq!(std::mem::offset_of!(ChildRef<'_>, collection), 16);
22238
22239 unsafe impl ::fidl_next::Wire for ChildRef<'static> {
22240 type Owned<'de> = ChildRef<'de>;
22241
22242 #[inline]
22243 fn zero_padding(out_: &mut ::core::mem::MaybeUninit<Self>) {
22244 ::fidl_next::munge! {
22245 let Self {
22246
22247 name,
22248 collection,
22249
22250 } = &mut *out_;
22251 }
22252
22253 ::fidl_next::Wire::zero_padding(name);
22254
22255 ::fidl_next::Wire::zero_padding(collection);
22256 }
22257 }
22258
22259 unsafe impl<___D> ::fidl_next::Decode<___D> for ChildRef<'static>
22260 where
22261 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
22262 ___D: ::fidl_next::Decoder,
22263 {
22264 fn decode(
22265 slot_: ::fidl_next::Slot<'_, Self>,
22266 decoder_: &mut ___D,
22267 _: (),
22268 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
22269 ::fidl_next::munge! {
22270 let Self {
22271
22272 mut name,
22273 mut collection,
22274
22275 } = slot_;
22276 }
22277
22278 let _field = name.as_mut();
22279 ::fidl_next::Constrained::validate(_field, 1024)?;
22280 ::fidl_next::Decode::decode(name.as_mut(), decoder_, 1024)?;
22281
22282 let name = unsafe { name.deref_unchecked() };
22283
22284 if name.len() > 1024 {
22285 return Err(::fidl_next::DecodeError::VectorTooLong {
22286 size: name.len() as u64,
22287 limit: 1024,
22288 });
22289 }
22290
22291 let _field = collection.as_mut();
22292 ::fidl_next::Constrained::validate(_field, 100)?;
22293 ::fidl_next::Decode::decode(collection.as_mut(), decoder_, 100)?;
22294
22295 let collection = unsafe { collection.deref_unchecked() };
22296
22297 if let Some(collection) = collection.as_ref() {
22298 if collection.len() > 100 {
22299 return Err(::fidl_next::DecodeError::VectorTooLong {
22300 size: collection.len() as u64,
22301 limit: 100,
22302 });
22303 }
22304 }
22305
22306 Ok(())
22307 }
22308 }
22309
22310 impl<'de> ::fidl_next::IntoNatural for ChildRef<'de> {
22311 type Natural = crate::natural::ChildRef;
22312 }
22313
22314 impl ::fidl_next::Unconstrained for ChildRef<'static> {}
22315
22316 #[derive(Debug)]
22318 #[repr(C)]
22319 pub struct CollectionRef<'de> {
22320 pub name: ::fidl_next::WireString<'de>,
22321 }
22322
22323 static_assertions::const_assert_eq!(std::mem::size_of::<CollectionRef<'_>>(), 16);
22324 static_assertions::const_assert_eq!(std::mem::align_of::<CollectionRef<'_>>(), 8);
22325
22326 static_assertions::const_assert_eq!(std::mem::offset_of!(CollectionRef<'_>, name), 0);
22327
22328 unsafe impl ::fidl_next::Wire for CollectionRef<'static> {
22329 type Owned<'de> = CollectionRef<'de>;
22330
22331 #[inline]
22332 fn zero_padding(out_: &mut ::core::mem::MaybeUninit<Self>) {
22333 ::fidl_next::munge! {
22334 let Self {
22335
22336 name,
22337
22338 } = &mut *out_;
22339 }
22340
22341 ::fidl_next::Wire::zero_padding(name);
22342 }
22343 }
22344
22345 unsafe impl<___D> ::fidl_next::Decode<___D> for CollectionRef<'static>
22346 where
22347 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
22348 ___D: ::fidl_next::Decoder,
22349 {
22350 fn decode(
22351 slot_: ::fidl_next::Slot<'_, Self>,
22352 decoder_: &mut ___D,
22353 _: (),
22354 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
22355 ::fidl_next::munge! {
22356 let Self {
22357
22358 mut name,
22359
22360 } = slot_;
22361 }
22362
22363 let _field = name.as_mut();
22364 ::fidl_next::Constrained::validate(_field, 100)?;
22365 ::fidl_next::Decode::decode(name.as_mut(), decoder_, 100)?;
22366
22367 let name = unsafe { name.deref_unchecked() };
22368
22369 if name.len() > 100 {
22370 return Err(::fidl_next::DecodeError::VectorTooLong {
22371 size: name.len() as u64,
22372 limit: 100,
22373 });
22374 }
22375
22376 Ok(())
22377 }
22378 }
22379
22380 impl<'de> ::fidl_next::IntoNatural for CollectionRef<'de> {
22381 type Natural = crate::natural::CollectionRef;
22382 }
22383
22384 impl ::fidl_next::Unconstrained for CollectionRef<'static> {}
22385
22386 #[derive(Clone, Debug)]
22388 #[repr(C)]
22389 pub struct FrameworkRef {
22390 pub(crate) _empty: fidl_next::WireEmptyStructPlaceholder,
22391 }
22392
22393 static_assertions::const_assert_eq!(std::mem::size_of::<FrameworkRef>(), 1);
22394 static_assertions::const_assert_eq!(std::mem::align_of::<FrameworkRef>(), 1);
22395
22396 unsafe impl ::fidl_next::Wire for FrameworkRef {
22397 type Owned<'de> = FrameworkRef;
22398
22399 #[inline]
22400 fn zero_padding(out_: &mut ::core::mem::MaybeUninit<Self>) {
22401 ::fidl_next::munge! {
22402 let Self {
22403
22404 _empty,
22405
22406
22407 } = &mut *out_;
22408 }
22409 }
22410 }
22411
22412 unsafe impl<___D> ::fidl_next::Decode<___D> for FrameworkRef
22413 where
22414 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
22415 {
22416 fn decode(
22417 slot_: ::fidl_next::Slot<'_, Self>,
22418 decoder_: &mut ___D,
22419 _: (),
22420 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
22421 ::fidl_next::munge! {
22422 let Self {
22423
22424 mut _empty,
22425
22426
22427 } = slot_;
22428 }
22429
22430 if _empty.as_bytes() != &[0u8] {
22431 return Err(::fidl_next::DecodeError::InvalidEmptyStruct);
22432 }
22433
22434 Ok(())
22435 }
22436 }
22437
22438 impl ::fidl_next::IntoNatural for FrameworkRef {
22439 type Natural = crate::natural::FrameworkRef;
22440 }
22441
22442 impl ::fidl_next::Unconstrained for FrameworkRef {}
22443
22444 #[derive(Debug)]
22446 #[repr(C)]
22447 pub struct CapabilityRef<'de> {
22448 pub name: ::fidl_next::WireString<'de>,
22449 }
22450
22451 static_assertions::const_assert_eq!(std::mem::size_of::<CapabilityRef<'_>>(), 16);
22452 static_assertions::const_assert_eq!(std::mem::align_of::<CapabilityRef<'_>>(), 8);
22453
22454 static_assertions::const_assert_eq!(std::mem::offset_of!(CapabilityRef<'_>, name), 0);
22455
22456 unsafe impl ::fidl_next::Wire for CapabilityRef<'static> {
22457 type Owned<'de> = CapabilityRef<'de>;
22458
22459 #[inline]
22460 fn zero_padding(out_: &mut ::core::mem::MaybeUninit<Self>) {
22461 ::fidl_next::munge! {
22462 let Self {
22463
22464 name,
22465
22466 } = &mut *out_;
22467 }
22468
22469 ::fidl_next::Wire::zero_padding(name);
22470 }
22471 }
22472
22473 unsafe impl<___D> ::fidl_next::Decode<___D> for CapabilityRef<'static>
22474 where
22475 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
22476 ___D: ::fidl_next::Decoder,
22477 {
22478 fn decode(
22479 slot_: ::fidl_next::Slot<'_, Self>,
22480 decoder_: &mut ___D,
22481 _: (),
22482 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
22483 ::fidl_next::munge! {
22484 let Self {
22485
22486 mut name,
22487
22488 } = slot_;
22489 }
22490
22491 let _field = name.as_mut();
22492 ::fidl_next::Constrained::validate(_field, 100)?;
22493 ::fidl_next::Decode::decode(name.as_mut(), decoder_, 100)?;
22494
22495 let name = unsafe { name.deref_unchecked() };
22496
22497 if name.len() > 100 {
22498 return Err(::fidl_next::DecodeError::VectorTooLong {
22499 size: name.len() as u64,
22500 limit: 100,
22501 });
22502 }
22503
22504 Ok(())
22505 }
22506 }
22507
22508 impl<'de> ::fidl_next::IntoNatural for CapabilityRef<'de> {
22509 type Natural = crate::natural::CapabilityRef;
22510 }
22511
22512 impl ::fidl_next::Unconstrained for CapabilityRef<'static> {}
22513
22514 #[derive(Clone, Debug)]
22516 #[repr(C)]
22517 pub struct DebugRef {
22518 pub(crate) _empty: fidl_next::WireEmptyStructPlaceholder,
22519 }
22520
22521 static_assertions::const_assert_eq!(std::mem::size_of::<DebugRef>(), 1);
22522 static_assertions::const_assert_eq!(std::mem::align_of::<DebugRef>(), 1);
22523
22524 unsafe impl ::fidl_next::Wire for DebugRef {
22525 type Owned<'de> = DebugRef;
22526
22527 #[inline]
22528 fn zero_padding(out_: &mut ::core::mem::MaybeUninit<Self>) {
22529 ::fidl_next::munge! {
22530 let Self {
22531
22532 _empty,
22533
22534
22535 } = &mut *out_;
22536 }
22537 }
22538 }
22539
22540 unsafe impl<___D> ::fidl_next::Decode<___D> for DebugRef
22541 where
22542 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
22543 {
22544 fn decode(
22545 slot_: ::fidl_next::Slot<'_, Self>,
22546 decoder_: &mut ___D,
22547 _: (),
22548 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
22549 ::fidl_next::munge! {
22550 let Self {
22551
22552 mut _empty,
22553
22554
22555 } = slot_;
22556 }
22557
22558 if _empty.as_bytes() != &[0u8] {
22559 return Err(::fidl_next::DecodeError::InvalidEmptyStruct);
22560 }
22561
22562 Ok(())
22563 }
22564 }
22565
22566 impl ::fidl_next::IntoNatural for DebugRef {
22567 type Natural = crate::natural::DebugRef;
22568 }
22569
22570 impl ::fidl_next::Unconstrained for DebugRef {}
22571
22572 #[derive(Clone, Debug)]
22574 #[repr(C)]
22575 pub struct VoidRef {
22576 pub(crate) _empty: fidl_next::WireEmptyStructPlaceholder,
22577 }
22578
22579 static_assertions::const_assert_eq!(std::mem::size_of::<VoidRef>(), 1);
22580 static_assertions::const_assert_eq!(std::mem::align_of::<VoidRef>(), 1);
22581
22582 unsafe impl ::fidl_next::Wire for VoidRef {
22583 type Owned<'de> = VoidRef;
22584
22585 #[inline]
22586 fn zero_padding(out_: &mut ::core::mem::MaybeUninit<Self>) {
22587 ::fidl_next::munge! {
22588 let Self {
22589
22590 _empty,
22591
22592
22593 } = &mut *out_;
22594 }
22595 }
22596 }
22597
22598 unsafe impl<___D> ::fidl_next::Decode<___D> for VoidRef
22599 where
22600 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
22601 {
22602 fn decode(
22603 slot_: ::fidl_next::Slot<'_, Self>,
22604 decoder_: &mut ___D,
22605 _: (),
22606 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
22607 ::fidl_next::munge! {
22608 let Self {
22609
22610 mut _empty,
22611
22612
22613 } = slot_;
22614 }
22615
22616 if _empty.as_bytes() != &[0u8] {
22617 return Err(::fidl_next::DecodeError::InvalidEmptyStruct);
22618 }
22619
22620 Ok(())
22621 }
22622 }
22623
22624 impl ::fidl_next::IntoNatural for VoidRef {
22625 type Natural = crate::natural::VoidRef;
22626 }
22627
22628 impl ::fidl_next::Unconstrained for VoidRef {}
22629
22630 #[derive(Clone, Copy, Debug, PartialEq, Eq)]
22632 #[repr(transparent)]
22633 pub struct StorageId {
22634 pub(crate) value: ::fidl_next::WireU32,
22635 }
22636
22637 unsafe impl ::fidl_next::Wire for StorageId {
22638 type Owned<'de> = Self;
22639
22640 #[inline]
22641 fn zero_padding(_: &mut ::core::mem::MaybeUninit<Self>) {
22642 }
22644 }
22645
22646 impl StorageId {
22647 pub const STATIC_INSTANCE_ID: StorageId = StorageId { value: ::fidl_next::WireU32(1) };
22648
22649 pub const STATIC_INSTANCE_ID_OR_MONIKER: StorageId =
22650 StorageId { value: ::fidl_next::WireU32(2) };
22651 }
22652
22653 unsafe impl<___D> ::fidl_next::Decode<___D> for StorageId
22654 where
22655 ___D: ?Sized,
22656 {
22657 fn decode(
22658 slot: ::fidl_next::Slot<'_, Self>,
22659 _: &mut ___D,
22660 _: (),
22661 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
22662 ::fidl_next::munge!(let Self { value } = slot);
22663
22664 match u32::from(*value) {
22665 1 | 2 => (),
22666 unknown => {
22667 return Err(::fidl_next::DecodeError::InvalidEnumOrdinal(unknown as i128));
22668 }
22669 }
22670
22671 Ok(())
22672 }
22673 }
22674
22675 impl ::core::convert::From<crate::natural::StorageId> for StorageId {
22676 fn from(natural: crate::natural::StorageId) -> Self {
22677 match natural {
22678 crate::natural::StorageId::StaticInstanceId => StorageId::STATIC_INSTANCE_ID,
22679
22680 crate::natural::StorageId::StaticInstanceIdOrMoniker => {
22681 StorageId::STATIC_INSTANCE_ID_OR_MONIKER
22682 }
22683 }
22684 }
22685 }
22686
22687 impl ::fidl_next::IntoNatural for StorageId {
22688 type Natural = crate::natural::StorageId;
22689 }
22690
22691 impl ::fidl_next::Unconstrained for StorageId {}
22692
22693 #[repr(C)]
22695 pub struct Runner<'de> {
22696 pub(crate) table: ::fidl_next::WireTable<'de>,
22697 }
22698
22699 impl<'de> Drop for Runner<'de> {
22700 fn drop(&mut self) {
22701 let _ = self.table.get(1).map(|envelope| unsafe {
22702 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
22703 });
22704
22705 let _ = self.table.get(2).map(|envelope| unsafe {
22706 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
22707 });
22708 }
22709 }
22710
22711 unsafe impl ::fidl_next::Wire for Runner<'static> {
22712 type Owned<'de> = Runner<'de>;
22713
22714 #[inline]
22715 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
22716 ::fidl_next::munge!(let Self { table } = out);
22717 ::fidl_next::WireTable::zero_padding(table);
22718 }
22719 }
22720
22721 unsafe impl<___D> ::fidl_next::Decode<___D> for Runner<'static>
22722 where
22723 ___D: ::fidl_next::Decoder + ?Sized,
22724 {
22725 fn decode(
22726 slot: ::fidl_next::Slot<'_, Self>,
22727 decoder: &mut ___D,
22728 _: (),
22729 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
22730 ::fidl_next::munge!(let Self { table } = slot);
22731
22732 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
22733 match ordinal {
22734 0 => unsafe { ::core::hint::unreachable_unchecked() },
22735
22736 1 => {
22737 ::fidl_next::WireEnvelope::decode_as::<
22738 ___D,
22739 ::fidl_next::WireString<'static>,
22740 >(slot.as_mut(), decoder, 100)?;
22741
22742 let value = unsafe {
22743 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
22744 };
22745
22746 if value.len() > 100 {
22747 return Err(::fidl_next::DecodeError::VectorTooLong {
22748 size: value.len() as u64,
22749 limit: 100,
22750 });
22751 }
22752
22753 Ok(())
22754 }
22755
22756 2 => {
22757 ::fidl_next::WireEnvelope::decode_as::<
22758 ___D,
22759 ::fidl_next::WireString<'static>,
22760 >(slot.as_mut(), decoder, 1024)?;
22761
22762 let value = unsafe {
22763 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
22764 };
22765
22766 if value.len() > 1024 {
22767 return Err(::fidl_next::DecodeError::VectorTooLong {
22768 size: value.len() as u64,
22769 limit: 1024,
22770 });
22771 }
22772
22773 Ok(())
22774 }
22775
22776 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
22777 }
22778 })
22779 }
22780 }
22781
22782 impl<'de> Runner<'de> {
22783 pub fn name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
22784 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
22785 }
22786
22787 pub fn source_path(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
22788 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
22789 }
22790 }
22791
22792 impl<'de> ::core::fmt::Debug for Runner<'de> {
22793 fn fmt(
22794 &self,
22795 f: &mut ::core::fmt::Formatter<'_>,
22796 ) -> ::core::result::Result<(), ::core::fmt::Error> {
22797 f.debug_struct("Runner")
22798 .field("name", &self.name())
22799 .field("source_path", &self.source_path())
22800 .finish()
22801 }
22802 }
22803
22804 impl<'de> ::fidl_next::IntoNatural for Runner<'de> {
22805 type Natural = crate::natural::Runner;
22806 }
22807
22808 impl ::fidl_next::Unconstrained for Runner<'_> {}
22809
22810 #[repr(C)]
22812 pub struct Resolver<'de> {
22813 pub(crate) table: ::fidl_next::WireTable<'de>,
22814 }
22815
22816 impl<'de> Drop for Resolver<'de> {
22817 fn drop(&mut self) {
22818 let _ = self.table.get(1).map(|envelope| unsafe {
22819 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
22820 });
22821
22822 let _ = self.table.get(2).map(|envelope| unsafe {
22823 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
22824 });
22825 }
22826 }
22827
22828 unsafe impl ::fidl_next::Wire for Resolver<'static> {
22829 type Owned<'de> = Resolver<'de>;
22830
22831 #[inline]
22832 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
22833 ::fidl_next::munge!(let Self { table } = out);
22834 ::fidl_next::WireTable::zero_padding(table);
22835 }
22836 }
22837
22838 unsafe impl<___D> ::fidl_next::Decode<___D> for Resolver<'static>
22839 where
22840 ___D: ::fidl_next::Decoder + ?Sized,
22841 {
22842 fn decode(
22843 slot: ::fidl_next::Slot<'_, Self>,
22844 decoder: &mut ___D,
22845 _: (),
22846 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
22847 ::fidl_next::munge!(let Self { table } = slot);
22848
22849 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
22850 match ordinal {
22851 0 => unsafe { ::core::hint::unreachable_unchecked() },
22852
22853 1 => {
22854 ::fidl_next::WireEnvelope::decode_as::<
22855 ___D,
22856 ::fidl_next::WireString<'static>,
22857 >(slot.as_mut(), decoder, 100)?;
22858
22859 let value = unsafe {
22860 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
22861 };
22862
22863 if value.len() > 100 {
22864 return Err(::fidl_next::DecodeError::VectorTooLong {
22865 size: value.len() as u64,
22866 limit: 100,
22867 });
22868 }
22869
22870 Ok(())
22871 }
22872
22873 2 => {
22874 ::fidl_next::WireEnvelope::decode_as::<
22875 ___D,
22876 ::fidl_next::WireString<'static>,
22877 >(slot.as_mut(), decoder, 1024)?;
22878
22879 let value = unsafe {
22880 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
22881 };
22882
22883 if value.len() > 1024 {
22884 return Err(::fidl_next::DecodeError::VectorTooLong {
22885 size: value.len() as u64,
22886 limit: 1024,
22887 });
22888 }
22889
22890 Ok(())
22891 }
22892
22893 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
22894 }
22895 })
22896 }
22897 }
22898
22899 impl<'de> Resolver<'de> {
22900 pub fn name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
22901 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
22902 }
22903
22904 pub fn source_path(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
22905 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
22906 }
22907 }
22908
22909 impl<'de> ::core::fmt::Debug for Resolver<'de> {
22910 fn fmt(
22911 &self,
22912 f: &mut ::core::fmt::Formatter<'_>,
22913 ) -> ::core::result::Result<(), ::core::fmt::Error> {
22914 f.debug_struct("Resolver")
22915 .field("name", &self.name())
22916 .field("source_path", &self.source_path())
22917 .finish()
22918 }
22919 }
22920
22921 impl<'de> ::fidl_next::IntoNatural for Resolver<'de> {
22922 type Natural = crate::natural::Resolver;
22923 }
22924
22925 impl ::fidl_next::Unconstrained for Resolver<'_> {}
22926
22927 #[repr(C)]
22929 pub struct EventStream<'de> {
22930 pub(crate) table: ::fidl_next::WireTable<'de>,
22931 }
22932
22933 impl<'de> Drop for EventStream<'de> {
22934 fn drop(&mut self) {
22935 let _ = self.table.get(1).map(|envelope| unsafe {
22936 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
22937 });
22938 }
22939 }
22940
22941 unsafe impl ::fidl_next::Wire for EventStream<'static> {
22942 type Owned<'de> = EventStream<'de>;
22943
22944 #[inline]
22945 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
22946 ::fidl_next::munge!(let Self { table } = out);
22947 ::fidl_next::WireTable::zero_padding(table);
22948 }
22949 }
22950
22951 unsafe impl<___D> ::fidl_next::Decode<___D> for EventStream<'static>
22952 where
22953 ___D: ::fidl_next::Decoder + ?Sized,
22954 {
22955 fn decode(
22956 slot: ::fidl_next::Slot<'_, Self>,
22957 decoder: &mut ___D,
22958 _: (),
22959 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
22960 ::fidl_next::munge!(let Self { table } = slot);
22961
22962 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
22963 match ordinal {
22964 0 => unsafe { ::core::hint::unreachable_unchecked() },
22965
22966 1 => {
22967 ::fidl_next::WireEnvelope::decode_as::<
22968 ___D,
22969 ::fidl_next::WireString<'static>,
22970 >(slot.as_mut(), decoder, 100)?;
22971
22972 let value = unsafe {
22973 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
22974 };
22975
22976 if value.len() > 100 {
22977 return Err(::fidl_next::DecodeError::VectorTooLong {
22978 size: value.len() as u64,
22979 limit: 100,
22980 });
22981 }
22982
22983 Ok(())
22984 }
22985
22986 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
22987 }
22988 })
22989 }
22990 }
22991
22992 impl<'de> EventStream<'de> {
22993 pub fn name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
22994 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
22995 }
22996 }
22997
22998 impl<'de> ::core::fmt::Debug for EventStream<'de> {
22999 fn fmt(
23000 &self,
23001 f: &mut ::core::fmt::Formatter<'_>,
23002 ) -> ::core::result::Result<(), ::core::fmt::Error> {
23003 f.debug_struct("EventStream").field("name", &self.name()).finish()
23004 }
23005 }
23006
23007 impl<'de> ::fidl_next::IntoNatural for EventStream<'de> {
23008 type Natural = crate::natural::EventStream;
23009 }
23010
23011 impl ::fidl_next::Unconstrained for EventStream<'_> {}
23012
23013 #[repr(transparent)]
23015 pub struct ConfigSingleValue<'de> {
23016 pub(crate) raw: ::fidl_next::RawWireUnion,
23017 pub(crate) _phantom: ::core::marker::PhantomData<&'de mut [::fidl_next::Chunk]>,
23018 }
23019
23020 impl<'de> Drop for ConfigSingleValue<'de> {
23021 fn drop(&mut self) {
23022 match self.raw.ordinal() {
23023 1 => {
23024 let _ = unsafe { self.raw.get().read_unchecked::<bool>() };
23025 }
23026
23027 2 => {
23028 let _ = unsafe { self.raw.get().read_unchecked::<u8>() };
23029 }
23030
23031 3 => {
23032 let _ = unsafe { self.raw.get().read_unchecked::<::fidl_next::WireU16>() };
23033 }
23034
23035 4 => {
23036 let _ = unsafe { self.raw.get().read_unchecked::<::fidl_next::WireU32>() };
23037 }
23038
23039 5 => {
23040 let _ = unsafe { self.raw.get().read_unchecked::<::fidl_next::WireU64>() };
23041 }
23042
23043 6 => {
23044 let _ = unsafe { self.raw.get().read_unchecked::<i8>() };
23045 }
23046
23047 7 => {
23048 let _ = unsafe { self.raw.get().read_unchecked::<::fidl_next::WireI16>() };
23049 }
23050
23051 8 => {
23052 let _ = unsafe { self.raw.get().read_unchecked::<::fidl_next::WireI32>() };
23053 }
23054
23055 9 => {
23056 let _ = unsafe { self.raw.get().read_unchecked::<::fidl_next::WireI64>() };
23057 }
23058
23059 10 => {
23060 let _ =
23061 unsafe { self.raw.get().read_unchecked::<::fidl_next::WireString<'de>>() };
23062 }
23063
23064 _ => (),
23065 }
23066 }
23067 }
23068
23069 unsafe impl ::fidl_next::Wire for ConfigSingleValue<'static> {
23070 type Owned<'de> = ConfigSingleValue<'de>;
23071
23072 #[inline]
23073 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
23074 ::fidl_next::munge!(let Self { raw, _phantom: _ } = out);
23075 ::fidl_next::RawWireUnion::zero_padding(raw);
23076 }
23077 }
23078
23079 pub mod config_single_value {
23080 pub enum Ref<'de> {
23081 Bool(&'de bool),
23082
23083 Uint8(&'de u8),
23084
23085 Uint16(&'de ::fidl_next::WireU16),
23086
23087 Uint32(&'de ::fidl_next::WireU32),
23088
23089 Uint64(&'de ::fidl_next::WireU64),
23090
23091 Int8(&'de i8),
23092
23093 Int16(&'de ::fidl_next::WireI16),
23094
23095 Int32(&'de ::fidl_next::WireI32),
23096
23097 Int64(&'de ::fidl_next::WireI64),
23098
23099 String(&'de ::fidl_next::WireString<'de>),
23100
23101 UnknownOrdinal_(u64),
23102 }
23103 }
23104
23105 impl<'de> ConfigSingleValue<'de> {
23106 pub fn as_ref(&self) -> crate::wire::config_single_value::Ref<'_> {
23107 match self.raw.ordinal() {
23108 1 => crate::wire::config_single_value::Ref::Bool(unsafe {
23109 self.raw.get().deref_unchecked::<bool>()
23110 }),
23111
23112 2 => crate::wire::config_single_value::Ref::Uint8(unsafe {
23113 self.raw.get().deref_unchecked::<u8>()
23114 }),
23115
23116 3 => crate::wire::config_single_value::Ref::Uint16(unsafe {
23117 self.raw.get().deref_unchecked::<::fidl_next::WireU16>()
23118 }),
23119
23120 4 => crate::wire::config_single_value::Ref::Uint32(unsafe {
23121 self.raw.get().deref_unchecked::<::fidl_next::WireU32>()
23122 }),
23123
23124 5 => crate::wire::config_single_value::Ref::Uint64(unsafe {
23125 self.raw.get().deref_unchecked::<::fidl_next::WireU64>()
23126 }),
23127
23128 6 => crate::wire::config_single_value::Ref::Int8(unsafe {
23129 self.raw.get().deref_unchecked::<i8>()
23130 }),
23131
23132 7 => crate::wire::config_single_value::Ref::Int16(unsafe {
23133 self.raw.get().deref_unchecked::<::fidl_next::WireI16>()
23134 }),
23135
23136 8 => crate::wire::config_single_value::Ref::Int32(unsafe {
23137 self.raw.get().deref_unchecked::<::fidl_next::WireI32>()
23138 }),
23139
23140 9 => crate::wire::config_single_value::Ref::Int64(unsafe {
23141 self.raw.get().deref_unchecked::<::fidl_next::WireI64>()
23142 }),
23143
23144 10 => crate::wire::config_single_value::Ref::String(unsafe {
23145 self.raw.get().deref_unchecked::<::fidl_next::WireString<'_>>()
23146 }),
23147
23148 unknown => crate::wire::config_single_value::Ref::UnknownOrdinal_(unknown),
23149 }
23150 }
23151 }
23152
23153 unsafe impl<___D> ::fidl_next::Decode<___D> for ConfigSingleValue<'static>
23154 where
23155 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
23156 ___D: ::fidl_next::Decoder,
23157 {
23158 fn decode(
23159 mut slot: ::fidl_next::Slot<'_, Self>,
23160 decoder: &mut ___D,
23161 _: (),
23162 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
23163 ::fidl_next::munge!(let Self { mut raw, _phantom: _ } = slot.as_mut());
23164 match ::fidl_next::RawWireUnion::encoded_ordinal(raw.as_mut()) {
23165 1 => ::fidl_next::RawWireUnion::decode_as::<___D, bool>(raw, decoder, ())?,
23166
23167 2 => ::fidl_next::RawWireUnion::decode_as::<___D, u8>(raw, decoder, ())?,
23168
23169 3 => ::fidl_next::RawWireUnion::decode_as::<___D, ::fidl_next::WireU16>(
23170 raw,
23171 decoder,
23172 (),
23173 )?,
23174
23175 4 => ::fidl_next::RawWireUnion::decode_as::<___D, ::fidl_next::WireU32>(
23176 raw,
23177 decoder,
23178 (),
23179 )?,
23180
23181 5 => ::fidl_next::RawWireUnion::decode_as::<___D, ::fidl_next::WireU64>(
23182 raw,
23183 decoder,
23184 (),
23185 )?,
23186
23187 6 => ::fidl_next::RawWireUnion::decode_as::<___D, i8>(raw, decoder, ())?,
23188
23189 7 => ::fidl_next::RawWireUnion::decode_as::<___D, ::fidl_next::WireI16>(
23190 raw,
23191 decoder,
23192 (),
23193 )?,
23194
23195 8 => ::fidl_next::RawWireUnion::decode_as::<___D, ::fidl_next::WireI32>(
23196 raw,
23197 decoder,
23198 (),
23199 )?,
23200
23201 9 => ::fidl_next::RawWireUnion::decode_as::<___D, ::fidl_next::WireI64>(
23202 raw,
23203 decoder,
23204 (),
23205 )?,
23206
23207 10 => {
23208 ::fidl_next::RawWireUnion::decode_as::<___D, ::fidl_next::WireString<'static>>(
23209 raw, decoder, 4294967295,
23210 )?
23211 }
23212
23213 _ => ::fidl_next::RawWireUnion::decode_unknown(raw, decoder)?,
23214 }
23215
23216 Ok(())
23217 }
23218 }
23219
23220 impl<'de> ::core::fmt::Debug for ConfigSingleValue<'de> {
23221 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23222 match self.raw.ordinal() {
23223 1 => unsafe { self.raw.get().deref_unchecked::<bool>().fmt(f) },
23224 2 => unsafe { self.raw.get().deref_unchecked::<u8>().fmt(f) },
23225 3 => unsafe { self.raw.get().deref_unchecked::<::fidl_next::WireU16>().fmt(f) },
23226 4 => unsafe { self.raw.get().deref_unchecked::<::fidl_next::WireU32>().fmt(f) },
23227 5 => unsafe { self.raw.get().deref_unchecked::<::fidl_next::WireU64>().fmt(f) },
23228 6 => unsafe { self.raw.get().deref_unchecked::<i8>().fmt(f) },
23229 7 => unsafe { self.raw.get().deref_unchecked::<::fidl_next::WireI16>().fmt(f) },
23230 8 => unsafe { self.raw.get().deref_unchecked::<::fidl_next::WireI32>().fmt(f) },
23231 9 => unsafe { self.raw.get().deref_unchecked::<::fidl_next::WireI64>().fmt(f) },
23232 10 => unsafe {
23233 self.raw.get().deref_unchecked::<::fidl_next::WireString<'_>>().fmt(f)
23234 },
23235 _ => unsafe { ::core::hint::unreachable_unchecked() },
23236 }
23237 }
23238 }
23239
23240 impl<'de> ::fidl_next::IntoNatural for ConfigSingleValue<'de> {
23241 type Natural = crate::natural::ConfigSingleValue;
23242 }
23243
23244 impl ::fidl_next::Unconstrained for ConfigSingleValue<'static> {}
23245
23246 #[repr(transparent)]
23248 pub struct ConfigVectorValue<'de> {
23249 pub(crate) raw: ::fidl_next::RawWireUnion,
23250 pub(crate) _phantom: ::core::marker::PhantomData<&'de mut [::fidl_next::Chunk]>,
23251 }
23252
23253 impl<'de> Drop for ConfigVectorValue<'de> {
23254 fn drop(&mut self) {
23255 match self.raw.ordinal() {
23256 1 => {
23257 let _ = unsafe {
23258 self.raw.get().read_unchecked::<::fidl_next::WireVector<'de, bool>>()
23259 };
23260 }
23261
23262 2 => {
23263 let _ = unsafe {
23264 self.raw.get().read_unchecked::<::fidl_next::WireVector<'de, u8>>()
23265 };
23266 }
23267
23268 3 => {
23269 let _ = unsafe {
23270 self.raw
23271 .get()
23272 .read_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireU16>>()
23273 };
23274 }
23275
23276 4 => {
23277 let _ = unsafe {
23278 self.raw
23279 .get()
23280 .read_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireU32>>()
23281 };
23282 }
23283
23284 5 => {
23285 let _ = unsafe {
23286 self.raw
23287 .get()
23288 .read_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireU64>>()
23289 };
23290 }
23291
23292 6 => {
23293 let _ = unsafe {
23294 self.raw.get().read_unchecked::<::fidl_next::WireVector<'de, i8>>()
23295 };
23296 }
23297
23298 7 => {
23299 let _ = unsafe {
23300 self.raw
23301 .get()
23302 .read_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireI16>>()
23303 };
23304 }
23305
23306 8 => {
23307 let _ = unsafe {
23308 self.raw
23309 .get()
23310 .read_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireI32>>()
23311 };
23312 }
23313
23314 9 => {
23315 let _ = unsafe {
23316 self.raw
23317 .get()
23318 .read_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireI64>>()
23319 };
23320 }
23321
23322 10 => {
23323 let _ = unsafe {
23324 self.raw.get().read_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireString<'de>>>()
23325 };
23326 }
23327
23328 _ => (),
23329 }
23330 }
23331 }
23332
23333 unsafe impl ::fidl_next::Wire for ConfigVectorValue<'static> {
23334 type Owned<'de> = ConfigVectorValue<'de>;
23335
23336 #[inline]
23337 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
23338 ::fidl_next::munge!(let Self { raw, _phantom: _ } = out);
23339 ::fidl_next::RawWireUnion::zero_padding(raw);
23340 }
23341 }
23342
23343 pub mod config_vector_value {
23344 pub enum Ref<'de> {
23345 BoolVector(&'de ::fidl_next::WireVector<'de, bool>),
23346
23347 Uint8Vector(&'de ::fidl_next::WireVector<'de, u8>),
23348
23349 Uint16Vector(&'de ::fidl_next::WireVector<'de, ::fidl_next::WireU16>),
23350
23351 Uint32Vector(&'de ::fidl_next::WireVector<'de, ::fidl_next::WireU32>),
23352
23353 Uint64Vector(&'de ::fidl_next::WireVector<'de, ::fidl_next::WireU64>),
23354
23355 Int8Vector(&'de ::fidl_next::WireVector<'de, i8>),
23356
23357 Int16Vector(&'de ::fidl_next::WireVector<'de, ::fidl_next::WireI16>),
23358
23359 Int32Vector(&'de ::fidl_next::WireVector<'de, ::fidl_next::WireI32>),
23360
23361 Int64Vector(&'de ::fidl_next::WireVector<'de, ::fidl_next::WireI64>),
23362
23363 StringVector(&'de ::fidl_next::WireVector<'de, ::fidl_next::WireString<'de>>),
23364
23365 UnknownOrdinal_(u64),
23366 }
23367 }
23368
23369 impl<'de> ConfigVectorValue<'de> {
23370 pub fn as_ref(&self) -> crate::wire::config_vector_value::Ref<'_> {
23371 match self.raw.ordinal() {
23372 1 => crate::wire::config_vector_value::Ref::BoolVector(unsafe {
23373 self.raw.get().deref_unchecked::<::fidl_next::WireVector<'_, bool>>()
23374 }),
23375
23376 2 => crate::wire::config_vector_value::Ref::Uint8Vector(unsafe {
23377 self.raw.get().deref_unchecked::<::fidl_next::WireVector<'_, u8>>()
23378 }),
23379
23380 3 => crate::wire::config_vector_value::Ref::Uint16Vector(unsafe {
23381 self.raw
23382 .get()
23383 .deref_unchecked::<::fidl_next::WireVector<'_, ::fidl_next::WireU16>>()
23384 }),
23385
23386 4 => crate::wire::config_vector_value::Ref::Uint32Vector(unsafe {
23387 self.raw
23388 .get()
23389 .deref_unchecked::<::fidl_next::WireVector<'_, ::fidl_next::WireU32>>()
23390 }),
23391
23392 5 => crate::wire::config_vector_value::Ref::Uint64Vector(unsafe {
23393 self.raw
23394 .get()
23395 .deref_unchecked::<::fidl_next::WireVector<'_, ::fidl_next::WireU64>>()
23396 }),
23397
23398 6 => crate::wire::config_vector_value::Ref::Int8Vector(unsafe {
23399 self.raw.get().deref_unchecked::<::fidl_next::WireVector<'_, i8>>()
23400 }),
23401
23402 7 => crate::wire::config_vector_value::Ref::Int16Vector(unsafe {
23403 self.raw
23404 .get()
23405 .deref_unchecked::<::fidl_next::WireVector<'_, ::fidl_next::WireI16>>()
23406 }),
23407
23408 8 => crate::wire::config_vector_value::Ref::Int32Vector(unsafe {
23409 self.raw
23410 .get()
23411 .deref_unchecked::<::fidl_next::WireVector<'_, ::fidl_next::WireI32>>()
23412 }),
23413
23414 9 => crate::wire::config_vector_value::Ref::Int64Vector(unsafe {
23415 self.raw
23416 .get()
23417 .deref_unchecked::<::fidl_next::WireVector<'_, ::fidl_next::WireI64>>()
23418 }),
23419
23420 10 => crate::wire::config_vector_value::Ref::StringVector(unsafe {
23421 self.raw.get().deref_unchecked::<::fidl_next::WireVector<'_, ::fidl_next::WireString<'_>>>()
23422 }),
23423
23424 unknown => crate::wire::config_vector_value::Ref::UnknownOrdinal_(unknown),
23425 }
23426 }
23427 }
23428
23429 unsafe impl<___D> ::fidl_next::Decode<___D> for ConfigVectorValue<'static>
23430 where
23431 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
23432 ___D: ::fidl_next::Decoder,
23433 {
23434 fn decode(
23435 mut slot: ::fidl_next::Slot<'_, Self>,
23436 decoder: &mut ___D,
23437 _: (),
23438 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
23439 ::fidl_next::munge!(let Self { mut raw, _phantom: _ } = slot.as_mut());
23440 match ::fidl_next::RawWireUnion::encoded_ordinal(raw.as_mut()) {
23441 1 => ::fidl_next::RawWireUnion::decode_as::<
23442 ___D,
23443 ::fidl_next::WireVector<'static, bool>,
23444 >(raw, decoder, (4294967295, ()))?,
23445
23446 2 => ::fidl_next::RawWireUnion::decode_as::<
23447 ___D,
23448 ::fidl_next::WireVector<'static, u8>,
23449 >(raw, decoder, (4294967295, ()))?,
23450
23451 3 => ::fidl_next::RawWireUnion::decode_as::<
23452 ___D,
23453 ::fidl_next::WireVector<'static, ::fidl_next::WireU16>,
23454 >(raw, decoder, (4294967295, ()))?,
23455
23456 4 => ::fidl_next::RawWireUnion::decode_as::<
23457 ___D,
23458 ::fidl_next::WireVector<'static, ::fidl_next::WireU32>,
23459 >(raw, decoder, (4294967295, ()))?,
23460
23461 5 => ::fidl_next::RawWireUnion::decode_as::<
23462 ___D,
23463 ::fidl_next::WireVector<'static, ::fidl_next::WireU64>,
23464 >(raw, decoder, (4294967295, ()))?,
23465
23466 6 => ::fidl_next::RawWireUnion::decode_as::<
23467 ___D,
23468 ::fidl_next::WireVector<'static, i8>,
23469 >(raw, decoder, (4294967295, ()))?,
23470
23471 7 => ::fidl_next::RawWireUnion::decode_as::<
23472 ___D,
23473 ::fidl_next::WireVector<'static, ::fidl_next::WireI16>,
23474 >(raw, decoder, (4294967295, ()))?,
23475
23476 8 => ::fidl_next::RawWireUnion::decode_as::<
23477 ___D,
23478 ::fidl_next::WireVector<'static, ::fidl_next::WireI32>,
23479 >(raw, decoder, (4294967295, ()))?,
23480
23481 9 => ::fidl_next::RawWireUnion::decode_as::<
23482 ___D,
23483 ::fidl_next::WireVector<'static, ::fidl_next::WireI64>,
23484 >(raw, decoder, (4294967295, ()))?,
23485
23486 10 => ::fidl_next::RawWireUnion::decode_as::<
23487 ___D,
23488 ::fidl_next::WireVector<'static, ::fidl_next::WireString<'static>>,
23489 >(raw, decoder, (4294967295, 4294967295))?,
23490
23491 _ => ::fidl_next::RawWireUnion::decode_unknown(raw, decoder)?,
23492 }
23493
23494 Ok(())
23495 }
23496 }
23497
23498 impl<'de> ::core::fmt::Debug for ConfigVectorValue<'de> {
23499 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23500 match self.raw.ordinal() {
23501 1 => unsafe {
23502 self.raw.get().deref_unchecked::<::fidl_next::WireVector<'_, bool>>().fmt(f)
23503 },
23504 2 => unsafe {
23505 self.raw.get().deref_unchecked::<::fidl_next::WireVector<'_, u8>>().fmt(f)
23506 },
23507 3 => unsafe {
23508 self.raw
23509 .get()
23510 .deref_unchecked::<::fidl_next::WireVector<'_, ::fidl_next::WireU16>>()
23511 .fmt(f)
23512 },
23513 4 => unsafe {
23514 self.raw
23515 .get()
23516 .deref_unchecked::<::fidl_next::WireVector<'_, ::fidl_next::WireU32>>()
23517 .fmt(f)
23518 },
23519 5 => unsafe {
23520 self.raw
23521 .get()
23522 .deref_unchecked::<::fidl_next::WireVector<'_, ::fidl_next::WireU64>>()
23523 .fmt(f)
23524 },
23525 6 => unsafe {
23526 self.raw.get().deref_unchecked::<::fidl_next::WireVector<'_, i8>>().fmt(f)
23527 },
23528 7 => unsafe {
23529 self.raw
23530 .get()
23531 .deref_unchecked::<::fidl_next::WireVector<'_, ::fidl_next::WireI16>>()
23532 .fmt(f)
23533 },
23534 8 => unsafe {
23535 self.raw
23536 .get()
23537 .deref_unchecked::<::fidl_next::WireVector<'_, ::fidl_next::WireI32>>()
23538 .fmt(f)
23539 },
23540 9 => unsafe {
23541 self.raw
23542 .get()
23543 .deref_unchecked::<::fidl_next::WireVector<'_, ::fidl_next::WireI64>>()
23544 .fmt(f)
23545 },
23546 10 => unsafe {
23547 self.raw.get().deref_unchecked::<
23548 ::fidl_next::WireVector<'_, ::fidl_next::WireString<'_>>
23549 >().fmt(f)
23550 },
23551 _ => unsafe { ::core::hint::unreachable_unchecked() },
23552 }
23553 }
23554 }
23555
23556 impl<'de> ::fidl_next::IntoNatural for ConfigVectorValue<'de> {
23557 type Natural = crate::natural::ConfigVectorValue;
23558 }
23559
23560 impl ::fidl_next::Unconstrained for ConfigVectorValue<'static> {}
23561
23562 #[repr(transparent)]
23564 pub struct ConfigValue<'de> {
23565 pub(crate) raw: ::fidl_next::RawWireUnion,
23566 pub(crate) _phantom: ::core::marker::PhantomData<&'de mut [::fidl_next::Chunk]>,
23567 }
23568
23569 impl<'de> Drop for ConfigValue<'de> {
23570 fn drop(&mut self) {
23571 match self.raw.ordinal() {
23572 1 => {
23573 let _ = unsafe {
23574 self.raw.get().read_unchecked::<crate::wire::ConfigSingleValue<'de>>()
23575 };
23576 }
23577
23578 2 => {
23579 let _ = unsafe {
23580 self.raw.get().read_unchecked::<crate::wire::ConfigVectorValue<'de>>()
23581 };
23582 }
23583
23584 _ => (),
23585 }
23586 }
23587 }
23588
23589 unsafe impl ::fidl_next::Wire for ConfigValue<'static> {
23590 type Owned<'de> = ConfigValue<'de>;
23591
23592 #[inline]
23593 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
23594 ::fidl_next::munge!(let Self { raw, _phantom: _ } = out);
23595 ::fidl_next::RawWireUnion::zero_padding(raw);
23596 }
23597 }
23598
23599 pub mod config_value {
23600 pub enum Ref<'de> {
23601 Single(&'de crate::wire::ConfigSingleValue<'de>),
23602
23603 Vector(&'de crate::wire::ConfigVectorValue<'de>),
23604
23605 UnknownOrdinal_(u64),
23606 }
23607 }
23608
23609 impl<'de> ConfigValue<'de> {
23610 pub fn as_ref(&self) -> crate::wire::config_value::Ref<'_> {
23611 match self.raw.ordinal() {
23612 1 => crate::wire::config_value::Ref::Single(unsafe {
23613 self.raw.get().deref_unchecked::<crate::wire::ConfigSingleValue<'_>>()
23614 }),
23615
23616 2 => crate::wire::config_value::Ref::Vector(unsafe {
23617 self.raw.get().deref_unchecked::<crate::wire::ConfigVectorValue<'_>>()
23618 }),
23619
23620 unknown => crate::wire::config_value::Ref::UnknownOrdinal_(unknown),
23621 }
23622 }
23623 }
23624
23625 unsafe impl<___D> ::fidl_next::Decode<___D> for ConfigValue<'static>
23626 where
23627 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
23628 ___D: ::fidl_next::Decoder,
23629 {
23630 fn decode(
23631 mut slot: ::fidl_next::Slot<'_, Self>,
23632 decoder: &mut ___D,
23633 _: (),
23634 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
23635 ::fidl_next::munge!(let Self { mut raw, _phantom: _ } = slot.as_mut());
23636 match ::fidl_next::RawWireUnion::encoded_ordinal(raw.as_mut()) {
23637 1 => ::fidl_next::RawWireUnion::decode_as::<
23638 ___D,
23639 crate::wire::ConfigSingleValue<'static>,
23640 >(raw, decoder, ())?,
23641
23642 2 => ::fidl_next::RawWireUnion::decode_as::<
23643 ___D,
23644 crate::wire::ConfigVectorValue<'static>,
23645 >(raw, decoder, ())?,
23646
23647 _ => ::fidl_next::RawWireUnion::decode_unknown(raw, decoder)?,
23648 }
23649
23650 Ok(())
23651 }
23652 }
23653
23654 impl<'de> ::core::fmt::Debug for ConfigValue<'de> {
23655 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23656 match self.raw.ordinal() {
23657 1 => unsafe {
23658 self.raw.get().deref_unchecked::<crate::wire::ConfigSingleValue<'_>>().fmt(f)
23659 },
23660 2 => unsafe {
23661 self.raw.get().deref_unchecked::<crate::wire::ConfigVectorValue<'_>>().fmt(f)
23662 },
23663 _ => unsafe { ::core::hint::unreachable_unchecked() },
23664 }
23665 }
23666 }
23667
23668 impl<'de> ::fidl_next::IntoNatural for ConfigValue<'de> {
23669 type Natural = crate::natural::ConfigValue;
23670 }
23671
23672 impl ::fidl_next::Unconstrained for ConfigValue<'static> {}
23673
23674 #[repr(C)]
23676 pub struct Configuration<'de> {
23677 pub(crate) table: ::fidl_next::WireTable<'de>,
23678 }
23679
23680 impl<'de> Drop for Configuration<'de> {
23681 fn drop(&mut self) {
23682 let _ = self.table.get(1).map(|envelope| unsafe {
23683 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
23684 });
23685
23686 let _ = self.table.get(2).map(|envelope| unsafe {
23687 envelope.read_unchecked::<crate::wire::ConfigValue<'de>>()
23688 });
23689 }
23690 }
23691
23692 unsafe impl ::fidl_next::Wire for Configuration<'static> {
23693 type Owned<'de> = Configuration<'de>;
23694
23695 #[inline]
23696 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
23697 ::fidl_next::munge!(let Self { table } = out);
23698 ::fidl_next::WireTable::zero_padding(table);
23699 }
23700 }
23701
23702 unsafe impl<___D> ::fidl_next::Decode<___D> for Configuration<'static>
23703 where
23704 ___D: ::fidl_next::Decoder + ?Sized,
23705 {
23706 fn decode(
23707 slot: ::fidl_next::Slot<'_, Self>,
23708 decoder: &mut ___D,
23709 _: (),
23710 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
23711 ::fidl_next::munge!(let Self { table } = slot);
23712
23713 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
23714 match ordinal {
23715 0 => unsafe { ::core::hint::unreachable_unchecked() },
23716
23717 1 => {
23718 ::fidl_next::WireEnvelope::decode_as::<
23719 ___D,
23720 ::fidl_next::WireString<'static>,
23721 >(slot.as_mut(), decoder, 100)?;
23722
23723 let value = unsafe {
23724 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
23725 };
23726
23727 if value.len() > 100 {
23728 return Err(::fidl_next::DecodeError::VectorTooLong {
23729 size: value.len() as u64,
23730 limit: 100,
23731 });
23732 }
23733
23734 Ok(())
23735 }
23736
23737 2 => {
23738 ::fidl_next::WireEnvelope::decode_as::<
23739 ___D,
23740 crate::wire::ConfigValue<'static>,
23741 >(slot.as_mut(), decoder, ())?;
23742
23743 Ok(())
23744 }
23745
23746 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
23747 }
23748 })
23749 }
23750 }
23751
23752 impl<'de> Configuration<'de> {
23753 pub fn name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
23754 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
23755 }
23756
23757 pub fn value(&self) -> ::core::option::Option<&crate::wire::ConfigValue<'de>> {
23758 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
23759 }
23760 }
23761
23762 impl<'de> ::core::fmt::Debug for Configuration<'de> {
23763 fn fmt(
23764 &self,
23765 f: &mut ::core::fmt::Formatter<'_>,
23766 ) -> ::core::result::Result<(), ::core::fmt::Error> {
23767 f.debug_struct("Configuration")
23768 .field("name", &self.name())
23769 .field("value", &self.value())
23770 .finish()
23771 }
23772 }
23773
23774 impl<'de> ::fidl_next::IntoNatural for Configuration<'de> {
23775 type Natural = crate::natural::Configuration;
23776 }
23777
23778 impl ::fidl_next::Unconstrained for Configuration<'_> {}
23779
23780 pub type DictionaryPath<'de> = ::fidl_next::WireString<'de>;
23782
23783 #[derive(Clone, Copy, Debug, PartialEq, Eq)]
23785 #[repr(transparent)]
23786 pub struct DeliveryType {
23787 pub(crate) value: ::fidl_next::WireU32,
23788 }
23789
23790 unsafe impl ::fidl_next::Wire for DeliveryType {
23791 type Owned<'de> = Self;
23792
23793 #[inline]
23794 fn zero_padding(_: &mut ::core::mem::MaybeUninit<Self>) {
23795 }
23797 }
23798
23799 impl DeliveryType {
23800 pub const IMMEDIATE: DeliveryType = DeliveryType { value: ::fidl_next::WireU32(0) };
23801
23802 pub const ON_READABLE: DeliveryType = DeliveryType { value: ::fidl_next::WireU32(1) };
23803 }
23804
23805 unsafe impl<___D> ::fidl_next::Decode<___D> for DeliveryType
23806 where
23807 ___D: ?Sized,
23808 {
23809 fn decode(
23810 slot: ::fidl_next::Slot<'_, Self>,
23811 _: &mut ___D,
23812 _: (),
23813 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
23814 Ok(())
23815 }
23816 }
23817
23818 impl ::core::convert::From<crate::natural::DeliveryType> for DeliveryType {
23819 fn from(natural: crate::natural::DeliveryType) -> Self {
23820 match natural {
23821 crate::natural::DeliveryType::Immediate => DeliveryType::IMMEDIATE,
23822
23823 crate::natural::DeliveryType::OnReadable => DeliveryType::ON_READABLE,
23824
23825 crate::natural::DeliveryType::UnknownOrdinal_(value) => {
23826 DeliveryType { value: ::fidl_next::WireU32::from(value) }
23827 }
23828 }
23829 }
23830 }
23831
23832 impl ::fidl_next::IntoNatural for DeliveryType {
23833 type Natural = crate::natural::DeliveryType;
23834 }
23835
23836 impl ::fidl_next::Unconstrained for DeliveryType {}
23837
23838 #[repr(C)]
23840 pub struct Protocol<'de> {
23841 pub(crate) table: ::fidl_next::WireTable<'de>,
23842 }
23843
23844 impl<'de> Drop for Protocol<'de> {
23845 fn drop(&mut self) {
23846 let _ = self.table.get(1).map(|envelope| unsafe {
23847 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
23848 });
23849
23850 let _ = self.table.get(2).map(|envelope| unsafe {
23851 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
23852 });
23853
23854 let _ = self
23855 .table
23856 .get(3)
23857 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::DeliveryType>() });
23858 }
23859 }
23860
23861 unsafe impl ::fidl_next::Wire for Protocol<'static> {
23862 type Owned<'de> = Protocol<'de>;
23863
23864 #[inline]
23865 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
23866 ::fidl_next::munge!(let Self { table } = out);
23867 ::fidl_next::WireTable::zero_padding(table);
23868 }
23869 }
23870
23871 unsafe impl<___D> ::fidl_next::Decode<___D> for Protocol<'static>
23872 where
23873 ___D: ::fidl_next::Decoder + ?Sized,
23874 {
23875 fn decode(
23876 slot: ::fidl_next::Slot<'_, Self>,
23877 decoder: &mut ___D,
23878 _: (),
23879 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
23880 ::fidl_next::munge!(let Self { table } = slot);
23881
23882 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
23883 match ordinal {
23884 0 => unsafe { ::core::hint::unreachable_unchecked() },
23885
23886 1 => {
23887 ::fidl_next::WireEnvelope::decode_as::<
23888 ___D,
23889 ::fidl_next::WireString<'static>,
23890 >(slot.as_mut(), decoder, 100)?;
23891
23892 let value = unsafe {
23893 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
23894 };
23895
23896 if value.len() > 100 {
23897 return Err(::fidl_next::DecodeError::VectorTooLong {
23898 size: value.len() as u64,
23899 limit: 100,
23900 });
23901 }
23902
23903 Ok(())
23904 }
23905
23906 2 => {
23907 ::fidl_next::WireEnvelope::decode_as::<
23908 ___D,
23909 ::fidl_next::WireString<'static>,
23910 >(slot.as_mut(), decoder, 1024)?;
23911
23912 let value = unsafe {
23913 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
23914 };
23915
23916 if value.len() > 1024 {
23917 return Err(::fidl_next::DecodeError::VectorTooLong {
23918 size: value.len() as u64,
23919 limit: 1024,
23920 });
23921 }
23922
23923 Ok(())
23924 }
23925
23926 3 => {
23927 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::DeliveryType>(
23928 slot.as_mut(),
23929 decoder,
23930 (),
23931 )?;
23932
23933 Ok(())
23934 }
23935
23936 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
23937 }
23938 })
23939 }
23940 }
23941
23942 impl<'de> Protocol<'de> {
23943 pub fn name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
23944 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
23945 }
23946
23947 pub fn source_path(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
23948 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
23949 }
23950
23951 pub fn delivery(&self) -> ::core::option::Option<&crate::wire::DeliveryType> {
23952 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
23953 }
23954 }
23955
23956 impl<'de> ::core::fmt::Debug for Protocol<'de> {
23957 fn fmt(
23958 &self,
23959 f: &mut ::core::fmt::Formatter<'_>,
23960 ) -> ::core::result::Result<(), ::core::fmt::Error> {
23961 f.debug_struct("Protocol")
23962 .field("name", &self.name())
23963 .field("source_path", &self.source_path())
23964 .field("delivery", &self.delivery())
23965 .finish()
23966 }
23967 }
23968
23969 impl<'de> ::fidl_next::IntoNatural for Protocol<'de> {
23970 type Natural = crate::natural::Protocol;
23971 }
23972
23973 impl ::fidl_next::Unconstrained for Protocol<'_> {}
23974
23975 #[derive(Clone, Debug)]
23977 #[repr(C)]
23978 pub struct EnvironmentRef {
23979 pub(crate) _empty: fidl_next::WireEmptyStructPlaceholder,
23980 }
23981
23982 static_assertions::const_assert_eq!(std::mem::size_of::<EnvironmentRef>(), 1);
23983 static_assertions::const_assert_eq!(std::mem::align_of::<EnvironmentRef>(), 1);
23984
23985 unsafe impl ::fidl_next::Wire for EnvironmentRef {
23986 type Owned<'de> = EnvironmentRef;
23987
23988 #[inline]
23989 fn zero_padding(out_: &mut ::core::mem::MaybeUninit<Self>) {
23990 ::fidl_next::munge! {
23991 let Self {
23992
23993 _empty,
23994
23995
23996 } = &mut *out_;
23997 }
23998 }
23999 }
24000
24001 unsafe impl<___D> ::fidl_next::Decode<___D> for EnvironmentRef
24002 where
24003 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
24004 {
24005 fn decode(
24006 slot_: ::fidl_next::Slot<'_, Self>,
24007 decoder_: &mut ___D,
24008 _: (),
24009 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
24010 ::fidl_next::munge! {
24011 let Self {
24012
24013 mut _empty,
24014
24015
24016 } = slot_;
24017 }
24018
24019 if _empty.as_bytes() != &[0u8] {
24020 return Err(::fidl_next::DecodeError::InvalidEmptyStruct);
24021 }
24022
24023 Ok(())
24024 }
24025 }
24026
24027 impl ::fidl_next::IntoNatural for EnvironmentRef {
24028 type Natural = crate::natural::EnvironmentRef;
24029 }
24030
24031 impl ::fidl_next::Unconstrained for EnvironmentRef {}
24032
24033 #[repr(transparent)]
24035 pub struct Ref<'de> {
24036 pub(crate) raw: ::fidl_next::RawWireUnion,
24037 pub(crate) _phantom: ::core::marker::PhantomData<&'de mut [::fidl_next::Chunk]>,
24038 }
24039
24040 impl<'de> Drop for Ref<'de> {
24041 fn drop(&mut self) {
24042 match self.raw.ordinal() {
24043 1 => {
24044 let _ = unsafe { self.raw.get().read_unchecked::<crate::wire::ParentRef>() };
24045 }
24046
24047 2 => {
24048 let _ = unsafe { self.raw.get().read_unchecked::<crate::wire::SelfRef>() };
24049 }
24050
24051 3 => {
24052 let _ =
24053 unsafe { self.raw.get().read_unchecked::<crate::wire::ChildRef<'de>>() };
24054 }
24055
24056 4 => {
24057 let _ = unsafe {
24058 self.raw.get().read_unchecked::<crate::wire::CollectionRef<'de>>()
24059 };
24060 }
24061
24062 5 => {
24063 let _ = unsafe { self.raw.get().read_unchecked::<crate::wire::FrameworkRef>() };
24064 }
24065
24066 6 => {
24067 let _ = unsafe {
24068 self.raw.get().read_unchecked::<crate::wire::CapabilityRef<'de>>()
24069 };
24070 }
24071
24072 7 => {
24073 let _ = unsafe { self.raw.get().read_unchecked::<crate::wire::DebugRef>() };
24074 }
24075
24076 8 => {
24077 let _ = unsafe { self.raw.get().read_unchecked::<crate::wire::VoidRef>() };
24078 }
24079
24080 9 => {
24081 let _ =
24082 unsafe { self.raw.get().read_unchecked::<crate::wire::EnvironmentRef>() };
24083 }
24084
24085 _ => (),
24086 }
24087 }
24088 }
24089
24090 unsafe impl ::fidl_next::Wire for Ref<'static> {
24091 type Owned<'de> = Ref<'de>;
24092
24093 #[inline]
24094 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
24095 ::fidl_next::munge!(let Self { raw, _phantom: _ } = out);
24096 ::fidl_next::RawWireUnion::zero_padding(raw);
24097 }
24098 }
24099
24100 pub mod ref_ {
24101 pub enum Ref<'de> {
24102 Parent(&'de crate::wire::ParentRef),
24103
24104 Self_(&'de crate::wire::SelfRef),
24105
24106 Child(&'de crate::wire::ChildRef<'de>),
24107
24108 Collection(&'de crate::wire::CollectionRef<'de>),
24109
24110 Framework(&'de crate::wire::FrameworkRef),
24111
24112 Capability(&'de crate::wire::CapabilityRef<'de>),
24113
24114 Debug(&'de crate::wire::DebugRef),
24115
24116 VoidType(&'de crate::wire::VoidRef),
24117
24118 Environment(&'de crate::wire::EnvironmentRef),
24119
24120 UnknownOrdinal_(u64),
24121 }
24122 }
24123
24124 impl<'de> Ref<'de> {
24125 pub fn as_ref(&self) -> crate::wire::ref_::Ref<'_> {
24126 match self.raw.ordinal() {
24127 1 => crate::wire::ref_::Ref::Parent(unsafe {
24128 self.raw.get().deref_unchecked::<crate::wire::ParentRef>()
24129 }),
24130
24131 2 => crate::wire::ref_::Ref::Self_(unsafe {
24132 self.raw.get().deref_unchecked::<crate::wire::SelfRef>()
24133 }),
24134
24135 3 => crate::wire::ref_::Ref::Child(unsafe {
24136 self.raw.get().deref_unchecked::<crate::wire::ChildRef<'_>>()
24137 }),
24138
24139 4 => crate::wire::ref_::Ref::Collection(unsafe {
24140 self.raw.get().deref_unchecked::<crate::wire::CollectionRef<'_>>()
24141 }),
24142
24143 5 => crate::wire::ref_::Ref::Framework(unsafe {
24144 self.raw.get().deref_unchecked::<crate::wire::FrameworkRef>()
24145 }),
24146
24147 6 => crate::wire::ref_::Ref::Capability(unsafe {
24148 self.raw.get().deref_unchecked::<crate::wire::CapabilityRef<'_>>()
24149 }),
24150
24151 7 => crate::wire::ref_::Ref::Debug(unsafe {
24152 self.raw.get().deref_unchecked::<crate::wire::DebugRef>()
24153 }),
24154
24155 8 => crate::wire::ref_::Ref::VoidType(unsafe {
24156 self.raw.get().deref_unchecked::<crate::wire::VoidRef>()
24157 }),
24158
24159 9 => crate::wire::ref_::Ref::Environment(unsafe {
24160 self.raw.get().deref_unchecked::<crate::wire::EnvironmentRef>()
24161 }),
24162
24163 unknown => crate::wire::ref_::Ref::UnknownOrdinal_(unknown),
24164 }
24165 }
24166 }
24167
24168 unsafe impl<___D> ::fidl_next::Decode<___D> for Ref<'static>
24169 where
24170 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
24171 ___D: ::fidl_next::Decoder,
24172 {
24173 fn decode(
24174 mut slot: ::fidl_next::Slot<'_, Self>,
24175 decoder: &mut ___D,
24176 _: (),
24177 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
24178 ::fidl_next::munge!(let Self { mut raw, _phantom: _ } = slot.as_mut());
24179 match ::fidl_next::RawWireUnion::encoded_ordinal(raw.as_mut()) {
24180 1 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::ParentRef>(
24181 raw,
24182 decoder,
24183 (),
24184 )?,
24185
24186 2 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::SelfRef>(
24187 raw,
24188 decoder,
24189 (),
24190 )?,
24191
24192 3 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::ChildRef<'static>>(
24193 raw,
24194 decoder,
24195 (),
24196 )?,
24197
24198 4 => ::fidl_next::RawWireUnion::decode_as::<
24199 ___D,
24200 crate::wire::CollectionRef<'static>,
24201 >(raw, decoder, ())?,
24202
24203 5 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::FrameworkRef>(
24204 raw,
24205 decoder,
24206 (),
24207 )?,
24208
24209 6 => ::fidl_next::RawWireUnion::decode_as::<
24210 ___D,
24211 crate::wire::CapabilityRef<'static>,
24212 >(raw, decoder, ())?,
24213
24214 7 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::DebugRef>(
24215 raw,
24216 decoder,
24217 (),
24218 )?,
24219
24220 8 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::VoidRef>(
24221 raw,
24222 decoder,
24223 (),
24224 )?,
24225
24226 9 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::EnvironmentRef>(
24227 raw,
24228 decoder,
24229 (),
24230 )?,
24231
24232 _ => ::fidl_next::RawWireUnion::decode_unknown(raw, decoder)?,
24233 }
24234
24235 Ok(())
24236 }
24237 }
24238
24239 impl<'de> ::core::fmt::Debug for Ref<'de> {
24240 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24241 match self.raw.ordinal() {
24242 1 => unsafe { self.raw.get().deref_unchecked::<crate::wire::ParentRef>().fmt(f) },
24243 2 => unsafe { self.raw.get().deref_unchecked::<crate::wire::SelfRef>().fmt(f) },
24244 3 => unsafe {
24245 self.raw.get().deref_unchecked::<crate::wire::ChildRef<'_>>().fmt(f)
24246 },
24247 4 => unsafe {
24248 self.raw.get().deref_unchecked::<crate::wire::CollectionRef<'_>>().fmt(f)
24249 },
24250 5 => unsafe {
24251 self.raw.get().deref_unchecked::<crate::wire::FrameworkRef>().fmt(f)
24252 },
24253 6 => unsafe {
24254 self.raw.get().deref_unchecked::<crate::wire::CapabilityRef<'_>>().fmt(f)
24255 },
24256 7 => unsafe { self.raw.get().deref_unchecked::<crate::wire::DebugRef>().fmt(f) },
24257 8 => unsafe { self.raw.get().deref_unchecked::<crate::wire::VoidRef>().fmt(f) },
24258 9 => unsafe {
24259 self.raw.get().deref_unchecked::<crate::wire::EnvironmentRef>().fmt(f)
24260 },
24261 _ => unsafe { ::core::hint::unreachable_unchecked() },
24262 }
24263 }
24264 }
24265
24266 impl<'de> ::fidl_next::IntoNatural for Ref<'de> {
24267 type Natural = crate::natural::Ref;
24268 }
24269
24270 impl ::fidl_next::Unconstrained for Ref<'static> {}
24271
24272 #[repr(C)]
24274 pub struct Storage<'de> {
24275 pub(crate) table: ::fidl_next::WireTable<'de>,
24276 }
24277
24278 impl<'de> Drop for Storage<'de> {
24279 fn drop(&mut self) {
24280 let _ = self.table.get(1).map(|envelope| unsafe {
24281 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
24282 });
24283
24284 let _ = self
24285 .table
24286 .get(2)
24287 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
24288
24289 let _ = self.table.get(3).map(|envelope| unsafe {
24290 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
24291 });
24292
24293 let _ = self.table.get(4).map(|envelope| unsafe {
24294 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
24295 });
24296
24297 let _ = self
24298 .table
24299 .get(5)
24300 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::StorageId>() });
24301 }
24302 }
24303
24304 unsafe impl ::fidl_next::Wire for Storage<'static> {
24305 type Owned<'de> = Storage<'de>;
24306
24307 #[inline]
24308 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
24309 ::fidl_next::munge!(let Self { table } = out);
24310 ::fidl_next::WireTable::zero_padding(table);
24311 }
24312 }
24313
24314 unsafe impl<___D> ::fidl_next::Decode<___D> for Storage<'static>
24315 where
24316 ___D: ::fidl_next::Decoder + ?Sized,
24317 {
24318 fn decode(
24319 slot: ::fidl_next::Slot<'_, Self>,
24320 decoder: &mut ___D,
24321 _: (),
24322 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
24323 ::fidl_next::munge!(let Self { table } = slot);
24324
24325 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
24326 match ordinal {
24327 0 => unsafe { ::core::hint::unreachable_unchecked() },
24328
24329 1 => {
24330 ::fidl_next::WireEnvelope::decode_as::<
24331 ___D,
24332 ::fidl_next::WireString<'static>,
24333 >(slot.as_mut(), decoder, 100)?;
24334
24335 let value = unsafe {
24336 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
24337 };
24338
24339 if value.len() > 100 {
24340 return Err(::fidl_next::DecodeError::VectorTooLong {
24341 size: value.len() as u64,
24342 limit: 100,
24343 });
24344 }
24345
24346 Ok(())
24347 }
24348
24349 2 => {
24350 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
24351 slot.as_mut(),
24352 decoder,
24353 (),
24354 )?;
24355
24356 Ok(())
24357 }
24358
24359 3 => {
24360 ::fidl_next::WireEnvelope::decode_as::<
24361 ___D,
24362 ::fidl_next::WireString<'static>,
24363 >(slot.as_mut(), decoder, 100)?;
24364
24365 let value = unsafe {
24366 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
24367 };
24368
24369 if value.len() > 100 {
24370 return Err(::fidl_next::DecodeError::VectorTooLong {
24371 size: value.len() as u64,
24372 limit: 100,
24373 });
24374 }
24375
24376 Ok(())
24377 }
24378
24379 4 => {
24380 ::fidl_next::WireEnvelope::decode_as::<
24381 ___D,
24382 ::fidl_next::WireString<'static>,
24383 >(slot.as_mut(), decoder, 1024)?;
24384
24385 let value = unsafe {
24386 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
24387 };
24388
24389 if value.len() > 1024 {
24390 return Err(::fidl_next::DecodeError::VectorTooLong {
24391 size: value.len() as u64,
24392 limit: 1024,
24393 });
24394 }
24395
24396 Ok(())
24397 }
24398
24399 5 => {
24400 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::StorageId>(
24401 slot.as_mut(),
24402 decoder,
24403 (),
24404 )?;
24405
24406 Ok(())
24407 }
24408
24409 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
24410 }
24411 })
24412 }
24413 }
24414
24415 impl<'de> Storage<'de> {
24416 pub fn name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
24417 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
24418 }
24419
24420 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
24421 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
24422 }
24423
24424 pub fn backing_dir(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
24425 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
24426 }
24427
24428 pub fn subdir(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
24429 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
24430 }
24431
24432 pub fn storage_id(&self) -> ::core::option::Option<&crate::wire::StorageId> {
24433 unsafe { Some(self.table.get(5)?.deref_unchecked()) }
24434 }
24435 }
24436
24437 impl<'de> ::core::fmt::Debug for Storage<'de> {
24438 fn fmt(
24439 &self,
24440 f: &mut ::core::fmt::Formatter<'_>,
24441 ) -> ::core::result::Result<(), ::core::fmt::Error> {
24442 f.debug_struct("Storage")
24443 .field("name", &self.name())
24444 .field("source", &self.source())
24445 .field("backing_dir", &self.backing_dir())
24446 .field("subdir", &self.subdir())
24447 .field("storage_id", &self.storage_id())
24448 .finish()
24449 }
24450 }
24451
24452 impl<'de> ::fidl_next::IntoNatural for Storage<'de> {
24453 type Natural = crate::natural::Storage;
24454 }
24455
24456 impl ::fidl_next::Unconstrained for Storage<'_> {}
24457
24458 #[repr(C)]
24460 pub struct Dictionary<'de> {
24461 pub(crate) table: ::fidl_next::WireTable<'de>,
24462 }
24463
24464 impl<'de> Drop for Dictionary<'de> {
24465 fn drop(&mut self) {
24466 let _ = self.table.get(1).map(|envelope| unsafe {
24467 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
24468 });
24469
24470 let _ = self
24471 .table
24472 .get(2)
24473 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
24474
24475 let _ = self.table.get(3).map(|envelope| unsafe {
24476 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
24477 });
24478
24479 let _ = self.table.get(4).map(|envelope| unsafe {
24480 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
24481 });
24482 }
24483 }
24484
24485 unsafe impl ::fidl_next::Wire for Dictionary<'static> {
24486 type Owned<'de> = Dictionary<'de>;
24487
24488 #[inline]
24489 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
24490 ::fidl_next::munge!(let Self { table } = out);
24491 ::fidl_next::WireTable::zero_padding(table);
24492 }
24493 }
24494
24495 unsafe impl<___D> ::fidl_next::Decode<___D> for Dictionary<'static>
24496 where
24497 ___D: ::fidl_next::Decoder + ?Sized,
24498 {
24499 fn decode(
24500 slot: ::fidl_next::Slot<'_, Self>,
24501 decoder: &mut ___D,
24502 _: (),
24503 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
24504 ::fidl_next::munge!(let Self { table } = slot);
24505
24506 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
24507 match ordinal {
24508 0 => unsafe { ::core::hint::unreachable_unchecked() },
24509
24510 1 => {
24511 ::fidl_next::WireEnvelope::decode_as::<
24512 ___D,
24513 ::fidl_next::WireString<'static>,
24514 >(slot.as_mut(), decoder, 100)?;
24515
24516 let value = unsafe {
24517 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
24518 };
24519
24520 if value.len() > 100 {
24521 return Err(::fidl_next::DecodeError::VectorTooLong {
24522 size: value.len() as u64,
24523 limit: 100,
24524 });
24525 }
24526
24527 Ok(())
24528 }
24529
24530 2 => {
24531 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
24532 slot.as_mut(),
24533 decoder,
24534 (),
24535 )?;
24536
24537 Ok(())
24538 }
24539
24540 3 => {
24541 ::fidl_next::WireEnvelope::decode_as::<
24542 ___D,
24543 ::fidl_next::WireString<'static>,
24544 >(slot.as_mut(), decoder, 1024)?;
24545
24546 let value = unsafe {
24547 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
24548 };
24549
24550 if value.len() > 1024 {
24551 return Err(::fidl_next::DecodeError::VectorTooLong {
24552 size: value.len() as u64,
24553 limit: 1024,
24554 });
24555 }
24556
24557 Ok(())
24558 }
24559
24560 4 => {
24561 ::fidl_next::WireEnvelope::decode_as::<
24562 ___D,
24563 ::fidl_next::WireString<'static>,
24564 >(slot.as_mut(), decoder, 1024)?;
24565
24566 let value = unsafe {
24567 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
24568 };
24569
24570 if value.len() > 1024 {
24571 return Err(::fidl_next::DecodeError::VectorTooLong {
24572 size: value.len() as u64,
24573 limit: 1024,
24574 });
24575 }
24576
24577 Ok(())
24578 }
24579
24580 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
24581 }
24582 })
24583 }
24584 }
24585
24586 impl<'de> Dictionary<'de> {
24587 pub fn name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
24588 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
24589 }
24590
24591 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
24592 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
24593 }
24594
24595 pub fn source_dictionary(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
24596 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
24597 }
24598
24599 pub fn source_path(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
24600 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
24601 }
24602 }
24603
24604 impl<'de> ::core::fmt::Debug for Dictionary<'de> {
24605 fn fmt(
24606 &self,
24607 f: &mut ::core::fmt::Formatter<'_>,
24608 ) -> ::core::result::Result<(), ::core::fmt::Error> {
24609 f.debug_struct("Dictionary")
24610 .field("name", &self.name())
24611 .field("source", &self.source())
24612 .field("source_dictionary", &self.source_dictionary())
24613 .field("source_path", &self.source_path())
24614 .finish()
24615 }
24616 }
24617
24618 impl<'de> ::fidl_next::IntoNatural for Dictionary<'de> {
24619 type Natural = crate::natural::Dictionary;
24620 }
24621
24622 impl ::fidl_next::Unconstrained for Dictionary<'_> {}
24623
24624 #[repr(transparent)]
24626 pub struct Capability<'de> {
24627 pub(crate) raw: ::fidl_next::RawWireUnion,
24628 pub(crate) _phantom: ::core::marker::PhantomData<&'de mut [::fidl_next::Chunk]>,
24629 }
24630
24631 impl<'de> Drop for Capability<'de> {
24632 fn drop(&mut self) {
24633 match self.raw.ordinal() {
24634 1 => {
24635 let _ = unsafe { self.raw.get().read_unchecked::<crate::wire::Service<'de>>() };
24636 }
24637
24638 2 => {
24639 let _ =
24640 unsafe { self.raw.get().read_unchecked::<crate::wire::Protocol<'de>>() };
24641 }
24642
24643 3 => {
24644 let _ =
24645 unsafe { self.raw.get().read_unchecked::<crate::wire::Directory<'de>>() };
24646 }
24647
24648 4 => {
24649 let _ = unsafe { self.raw.get().read_unchecked::<crate::wire::Storage<'de>>() };
24650 }
24651
24652 5 => {
24653 let _ = unsafe { self.raw.get().read_unchecked::<crate::wire::Runner<'de>>() };
24654 }
24655
24656 6 => {
24657 let _ =
24658 unsafe { self.raw.get().read_unchecked::<crate::wire::Resolver<'de>>() };
24659 }
24660
24661 8 => {
24662 let _ =
24663 unsafe { self.raw.get().read_unchecked::<crate::wire::EventStream<'de>>() };
24664 }
24665
24666 9 => {
24667 let _ =
24668 unsafe { self.raw.get().read_unchecked::<crate::wire::Dictionary<'de>>() };
24669 }
24670
24671 10 => {
24672 let _ = unsafe {
24673 self.raw.get().read_unchecked::<crate::wire::Configuration<'de>>()
24674 };
24675 }
24676
24677 _ => (),
24678 }
24679 }
24680 }
24681
24682 unsafe impl ::fidl_next::Wire for Capability<'static> {
24683 type Owned<'de> = Capability<'de>;
24684
24685 #[inline]
24686 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
24687 ::fidl_next::munge!(let Self { raw, _phantom: _ } = out);
24688 ::fidl_next::RawWireUnion::zero_padding(raw);
24689 }
24690 }
24691
24692 pub mod capability {
24693 pub enum Ref<'de> {
24694 Service(&'de crate::wire::Service<'de>),
24695
24696 Protocol(&'de crate::wire::Protocol<'de>),
24697
24698 Directory(&'de crate::wire::Directory<'de>),
24699
24700 Storage(&'de crate::wire::Storage<'de>),
24701
24702 Runner(&'de crate::wire::Runner<'de>),
24703
24704 Resolver(&'de crate::wire::Resolver<'de>),
24705
24706 EventStream(&'de crate::wire::EventStream<'de>),
24707
24708 Dictionary(&'de crate::wire::Dictionary<'de>),
24709
24710 Config(&'de crate::wire::Configuration<'de>),
24711
24712 UnknownOrdinal_(u64),
24713 }
24714 }
24715
24716 impl<'de> Capability<'de> {
24717 pub fn as_ref(&self) -> crate::wire::capability::Ref<'_> {
24718 match self.raw.ordinal() {
24719 1 => crate::wire::capability::Ref::Service(unsafe {
24720 self.raw.get().deref_unchecked::<crate::wire::Service<'_>>()
24721 }),
24722
24723 2 => crate::wire::capability::Ref::Protocol(unsafe {
24724 self.raw.get().deref_unchecked::<crate::wire::Protocol<'_>>()
24725 }),
24726
24727 3 => crate::wire::capability::Ref::Directory(unsafe {
24728 self.raw.get().deref_unchecked::<crate::wire::Directory<'_>>()
24729 }),
24730
24731 4 => crate::wire::capability::Ref::Storage(unsafe {
24732 self.raw.get().deref_unchecked::<crate::wire::Storage<'_>>()
24733 }),
24734
24735 5 => crate::wire::capability::Ref::Runner(unsafe {
24736 self.raw.get().deref_unchecked::<crate::wire::Runner<'_>>()
24737 }),
24738
24739 6 => crate::wire::capability::Ref::Resolver(unsafe {
24740 self.raw.get().deref_unchecked::<crate::wire::Resolver<'_>>()
24741 }),
24742
24743 8 => crate::wire::capability::Ref::EventStream(unsafe {
24744 self.raw.get().deref_unchecked::<crate::wire::EventStream<'_>>()
24745 }),
24746
24747 9 => crate::wire::capability::Ref::Dictionary(unsafe {
24748 self.raw.get().deref_unchecked::<crate::wire::Dictionary<'_>>()
24749 }),
24750
24751 10 => crate::wire::capability::Ref::Config(unsafe {
24752 self.raw.get().deref_unchecked::<crate::wire::Configuration<'_>>()
24753 }),
24754
24755 unknown => crate::wire::capability::Ref::UnknownOrdinal_(unknown),
24756 }
24757 }
24758 }
24759
24760 unsafe impl<___D> ::fidl_next::Decode<___D> for Capability<'static>
24761 where
24762 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
24763 ___D: ::fidl_next::Decoder,
24764 {
24765 fn decode(
24766 mut slot: ::fidl_next::Slot<'_, Self>,
24767 decoder: &mut ___D,
24768 _: (),
24769 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
24770 ::fidl_next::munge!(let Self { mut raw, _phantom: _ } = slot.as_mut());
24771 match ::fidl_next::RawWireUnion::encoded_ordinal(raw.as_mut()) {
24772 1 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::Service<'static>>(
24773 raw,
24774 decoder,
24775 (),
24776 )?,
24777
24778 2 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::Protocol<'static>>(
24779 raw,
24780 decoder,
24781 (),
24782 )?,
24783
24784 3 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::Directory<'static>>(
24785 raw,
24786 decoder,
24787 (),
24788 )?,
24789
24790 4 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::Storage<'static>>(
24791 raw,
24792 decoder,
24793 (),
24794 )?,
24795
24796 5 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::Runner<'static>>(
24797 raw,
24798 decoder,
24799 (),
24800 )?,
24801
24802 6 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::Resolver<'static>>(
24803 raw,
24804 decoder,
24805 (),
24806 )?,
24807
24808 8 => {
24809 ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::EventStream<'static>>(
24810 raw,
24811 decoder,
24812 (),
24813 )?
24814 }
24815
24816 9 => {
24817 ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::Dictionary<'static>>(
24818 raw,
24819 decoder,
24820 (),
24821 )?
24822 }
24823
24824 10 => ::fidl_next::RawWireUnion::decode_as::<
24825 ___D,
24826 crate::wire::Configuration<'static>,
24827 >(raw, decoder, ())?,
24828
24829 _ => ::fidl_next::RawWireUnion::decode_unknown(raw, decoder)?,
24830 }
24831
24832 Ok(())
24833 }
24834 }
24835
24836 impl<'de> ::core::fmt::Debug for Capability<'de> {
24837 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24838 match self.raw.ordinal() {
24839 1 => unsafe { self.raw.get().deref_unchecked::<crate::wire::Service<'_>>().fmt(f) },
24840 2 => unsafe {
24841 self.raw.get().deref_unchecked::<crate::wire::Protocol<'_>>().fmt(f)
24842 },
24843 3 => unsafe {
24844 self.raw.get().deref_unchecked::<crate::wire::Directory<'_>>().fmt(f)
24845 },
24846 4 => unsafe { self.raw.get().deref_unchecked::<crate::wire::Storage<'_>>().fmt(f) },
24847 5 => unsafe { self.raw.get().deref_unchecked::<crate::wire::Runner<'_>>().fmt(f) },
24848 6 => unsafe {
24849 self.raw.get().deref_unchecked::<crate::wire::Resolver<'_>>().fmt(f)
24850 },
24851 8 => unsafe {
24852 self.raw.get().deref_unchecked::<crate::wire::EventStream<'_>>().fmt(f)
24853 },
24854 9 => unsafe {
24855 self.raw.get().deref_unchecked::<crate::wire::Dictionary<'_>>().fmt(f)
24856 },
24857 10 => unsafe {
24858 self.raw.get().deref_unchecked::<crate::wire::Configuration<'_>>().fmt(f)
24859 },
24860 _ => unsafe { ::core::hint::unreachable_unchecked() },
24861 }
24862 }
24863 }
24864
24865 impl<'de> ::fidl_next::IntoNatural for Capability<'de> {
24866 type Natural = crate::natural::Capability;
24867 }
24868
24869 impl ::fidl_next::Unconstrained for Capability<'static> {}
24870
24871 #[derive(Clone, Copy, Debug, PartialEq, Eq)]
24873 #[repr(transparent)]
24874 pub struct StartupMode {
24875 pub(crate) value: ::fidl_next::WireU32,
24876 }
24877
24878 unsafe impl ::fidl_next::Wire for StartupMode {
24879 type Owned<'de> = Self;
24880
24881 #[inline]
24882 fn zero_padding(_: &mut ::core::mem::MaybeUninit<Self>) {
24883 }
24885 }
24886
24887 impl StartupMode {
24888 pub const LAZY: StartupMode = StartupMode { value: ::fidl_next::WireU32(0) };
24889
24890 pub const EAGER: StartupMode = StartupMode { value: ::fidl_next::WireU32(1) };
24891 }
24892
24893 unsafe impl<___D> ::fidl_next::Decode<___D> for StartupMode
24894 where
24895 ___D: ?Sized,
24896 {
24897 fn decode(
24898 slot: ::fidl_next::Slot<'_, Self>,
24899 _: &mut ___D,
24900 _: (),
24901 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
24902 ::fidl_next::munge!(let Self { value } = slot);
24903
24904 match u32::from(*value) {
24905 0 | 1 => (),
24906 unknown => {
24907 return Err(::fidl_next::DecodeError::InvalidEnumOrdinal(unknown as i128));
24908 }
24909 }
24910
24911 Ok(())
24912 }
24913 }
24914
24915 impl ::core::convert::From<crate::natural::StartupMode> for StartupMode {
24916 fn from(natural: crate::natural::StartupMode) -> Self {
24917 match natural {
24918 crate::natural::StartupMode::Lazy => StartupMode::LAZY,
24919
24920 crate::natural::StartupMode::Eager => StartupMode::EAGER,
24921 }
24922 }
24923 }
24924
24925 impl ::fidl_next::IntoNatural for StartupMode {
24926 type Natural = crate::natural::StartupMode;
24927 }
24928
24929 impl ::fidl_next::Unconstrained for StartupMode {}
24930
24931 #[derive(Clone, Copy, Debug, PartialEq, Eq)]
24933 #[repr(transparent)]
24934 pub struct OnTerminate {
24935 pub(crate) value: ::fidl_next::WireU32,
24936 }
24937
24938 unsafe impl ::fidl_next::Wire for OnTerminate {
24939 type Owned<'de> = Self;
24940
24941 #[inline]
24942 fn zero_padding(_: &mut ::core::mem::MaybeUninit<Self>) {
24943 }
24945 }
24946
24947 impl OnTerminate {
24948 pub const NONE: OnTerminate = OnTerminate { value: ::fidl_next::WireU32(0) };
24949
24950 pub const REBOOT: OnTerminate = OnTerminate { value: ::fidl_next::WireU32(1) };
24951 }
24952
24953 unsafe impl<___D> ::fidl_next::Decode<___D> for OnTerminate
24954 where
24955 ___D: ?Sized,
24956 {
24957 fn decode(
24958 slot: ::fidl_next::Slot<'_, Self>,
24959 _: &mut ___D,
24960 _: (),
24961 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
24962 ::fidl_next::munge!(let Self { value } = slot);
24963
24964 match u32::from(*value) {
24965 0 | 1 => (),
24966 unknown => {
24967 return Err(::fidl_next::DecodeError::InvalidEnumOrdinal(unknown as i128));
24968 }
24969 }
24970
24971 Ok(())
24972 }
24973 }
24974
24975 impl ::core::convert::From<crate::natural::OnTerminate> for OnTerminate {
24976 fn from(natural: crate::natural::OnTerminate) -> Self {
24977 match natural {
24978 crate::natural::OnTerminate::None => OnTerminate::NONE,
24979
24980 crate::natural::OnTerminate::Reboot => OnTerminate::REBOOT,
24981 }
24982 }
24983 }
24984
24985 impl ::fidl_next::IntoNatural for OnTerminate {
24986 type Natural = crate::natural::OnTerminate;
24987 }
24988
24989 impl ::fidl_next::Unconstrained for OnTerminate {}
24990
24991 pub type ConfigKey<'de> = ::fidl_next::WireString<'de>;
24993
24994 #[repr(C)]
24996 pub struct ConfigOverride<'de> {
24997 pub(crate) table: ::fidl_next::WireTable<'de>,
24998 }
24999
25000 impl<'de> Drop for ConfigOverride<'de> {
25001 fn drop(&mut self) {
25002 let _ = self.table.get(1).map(|envelope| unsafe {
25003 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
25004 });
25005
25006 let _ = self.table.get(2).map(|envelope| unsafe {
25007 envelope.read_unchecked::<crate::wire::ConfigValue<'de>>()
25008 });
25009 }
25010 }
25011
25012 unsafe impl ::fidl_next::Wire for ConfigOverride<'static> {
25013 type Owned<'de> = ConfigOverride<'de>;
25014
25015 #[inline]
25016 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
25017 ::fidl_next::munge!(let Self { table } = out);
25018 ::fidl_next::WireTable::zero_padding(table);
25019 }
25020 }
25021
25022 unsafe impl<___D> ::fidl_next::Decode<___D> for ConfigOverride<'static>
25023 where
25024 ___D: ::fidl_next::Decoder + ?Sized,
25025 {
25026 fn decode(
25027 slot: ::fidl_next::Slot<'_, Self>,
25028 decoder: &mut ___D,
25029 _: (),
25030 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
25031 ::fidl_next::munge!(let Self { table } = slot);
25032
25033 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
25034 match ordinal {
25035 0 => unsafe { ::core::hint::unreachable_unchecked() },
25036
25037 1 => {
25038 ::fidl_next::WireEnvelope::decode_as::<
25039 ___D,
25040 ::fidl_next::WireString<'static>,
25041 >(slot.as_mut(), decoder, 64)?;
25042
25043 let value = unsafe {
25044 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
25045 };
25046
25047 if value.len() > 64 {
25048 return Err(::fidl_next::DecodeError::VectorTooLong {
25049 size: value.len() as u64,
25050 limit: 64,
25051 });
25052 }
25053
25054 Ok(())
25055 }
25056
25057 2 => {
25058 ::fidl_next::WireEnvelope::decode_as::<
25059 ___D,
25060 crate::wire::ConfigValue<'static>,
25061 >(slot.as_mut(), decoder, ())?;
25062
25063 Ok(())
25064 }
25065
25066 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
25067 }
25068 })
25069 }
25070 }
25071
25072 impl<'de> ConfigOverride<'de> {
25073 pub fn key(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
25074 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
25075 }
25076
25077 pub fn value(&self) -> ::core::option::Option<&crate::wire::ConfigValue<'de>> {
25078 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
25079 }
25080 }
25081
25082 impl<'de> ::core::fmt::Debug for ConfigOverride<'de> {
25083 fn fmt(
25084 &self,
25085 f: &mut ::core::fmt::Formatter<'_>,
25086 ) -> ::core::result::Result<(), ::core::fmt::Error> {
25087 f.debug_struct("ConfigOverride")
25088 .field("key", &self.key())
25089 .field("value", &self.value())
25090 .finish()
25091 }
25092 }
25093
25094 impl<'de> ::fidl_next::IntoNatural for ConfigOverride<'de> {
25095 type Natural = crate::natural::ConfigOverride;
25096 }
25097
25098 impl ::fidl_next::Unconstrained for ConfigOverride<'_> {}
25099
25100 #[repr(C)]
25102 pub struct Child<'de> {
25103 pub(crate) table: ::fidl_next::WireTable<'de>,
25104 }
25105
25106 impl<'de> Drop for Child<'de> {
25107 fn drop(&mut self) {
25108 let _ = self.table.get(1).map(|envelope| unsafe {
25109 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
25110 });
25111
25112 let _ = self.table.get(2).map(|envelope| unsafe {
25113 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
25114 });
25115
25116 let _ = self
25117 .table
25118 .get(3)
25119 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::StartupMode>() });
25120
25121 let _ = self.table.get(4).map(|envelope| unsafe {
25122 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
25123 });
25124
25125 let _ = self
25126 .table
25127 .get(5)
25128 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::OnTerminate>() });
25129
25130 let _ = self.table.get(6)
25131 .map(|envelope| unsafe {
25132 envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::ConfigOverride<'de>>>()
25133 });
25134 }
25135 }
25136
25137 unsafe impl ::fidl_next::Wire for Child<'static> {
25138 type Owned<'de> = Child<'de>;
25139
25140 #[inline]
25141 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
25142 ::fidl_next::munge!(let Self { table } = out);
25143 ::fidl_next::WireTable::zero_padding(table);
25144 }
25145 }
25146
25147 unsafe impl<___D> ::fidl_next::Decode<___D> for Child<'static>
25148 where
25149 ___D: ::fidl_next::Decoder + ?Sized,
25150 {
25151 fn decode(
25152 slot: ::fidl_next::Slot<'_, Self>,
25153 decoder: &mut ___D,
25154 _: (),
25155 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
25156 ::fidl_next::munge!(let Self { table } = slot);
25157
25158 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
25159 match ordinal {
25160 0 => unsafe { ::core::hint::unreachable_unchecked() },
25161
25162 1 => {
25163 ::fidl_next::WireEnvelope::decode_as::<
25164 ___D,
25165 ::fidl_next::WireString<'static>,
25166 >(slot.as_mut(), decoder, 1024)?;
25167
25168 let value = unsafe {
25169 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
25170 };
25171
25172 if value.len() > 1024 {
25173 return Err(::fidl_next::DecodeError::VectorTooLong {
25174 size: value.len() as u64,
25175 limit: 1024,
25176 });
25177 }
25178
25179 Ok(())
25180 }
25181
25182 2 => {
25183 ::fidl_next::WireEnvelope::decode_as::<
25184 ___D,
25185 ::fidl_next::WireString<'static>,
25186 >(slot.as_mut(), decoder, 4096)?;
25187
25188 let value = unsafe {
25189 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
25190 };
25191
25192 if value.len() > 4096 {
25193 return Err(::fidl_next::DecodeError::VectorTooLong {
25194 size: value.len() as u64,
25195 limit: 4096,
25196 });
25197 }
25198
25199 Ok(())
25200 }
25201
25202 3 => {
25203 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::StartupMode>(
25204 slot.as_mut(),
25205 decoder,
25206 (),
25207 )?;
25208
25209 Ok(())
25210 }
25211
25212 4 => {
25213 ::fidl_next::WireEnvelope::decode_as::<
25214 ___D,
25215 ::fidl_next::WireString<'static>,
25216 >(slot.as_mut(), decoder, 100)?;
25217
25218 let value = unsafe {
25219 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
25220 };
25221
25222 if value.len() > 100 {
25223 return Err(::fidl_next::DecodeError::VectorTooLong {
25224 size: value.len() as u64,
25225 limit: 100,
25226 });
25227 }
25228
25229 Ok(())
25230 }
25231
25232 5 => {
25233 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::OnTerminate>(
25234 slot.as_mut(),
25235 decoder,
25236 (),
25237 )?;
25238
25239 Ok(())
25240 }
25241
25242 6 => {
25243 ::fidl_next::WireEnvelope::decode_as::<
25244 ___D,
25245 ::fidl_next::WireVector<'static, crate::wire::ConfigOverride<'static>>,
25246 >(slot.as_mut(), decoder, (4294967295, ()))?;
25247
25248 Ok(())
25249 }
25250
25251 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
25252 }
25253 })
25254 }
25255 }
25256
25257 impl<'de> Child<'de> {
25258 pub fn name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
25259 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
25260 }
25261
25262 pub fn url(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
25263 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
25264 }
25265
25266 pub fn startup(&self) -> ::core::option::Option<&crate::wire::StartupMode> {
25267 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
25268 }
25269
25270 pub fn environment(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
25271 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
25272 }
25273
25274 pub fn on_terminate(&self) -> ::core::option::Option<&crate::wire::OnTerminate> {
25275 unsafe { Some(self.table.get(5)?.deref_unchecked()) }
25276 }
25277
25278 pub fn config_overrides(
25279 &self,
25280 ) -> ::core::option::Option<&::fidl_next::WireVector<'de, crate::wire::ConfigOverride<'de>>>
25281 {
25282 unsafe { Some(self.table.get(6)?.deref_unchecked()) }
25283 }
25284 }
25285
25286 impl<'de> ::core::fmt::Debug for Child<'de> {
25287 fn fmt(
25288 &self,
25289 f: &mut ::core::fmt::Formatter<'_>,
25290 ) -> ::core::result::Result<(), ::core::fmt::Error> {
25291 f.debug_struct("Child")
25292 .field("name", &self.name())
25293 .field("url", &self.url())
25294 .field("startup", &self.startup())
25295 .field("environment", &self.environment())
25296 .field("on_terminate", &self.on_terminate())
25297 .field("config_overrides", &self.config_overrides())
25298 .finish()
25299 }
25300 }
25301
25302 impl<'de> ::fidl_next::IntoNatural for Child<'de> {
25303 type Natural = crate::natural::Child;
25304 }
25305
25306 impl ::fidl_next::Unconstrained for Child<'_> {}
25307
25308 #[derive(Clone, Copy, Debug, PartialEq, Eq)]
25310 #[repr(transparent)]
25311 pub struct Durability {
25312 pub(crate) value: ::fidl_next::WireU32,
25313 }
25314
25315 unsafe impl ::fidl_next::Wire for Durability {
25316 type Owned<'de> = Self;
25317
25318 #[inline]
25319 fn zero_padding(_: &mut ::core::mem::MaybeUninit<Self>) {
25320 }
25322 }
25323
25324 impl Durability {
25325 pub const TRANSIENT: Durability = Durability { value: ::fidl_next::WireU32(2) };
25326
25327 pub const SINGLE_RUN: Durability = Durability { value: ::fidl_next::WireU32(3) };
25328 }
25329
25330 unsafe impl<___D> ::fidl_next::Decode<___D> for Durability
25331 where
25332 ___D: ?Sized,
25333 {
25334 fn decode(
25335 slot: ::fidl_next::Slot<'_, Self>,
25336 _: &mut ___D,
25337 _: (),
25338 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
25339 ::fidl_next::munge!(let Self { value } = slot);
25340
25341 match u32::from(*value) {
25342 2 | 3 => (),
25343 unknown => {
25344 return Err(::fidl_next::DecodeError::InvalidEnumOrdinal(unknown as i128));
25345 }
25346 }
25347
25348 Ok(())
25349 }
25350 }
25351
25352 impl ::core::convert::From<crate::natural::Durability> for Durability {
25353 fn from(natural: crate::natural::Durability) -> Self {
25354 match natural {
25355 crate::natural::Durability::Transient => Durability::TRANSIENT,
25356
25357 crate::natural::Durability::SingleRun => Durability::SINGLE_RUN,
25358 }
25359 }
25360 }
25361
25362 impl ::fidl_next::IntoNatural for Durability {
25363 type Natural = crate::natural::Durability;
25364 }
25365
25366 impl ::fidl_next::Unconstrained for Durability {}
25367
25368 #[repr(C)]
25370 pub struct Collection<'de> {
25371 pub(crate) table: ::fidl_next::WireTable<'de>,
25372 }
25373
25374 impl<'de> Drop for Collection<'de> {
25375 fn drop(&mut self) {
25376 let _ = self.table.get(1).map(|envelope| unsafe {
25377 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
25378 });
25379
25380 let _ = self
25381 .table
25382 .get(2)
25383 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Durability>() });
25384
25385 let _ = self.table.get(3).map(|envelope| unsafe {
25386 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
25387 });
25388
25389 let _ = self
25390 .table
25391 .get(4)
25392 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::AllowedOffers>() });
25393
25394 let _ = self.table.get(5).map(|envelope| unsafe { envelope.read_unchecked::<bool>() });
25395
25396 let _ = self.table.get(6).map(|envelope| unsafe { envelope.read_unchecked::<bool>() });
25397 }
25398 }
25399
25400 unsafe impl ::fidl_next::Wire for Collection<'static> {
25401 type Owned<'de> = Collection<'de>;
25402
25403 #[inline]
25404 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
25405 ::fidl_next::munge!(let Self { table } = out);
25406 ::fidl_next::WireTable::zero_padding(table);
25407 }
25408 }
25409
25410 unsafe impl<___D> ::fidl_next::Decode<___D> for Collection<'static>
25411 where
25412 ___D: ::fidl_next::Decoder + ?Sized,
25413 {
25414 fn decode(
25415 slot: ::fidl_next::Slot<'_, Self>,
25416 decoder: &mut ___D,
25417 _: (),
25418 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
25419 ::fidl_next::munge!(let Self { table } = slot);
25420
25421 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
25422 match ordinal {
25423 0 => unsafe { ::core::hint::unreachable_unchecked() },
25424
25425 1 => {
25426 ::fidl_next::WireEnvelope::decode_as::<
25427 ___D,
25428 ::fidl_next::WireString<'static>,
25429 >(slot.as_mut(), decoder, 100)?;
25430
25431 let value = unsafe {
25432 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
25433 };
25434
25435 if value.len() > 100 {
25436 return Err(::fidl_next::DecodeError::VectorTooLong {
25437 size: value.len() as u64,
25438 limit: 100,
25439 });
25440 }
25441
25442 Ok(())
25443 }
25444
25445 2 => {
25446 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Durability>(
25447 slot.as_mut(),
25448 decoder,
25449 (),
25450 )?;
25451
25452 Ok(())
25453 }
25454
25455 3 => {
25456 ::fidl_next::WireEnvelope::decode_as::<
25457 ___D,
25458 ::fidl_next::WireString<'static>,
25459 >(slot.as_mut(), decoder, 100)?;
25460
25461 let value = unsafe {
25462 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
25463 };
25464
25465 if value.len() > 100 {
25466 return Err(::fidl_next::DecodeError::VectorTooLong {
25467 size: value.len() as u64,
25468 limit: 100,
25469 });
25470 }
25471
25472 Ok(())
25473 }
25474
25475 4 => {
25476 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::AllowedOffers>(
25477 slot.as_mut(),
25478 decoder,
25479 (),
25480 )?;
25481
25482 Ok(())
25483 }
25484
25485 5 => {
25486 ::fidl_next::WireEnvelope::decode_as::<___D, bool>(
25487 slot.as_mut(),
25488 decoder,
25489 (),
25490 )?;
25491
25492 Ok(())
25493 }
25494
25495 6 => {
25496 ::fidl_next::WireEnvelope::decode_as::<___D, bool>(
25497 slot.as_mut(),
25498 decoder,
25499 (),
25500 )?;
25501
25502 Ok(())
25503 }
25504
25505 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
25506 }
25507 })
25508 }
25509 }
25510
25511 impl<'de> Collection<'de> {
25512 pub fn name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
25513 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
25514 }
25515
25516 pub fn durability(&self) -> ::core::option::Option<&crate::wire::Durability> {
25517 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
25518 }
25519
25520 pub fn environment(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
25521 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
25522 }
25523
25524 pub fn allowed_offers(&self) -> ::core::option::Option<&crate::wire::AllowedOffers> {
25525 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
25526 }
25527
25528 pub fn allow_long_names(&self) -> ::core::option::Option<&bool> {
25529 unsafe { Some(self.table.get(5)?.deref_unchecked()) }
25530 }
25531
25532 pub fn persistent_storage(&self) -> ::core::option::Option<&bool> {
25533 unsafe { Some(self.table.get(6)?.deref_unchecked()) }
25534 }
25535 }
25536
25537 impl<'de> ::core::fmt::Debug for Collection<'de> {
25538 fn fmt(
25539 &self,
25540 f: &mut ::core::fmt::Formatter<'_>,
25541 ) -> ::core::result::Result<(), ::core::fmt::Error> {
25542 f.debug_struct("Collection")
25543 .field("name", &self.name())
25544 .field("durability", &self.durability())
25545 .field("environment", &self.environment())
25546 .field("allowed_offers", &self.allowed_offers())
25547 .field("allow_long_names", &self.allow_long_names())
25548 .field("persistent_storage", &self.persistent_storage())
25549 .finish()
25550 }
25551 }
25552
25553 impl<'de> ::fidl_next::IntoNatural for Collection<'de> {
25554 type Natural = crate::natural::Collection;
25555 }
25556
25557 impl ::fidl_next::Unconstrained for Collection<'_> {}
25558
25559 #[derive(Clone, Copy, Debug, PartialEq, Eq)]
25561 #[repr(transparent)]
25562 pub struct DependencyType {
25563 pub(crate) value: ::fidl_next::WireU32,
25564 }
25565
25566 unsafe impl ::fidl_next::Wire for DependencyType {
25567 type Owned<'de> = Self;
25568
25569 #[inline]
25570 fn zero_padding(_: &mut ::core::mem::MaybeUninit<Self>) {
25571 }
25573 }
25574
25575 impl DependencyType {
25576 pub const STRONG: DependencyType = DependencyType { value: ::fidl_next::WireU32(1) };
25577
25578 pub const WEAK: DependencyType = DependencyType { value: ::fidl_next::WireU32(2) };
25579 }
25580
25581 unsafe impl<___D> ::fidl_next::Decode<___D> for DependencyType
25582 where
25583 ___D: ?Sized,
25584 {
25585 fn decode(
25586 slot: ::fidl_next::Slot<'_, Self>,
25587 _: &mut ___D,
25588 _: (),
25589 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
25590 ::fidl_next::munge!(let Self { value } = slot);
25591
25592 match u32::from(*value) {
25593 1 | 2 => (),
25594 unknown => {
25595 return Err(::fidl_next::DecodeError::InvalidEnumOrdinal(unknown as i128));
25596 }
25597 }
25598
25599 Ok(())
25600 }
25601 }
25602
25603 impl ::core::convert::From<crate::natural::DependencyType> for DependencyType {
25604 fn from(natural: crate::natural::DependencyType) -> Self {
25605 match natural {
25606 crate::natural::DependencyType::Strong => DependencyType::STRONG,
25607
25608 crate::natural::DependencyType::Weak => DependencyType::WEAK,
25609 }
25610 }
25611 }
25612
25613 impl ::fidl_next::IntoNatural for DependencyType {
25614 type Natural = crate::natural::DependencyType;
25615 }
25616
25617 impl ::fidl_next::Unconstrained for DependencyType {}
25618
25619 #[derive(Debug)]
25621 #[repr(C)]
25622 pub struct NameMapping<'de> {
25623 pub source_name: ::fidl_next::WireString<'de>,
25624
25625 pub target_name: ::fidl_next::WireString<'de>,
25626 }
25627
25628 static_assertions::const_assert_eq!(std::mem::size_of::<NameMapping<'_>>(), 32);
25629 static_assertions::const_assert_eq!(std::mem::align_of::<NameMapping<'_>>(), 8);
25630
25631 static_assertions::const_assert_eq!(std::mem::offset_of!(NameMapping<'_>, source_name), 0);
25632
25633 static_assertions::const_assert_eq!(std::mem::offset_of!(NameMapping<'_>, target_name), 16);
25634
25635 unsafe impl ::fidl_next::Wire for NameMapping<'static> {
25636 type Owned<'de> = NameMapping<'de>;
25637
25638 #[inline]
25639 fn zero_padding(out_: &mut ::core::mem::MaybeUninit<Self>) {
25640 ::fidl_next::munge! {
25641 let Self {
25642
25643 source_name,
25644 target_name,
25645
25646 } = &mut *out_;
25647 }
25648
25649 ::fidl_next::Wire::zero_padding(source_name);
25650
25651 ::fidl_next::Wire::zero_padding(target_name);
25652 }
25653 }
25654
25655 unsafe impl<___D> ::fidl_next::Decode<___D> for NameMapping<'static>
25656 where
25657 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
25658 ___D: ::fidl_next::Decoder,
25659 {
25660 fn decode(
25661 slot_: ::fidl_next::Slot<'_, Self>,
25662 decoder_: &mut ___D,
25663 _: (),
25664 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
25665 ::fidl_next::munge! {
25666 let Self {
25667
25668 mut source_name,
25669 mut target_name,
25670
25671 } = slot_;
25672 }
25673
25674 let _field = source_name.as_mut();
25675 ::fidl_next::Constrained::validate(_field, 100)?;
25676 ::fidl_next::Decode::decode(source_name.as_mut(), decoder_, 100)?;
25677
25678 let source_name = unsafe { source_name.deref_unchecked() };
25679
25680 if source_name.len() > 100 {
25681 return Err(::fidl_next::DecodeError::VectorTooLong {
25682 size: source_name.len() as u64,
25683 limit: 100,
25684 });
25685 }
25686
25687 let _field = target_name.as_mut();
25688 ::fidl_next::Constrained::validate(_field, 100)?;
25689 ::fidl_next::Decode::decode(target_name.as_mut(), decoder_, 100)?;
25690
25691 let target_name = unsafe { target_name.deref_unchecked() };
25692
25693 if target_name.len() > 100 {
25694 return Err(::fidl_next::DecodeError::VectorTooLong {
25695 size: target_name.len() as u64,
25696 limit: 100,
25697 });
25698 }
25699
25700 Ok(())
25701 }
25702 }
25703
25704 impl<'de> ::fidl_next::IntoNatural for NameMapping<'de> {
25705 type Natural = crate::natural::NameMapping;
25706 }
25707
25708 impl ::fidl_next::Unconstrained for NameMapping<'static> {}
25709
25710 #[derive(Clone, Copy, Debug, PartialEq, Eq)]
25712 #[repr(transparent)]
25713 pub struct EnvironmentExtends {
25714 pub(crate) value: ::fidl_next::WireU32,
25715 }
25716
25717 unsafe impl ::fidl_next::Wire for EnvironmentExtends {
25718 type Owned<'de> = Self;
25719
25720 #[inline]
25721 fn zero_padding(_: &mut ::core::mem::MaybeUninit<Self>) {
25722 }
25724 }
25725
25726 impl EnvironmentExtends {
25727 pub const NONE: EnvironmentExtends = EnvironmentExtends { value: ::fidl_next::WireU32(0) };
25728
25729 pub const REALM: EnvironmentExtends = EnvironmentExtends { value: ::fidl_next::WireU32(1) };
25730 }
25731
25732 unsafe impl<___D> ::fidl_next::Decode<___D> for EnvironmentExtends
25733 where
25734 ___D: ?Sized,
25735 {
25736 fn decode(
25737 slot: ::fidl_next::Slot<'_, Self>,
25738 _: &mut ___D,
25739 _: (),
25740 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
25741 ::fidl_next::munge!(let Self { value } = slot);
25742
25743 match u32::from(*value) {
25744 0 | 1 => (),
25745 unknown => {
25746 return Err(::fidl_next::DecodeError::InvalidEnumOrdinal(unknown as i128));
25747 }
25748 }
25749
25750 Ok(())
25751 }
25752 }
25753
25754 impl ::core::convert::From<crate::natural::EnvironmentExtends> for EnvironmentExtends {
25755 fn from(natural: crate::natural::EnvironmentExtends) -> Self {
25756 match natural {
25757 crate::natural::EnvironmentExtends::None => EnvironmentExtends::NONE,
25758
25759 crate::natural::EnvironmentExtends::Realm => EnvironmentExtends::REALM,
25760 }
25761 }
25762 }
25763
25764 impl ::fidl_next::IntoNatural for EnvironmentExtends {
25765 type Natural = crate::natural::EnvironmentExtends;
25766 }
25767
25768 impl ::fidl_next::Unconstrained for EnvironmentExtends {}
25769
25770 pub type UrlScheme<'de> = ::fidl_next::WireString<'de>;
25772
25773 #[derive(Clone, Copy, Debug, PartialEq, Eq)]
25775 #[repr(transparent)]
25776 pub struct ConfigTypeLayout {
25777 pub(crate) value: ::fidl_next::WireU32,
25778 }
25779
25780 unsafe impl ::fidl_next::Wire for ConfigTypeLayout {
25781 type Owned<'de> = Self;
25782
25783 #[inline]
25784 fn zero_padding(_: &mut ::core::mem::MaybeUninit<Self>) {
25785 }
25787 }
25788
25789 impl ConfigTypeLayout {
25790 pub const BOOL: ConfigTypeLayout = ConfigTypeLayout { value: ::fidl_next::WireU32(1) };
25791
25792 pub const UINT8: ConfigTypeLayout = ConfigTypeLayout { value: ::fidl_next::WireU32(2) };
25793
25794 pub const UINT16: ConfigTypeLayout = ConfigTypeLayout { value: ::fidl_next::WireU32(3) };
25795
25796 pub const UINT32: ConfigTypeLayout = ConfigTypeLayout { value: ::fidl_next::WireU32(4) };
25797
25798 pub const UINT64: ConfigTypeLayout = ConfigTypeLayout { value: ::fidl_next::WireU32(5) };
25799
25800 pub const INT8: ConfigTypeLayout = ConfigTypeLayout { value: ::fidl_next::WireU32(6) };
25801
25802 pub const INT16: ConfigTypeLayout = ConfigTypeLayout { value: ::fidl_next::WireU32(7) };
25803
25804 pub const INT32: ConfigTypeLayout = ConfigTypeLayout { value: ::fidl_next::WireU32(8) };
25805
25806 pub const INT64: ConfigTypeLayout = ConfigTypeLayout { value: ::fidl_next::WireU32(9) };
25807
25808 pub const STRING: ConfigTypeLayout = ConfigTypeLayout { value: ::fidl_next::WireU32(10) };
25809
25810 pub const VECTOR: ConfigTypeLayout = ConfigTypeLayout { value: ::fidl_next::WireU32(11) };
25811 }
25812
25813 unsafe impl<___D> ::fidl_next::Decode<___D> for ConfigTypeLayout
25814 where
25815 ___D: ?Sized,
25816 {
25817 fn decode(
25818 slot: ::fidl_next::Slot<'_, Self>,
25819 _: &mut ___D,
25820 _: (),
25821 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
25822 Ok(())
25823 }
25824 }
25825
25826 impl ::core::convert::From<crate::natural::ConfigTypeLayout> for ConfigTypeLayout {
25827 fn from(natural: crate::natural::ConfigTypeLayout) -> Self {
25828 match natural {
25829 crate::natural::ConfigTypeLayout::Bool => ConfigTypeLayout::BOOL,
25830
25831 crate::natural::ConfigTypeLayout::Uint8 => ConfigTypeLayout::UINT8,
25832
25833 crate::natural::ConfigTypeLayout::Uint16 => ConfigTypeLayout::UINT16,
25834
25835 crate::natural::ConfigTypeLayout::Uint32 => ConfigTypeLayout::UINT32,
25836
25837 crate::natural::ConfigTypeLayout::Uint64 => ConfigTypeLayout::UINT64,
25838
25839 crate::natural::ConfigTypeLayout::Int8 => ConfigTypeLayout::INT8,
25840
25841 crate::natural::ConfigTypeLayout::Int16 => ConfigTypeLayout::INT16,
25842
25843 crate::natural::ConfigTypeLayout::Int32 => ConfigTypeLayout::INT32,
25844
25845 crate::natural::ConfigTypeLayout::Int64 => ConfigTypeLayout::INT64,
25846
25847 crate::natural::ConfigTypeLayout::String => ConfigTypeLayout::STRING,
25848
25849 crate::natural::ConfigTypeLayout::Vector => ConfigTypeLayout::VECTOR,
25850
25851 crate::natural::ConfigTypeLayout::UnknownOrdinal_(value) => {
25852 ConfigTypeLayout { value: ::fidl_next::WireU32::from(value) }
25853 }
25854 }
25855 }
25856 }
25857
25858 impl ::fidl_next::IntoNatural for ConfigTypeLayout {
25859 type Natural = crate::natural::ConfigTypeLayout;
25860 }
25861
25862 impl ::fidl_next::Unconstrained for ConfigTypeLayout {}
25863
25864 #[repr(transparent)]
25866 pub struct LayoutConstraint<'de> {
25867 pub(crate) raw: ::fidl_next::RawWireUnion,
25868 pub(crate) _phantom: ::core::marker::PhantomData<&'de mut [::fidl_next::Chunk]>,
25869 }
25870
25871 impl<'de> Drop for LayoutConstraint<'de> {
25872 fn drop(&mut self) {
25873 match self.raw.ordinal() {
25874 1 => {
25875 let _ = unsafe { self.raw.get().read_unchecked::<::fidl_next::WireU32>() };
25876 }
25877
25878 _ => (),
25879 }
25880 }
25881 }
25882
25883 unsafe impl ::fidl_next::Wire for LayoutConstraint<'static> {
25884 type Owned<'de> = LayoutConstraint<'de>;
25885
25886 #[inline]
25887 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
25888 ::fidl_next::munge!(let Self { raw, _phantom: _ } = out);
25889 ::fidl_next::RawWireUnion::zero_padding(raw);
25890 }
25891 }
25892
25893 pub mod layout_constraint {
25894 pub enum Ref<'de> {
25895 MaxSize(&'de ::fidl_next::WireU32),
25896
25897 UnknownOrdinal_(u64),
25898 }
25899 }
25900
25901 impl<'de> LayoutConstraint<'de> {
25902 pub fn as_ref(&self) -> crate::wire::layout_constraint::Ref<'_> {
25903 match self.raw.ordinal() {
25904 1 => crate::wire::layout_constraint::Ref::MaxSize(unsafe {
25905 self.raw.get().deref_unchecked::<::fidl_next::WireU32>()
25906 }),
25907
25908 unknown => crate::wire::layout_constraint::Ref::UnknownOrdinal_(unknown),
25909 }
25910 }
25911 }
25912
25913 unsafe impl<___D> ::fidl_next::Decode<___D> for LayoutConstraint<'static>
25914 where
25915 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
25916 ___D: ::fidl_next::Decoder,
25917 {
25918 fn decode(
25919 mut slot: ::fidl_next::Slot<'_, Self>,
25920 decoder: &mut ___D,
25921 _: (),
25922 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
25923 ::fidl_next::munge!(let Self { mut raw, _phantom: _ } = slot.as_mut());
25924 match ::fidl_next::RawWireUnion::encoded_ordinal(raw.as_mut()) {
25925 1 => ::fidl_next::RawWireUnion::decode_as::<___D, ::fidl_next::WireU32>(
25926 raw,
25927 decoder,
25928 (),
25929 )?,
25930
25931 _ => ::fidl_next::RawWireUnion::decode_unknown(raw, decoder)?,
25932 }
25933
25934 Ok(())
25935 }
25936 }
25937
25938 impl<'de> ::core::fmt::Debug for LayoutConstraint<'de> {
25939 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25940 match self.raw.ordinal() {
25941 1 => unsafe { self.raw.get().deref_unchecked::<::fidl_next::WireU32>().fmt(f) },
25942 _ => unsafe { ::core::hint::unreachable_unchecked() },
25943 }
25944 }
25945 }
25946
25947 impl<'de> ::fidl_next::IntoNatural for LayoutConstraint<'de> {
25948 type Natural = crate::natural::LayoutConstraint;
25949 }
25950
25951 impl ::fidl_next::Unconstrained for LayoutConstraint<'static> {}
25952
25953 #[derive(Debug)]
25955 #[repr(C)]
25956 pub struct ConfigType<'de> {
25957 pub layout: crate::wire::ConfigTypeLayout,
25958
25959 pub parameters: ::fidl_next::WireOptionalVector<'de, crate::wire::LayoutParameter<'de>>,
25960
25961 pub constraints: ::fidl_next::WireVector<'de, crate::wire::LayoutConstraint<'de>>,
25962 }
25963
25964 static_assertions::const_assert_eq!(std::mem::size_of::<ConfigType<'_>>(), 40);
25965 static_assertions::const_assert_eq!(std::mem::align_of::<ConfigType<'_>>(), 8);
25966
25967 static_assertions::const_assert_eq!(std::mem::offset_of!(ConfigType<'_>, layout), 0);
25968
25969 static_assertions::const_assert_eq!(std::mem::offset_of!(ConfigType<'_>, parameters), 8);
25970
25971 static_assertions::const_assert_eq!(std::mem::offset_of!(ConfigType<'_>, constraints), 24);
25972
25973 unsafe impl ::fidl_next::Wire for ConfigType<'static> {
25974 type Owned<'de> = ConfigType<'de>;
25975
25976 #[inline]
25977 fn zero_padding(out_: &mut ::core::mem::MaybeUninit<Self>) {
25978 ::fidl_next::munge! {
25979 let Self {
25980
25981 layout,
25982 parameters,
25983 constraints,
25984
25985 } = &mut *out_;
25986 }
25987
25988 ::fidl_next::Wire::zero_padding(layout);
25989
25990 ::fidl_next::Wire::zero_padding(parameters);
25991
25992 ::fidl_next::Wire::zero_padding(constraints);
25993
25994 unsafe {
25995 out_.as_mut_ptr().cast::<u8>().add(4).write_bytes(0, 4);
25996 }
25997 }
25998 }
25999
26000 unsafe impl<___D> ::fidl_next::Decode<___D> for ConfigType<'static>
26001 where
26002 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
26003 ___D: ::fidl_next::Decoder,
26004 {
26005 fn decode(
26006 slot_: ::fidl_next::Slot<'_, Self>,
26007 decoder_: &mut ___D,
26008 _: (),
26009 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
26010 if slot_.as_bytes()[4..8] != [0u8; 4] {
26011 return Err(::fidl_next::DecodeError::InvalidPadding);
26012 }
26013
26014 ::fidl_next::munge! {
26015 let Self {
26016
26017 mut layout,
26018 mut parameters,
26019 mut constraints,
26020
26021 } = slot_;
26022 }
26023
26024 let _field = layout.as_mut();
26025
26026 ::fidl_next::Decode::decode(layout.as_mut(), decoder_, ())?;
26027
26028 let _field = parameters.as_mut();
26029 ::fidl_next::Constrained::validate(_field, (4294967295, ()))?;
26030 ::fidl_next::Decode::decode(parameters.as_mut(), decoder_, (4294967295, ()))?;
26031
26032 let _field = constraints.as_mut();
26033 ::fidl_next::Constrained::validate(_field, (4294967295, ()))?;
26034 ::fidl_next::Decode::decode(constraints.as_mut(), decoder_, (4294967295, ()))?;
26035
26036 Ok(())
26037 }
26038 }
26039
26040 impl<'de> ::fidl_next::IntoNatural for ConfigType<'de> {
26041 type Natural = crate::natural::ConfigType;
26042 }
26043
26044 impl ::fidl_next::Unconstrained for ConfigType<'static> {}
26045
26046 #[repr(transparent)]
26048 pub struct ConfigChecksum<'de> {
26049 pub(crate) raw: ::fidl_next::RawWireUnion,
26050 pub(crate) _phantom: ::core::marker::PhantomData<&'de mut [::fidl_next::Chunk]>,
26051 }
26052
26053 impl<'de> Drop for ConfigChecksum<'de> {
26054 fn drop(&mut self) {
26055 match self.raw.ordinal() {
26056 1 => {
26057 let _ = unsafe { self.raw.get().read_unchecked::<[u8; 32]>() };
26058 }
26059
26060 _ => (),
26061 }
26062 }
26063 }
26064
26065 unsafe impl ::fidl_next::Wire for ConfigChecksum<'static> {
26066 type Owned<'de> = ConfigChecksum<'de>;
26067
26068 #[inline]
26069 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
26070 ::fidl_next::munge!(let Self { raw, _phantom: _ } = out);
26071 ::fidl_next::RawWireUnion::zero_padding(raw);
26072 }
26073 }
26074
26075 pub mod config_checksum {
26076 pub enum Ref<'de> {
26077 Sha256(&'de [u8; 32]),
26078
26079 UnknownOrdinal_(u64),
26080 }
26081 }
26082
26083 impl<'de> ConfigChecksum<'de> {
26084 pub fn as_ref(&self) -> crate::wire::config_checksum::Ref<'_> {
26085 match self.raw.ordinal() {
26086 1 => crate::wire::config_checksum::Ref::Sha256(unsafe {
26087 self.raw.get().deref_unchecked::<[u8; 32]>()
26088 }),
26089
26090 unknown => crate::wire::config_checksum::Ref::UnknownOrdinal_(unknown),
26091 }
26092 }
26093 }
26094
26095 unsafe impl<___D> ::fidl_next::Decode<___D> for ConfigChecksum<'static>
26096 where
26097 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
26098 ___D: ::fidl_next::Decoder,
26099 {
26100 fn decode(
26101 mut slot: ::fidl_next::Slot<'_, Self>,
26102 decoder: &mut ___D,
26103 _: (),
26104 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
26105 ::fidl_next::munge!(let Self { mut raw, _phantom: _ } = slot.as_mut());
26106 match ::fidl_next::RawWireUnion::encoded_ordinal(raw.as_mut()) {
26107 1 => ::fidl_next::RawWireUnion::decode_as::<___D, [u8; 32]>(raw, decoder, ())?,
26108
26109 _ => ::fidl_next::RawWireUnion::decode_unknown(raw, decoder)?,
26110 }
26111
26112 Ok(())
26113 }
26114 }
26115
26116 impl<'de> ::core::fmt::Debug for ConfigChecksum<'de> {
26117 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
26118 match self.raw.ordinal() {
26119 1 => unsafe { self.raw.get().deref_unchecked::<[u8; 32]>().fmt(f) },
26120 _ => unsafe { ::core::hint::unreachable_unchecked() },
26121 }
26122 }
26123 }
26124
26125 impl<'de> ::fidl_next::IntoNatural for ConfigChecksum<'de> {
26126 type Natural = crate::natural::ConfigChecksum;
26127 }
26128
26129 impl ::fidl_next::Unconstrained for ConfigChecksum<'static> {}
26130
26131 #[repr(C)]
26133 pub struct UseStorage<'de> {
26134 pub(crate) table: ::fidl_next::WireTable<'de>,
26135 }
26136
26137 impl<'de> Drop for UseStorage<'de> {
26138 fn drop(&mut self) {
26139 let _ = self.table.get(1).map(|envelope| unsafe {
26140 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
26141 });
26142
26143 let _ = self.table.get(2).map(|envelope| unsafe {
26144 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
26145 });
26146
26147 let _ = self
26148 .table
26149 .get(3)
26150 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Availability>() });
26151 }
26152 }
26153
26154 unsafe impl ::fidl_next::Wire for UseStorage<'static> {
26155 type Owned<'de> = UseStorage<'de>;
26156
26157 #[inline]
26158 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
26159 ::fidl_next::munge!(let Self { table } = out);
26160 ::fidl_next::WireTable::zero_padding(table);
26161 }
26162 }
26163
26164 unsafe impl<___D> ::fidl_next::Decode<___D> for UseStorage<'static>
26165 where
26166 ___D: ::fidl_next::Decoder + ?Sized,
26167 {
26168 fn decode(
26169 slot: ::fidl_next::Slot<'_, Self>,
26170 decoder: &mut ___D,
26171 _: (),
26172 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
26173 ::fidl_next::munge!(let Self { table } = slot);
26174
26175 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
26176 match ordinal {
26177 0 => unsafe { ::core::hint::unreachable_unchecked() },
26178
26179 1 => {
26180 ::fidl_next::WireEnvelope::decode_as::<
26181 ___D,
26182 ::fidl_next::WireString<'static>,
26183 >(slot.as_mut(), decoder, 100)?;
26184
26185 let value = unsafe {
26186 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
26187 };
26188
26189 if value.len() > 100 {
26190 return Err(::fidl_next::DecodeError::VectorTooLong {
26191 size: value.len() as u64,
26192 limit: 100,
26193 });
26194 }
26195
26196 Ok(())
26197 }
26198
26199 2 => {
26200 ::fidl_next::WireEnvelope::decode_as::<
26201 ___D,
26202 ::fidl_next::WireString<'static>,
26203 >(slot.as_mut(), decoder, 1024)?;
26204
26205 let value = unsafe {
26206 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
26207 };
26208
26209 if value.len() > 1024 {
26210 return Err(::fidl_next::DecodeError::VectorTooLong {
26211 size: value.len() as u64,
26212 limit: 1024,
26213 });
26214 }
26215
26216 Ok(())
26217 }
26218
26219 3 => {
26220 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Availability>(
26221 slot.as_mut(),
26222 decoder,
26223 (),
26224 )?;
26225
26226 Ok(())
26227 }
26228
26229 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
26230 }
26231 })
26232 }
26233 }
26234
26235 impl<'de> UseStorage<'de> {
26236 pub fn source_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
26237 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
26238 }
26239
26240 pub fn target_path(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
26241 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
26242 }
26243
26244 pub fn availability(&self) -> ::core::option::Option<&crate::wire::Availability> {
26245 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
26246 }
26247 }
26248
26249 impl<'de> ::core::fmt::Debug for UseStorage<'de> {
26250 fn fmt(
26251 &self,
26252 f: &mut ::core::fmt::Formatter<'_>,
26253 ) -> ::core::result::Result<(), ::core::fmt::Error> {
26254 f.debug_struct("UseStorage")
26255 .field("source_name", &self.source_name())
26256 .field("target_path", &self.target_path())
26257 .field("availability", &self.availability())
26258 .finish()
26259 }
26260 }
26261
26262 impl<'de> ::fidl_next::IntoNatural for UseStorage<'de> {
26263 type Natural = crate::natural::UseStorage;
26264 }
26265
26266 impl ::fidl_next::Unconstrained for UseStorage<'_> {}
26267
26268 #[derive(Clone, Copy, Debug)]
26270 #[repr(transparent)]
26271 pub struct ConfigMutability {
26272 pub(crate) value: ::fidl_next::WireU32,
26273 }
26274
26275 unsafe impl ::fidl_next::Wire for ConfigMutability {
26276 type Owned<'de> = Self;
26277
26278 #[inline]
26279 fn zero_padding(_: &mut ::core::mem::MaybeUninit<Self>) {
26280 }
26282 }
26283
26284 unsafe impl<___D> ::fidl_next::Decode<___D> for ConfigMutability
26285 where
26286 ___D: ?Sized,
26287 {
26288 fn decode(
26289 slot: ::fidl_next::Slot<'_, Self>,
26290 _: &mut ___D,
26291 _: (),
26292 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
26293 Ok(())
26294 }
26295 }
26296
26297 impl ::core::convert::From<crate::natural::ConfigMutability> for ConfigMutability {
26298 fn from(natural: crate::natural::ConfigMutability) -> Self {
26299 Self { value: ::fidl_next::WireU32::from(natural.bits()) }
26300 }
26301 }
26302
26303 impl ::fidl_next::IntoNatural for ConfigMutability {
26304 type Natural = crate::natural::ConfigMutability;
26305 }
26306
26307 impl ::fidl_next::Unconstrained for ConfigMutability {}
26308
26309 #[repr(C)]
26311 pub struct ConfigField<'de> {
26312 pub(crate) table: ::fidl_next::WireTable<'de>,
26313 }
26314
26315 impl<'de> Drop for ConfigField<'de> {
26316 fn drop(&mut self) {
26317 let _ = self.table.get(1).map(|envelope| unsafe {
26318 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
26319 });
26320
26321 let _ = self.table.get(2).map(|envelope| unsafe {
26322 envelope.read_unchecked::<crate::wire::ConfigType<'de>>()
26323 });
26324
26325 let _ = self.table.get(3).map(|envelope| unsafe {
26326 envelope.read_unchecked::<crate::wire::ConfigMutability>()
26327 });
26328 }
26329 }
26330
26331 unsafe impl ::fidl_next::Wire for ConfigField<'static> {
26332 type Owned<'de> = ConfigField<'de>;
26333
26334 #[inline]
26335 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
26336 ::fidl_next::munge!(let Self { table } = out);
26337 ::fidl_next::WireTable::zero_padding(table);
26338 }
26339 }
26340
26341 unsafe impl<___D> ::fidl_next::Decode<___D> for ConfigField<'static>
26342 where
26343 ___D: ::fidl_next::Decoder + ?Sized,
26344 {
26345 fn decode(
26346 slot: ::fidl_next::Slot<'_, Self>,
26347 decoder: &mut ___D,
26348 _: (),
26349 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
26350 ::fidl_next::munge!(let Self { table } = slot);
26351
26352 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
26353 match ordinal {
26354 0 => unsafe { ::core::hint::unreachable_unchecked() },
26355
26356 1 => {
26357 ::fidl_next::WireEnvelope::decode_as::<
26358 ___D,
26359 ::fidl_next::WireString<'static>,
26360 >(slot.as_mut(), decoder, 64)?;
26361
26362 let value = unsafe {
26363 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
26364 };
26365
26366 if value.len() > 64 {
26367 return Err(::fidl_next::DecodeError::VectorTooLong {
26368 size: value.len() as u64,
26369 limit: 64,
26370 });
26371 }
26372
26373 Ok(())
26374 }
26375
26376 2 => {
26377 ::fidl_next::WireEnvelope::decode_as::<
26378 ___D,
26379 crate::wire::ConfigType<'static>,
26380 >(slot.as_mut(), decoder, ())?;
26381
26382 Ok(())
26383 }
26384
26385 3 => {
26386 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::ConfigMutability>(
26387 slot.as_mut(),
26388 decoder,
26389 (),
26390 )?;
26391
26392 Ok(())
26393 }
26394
26395 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
26396 }
26397 })
26398 }
26399 }
26400
26401 impl<'de> ConfigField<'de> {
26402 pub fn key(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
26403 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
26404 }
26405
26406 pub fn type_(&self) -> ::core::option::Option<&crate::wire::ConfigType<'de>> {
26407 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
26408 }
26409
26410 pub fn mutability(&self) -> ::core::option::Option<&crate::wire::ConfigMutability> {
26411 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
26412 }
26413 }
26414
26415 impl<'de> ::core::fmt::Debug for ConfigField<'de> {
26416 fn fmt(
26417 &self,
26418 f: &mut ::core::fmt::Formatter<'_>,
26419 ) -> ::core::result::Result<(), ::core::fmt::Error> {
26420 f.debug_struct("ConfigField")
26421 .field("key", &self.key())
26422 .field("type_", &self.type_())
26423 .field("mutability", &self.mutability())
26424 .finish()
26425 }
26426 }
26427
26428 impl<'de> ::fidl_next::IntoNatural for ConfigField<'de> {
26429 type Natural = crate::natural::ConfigField;
26430 }
26431
26432 impl ::fidl_next::Unconstrained for ConfigField<'_> {}
26433
26434 #[repr(C)]
26436 pub struct Program<'de> {
26437 pub(crate) table: ::fidl_next::WireTable<'de>,
26438 }
26439
26440 impl<'de> Drop for Program<'de> {
26441 fn drop(&mut self) {
26442 let _ = self.table.get(1).map(|envelope| unsafe {
26443 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
26444 });
26445
26446 let _ = self.table.get(2).map(|envelope| unsafe {
26447 envelope.read_unchecked::<::fidl_next_common_fuchsia_data::wire::Dictionary<'de>>()
26448 });
26449 }
26450 }
26451
26452 unsafe impl ::fidl_next::Wire for Program<'static> {
26453 type Owned<'de> = Program<'de>;
26454
26455 #[inline]
26456 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
26457 ::fidl_next::munge!(let Self { table } = out);
26458 ::fidl_next::WireTable::zero_padding(table);
26459 }
26460 }
26461
26462 unsafe impl<___D> ::fidl_next::Decode<___D> for Program<'static>
26463 where
26464 ___D: ::fidl_next::Decoder + ?Sized,
26465 {
26466 fn decode(
26467 slot: ::fidl_next::Slot<'_, Self>,
26468 decoder: &mut ___D,
26469 _: (),
26470 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
26471 ::fidl_next::munge!(let Self { table } = slot);
26472
26473 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
26474 match ordinal {
26475 0 => unsafe { ::core::hint::unreachable_unchecked() },
26476
26477 1 => {
26478 ::fidl_next::WireEnvelope::decode_as::<
26479 ___D,
26480 ::fidl_next::WireString<'static>,
26481 >(slot.as_mut(), decoder, 100)?;
26482
26483 let value = unsafe {
26484 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
26485 };
26486
26487 if value.len() > 100 {
26488 return Err(::fidl_next::DecodeError::VectorTooLong {
26489 size: value.len() as u64,
26490 limit: 100,
26491 });
26492 }
26493
26494 Ok(())
26495 }
26496
26497 2 => {
26498 ::fidl_next::WireEnvelope::decode_as::<
26499 ___D,
26500 ::fidl_next_common_fuchsia_data::wire::Dictionary<'static>,
26501 >(slot.as_mut(), decoder, ())?;
26502
26503 Ok(())
26504 }
26505
26506 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
26507 }
26508 })
26509 }
26510 }
26511
26512 impl<'de> Program<'de> {
26513 pub fn runner(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
26514 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
26515 }
26516
26517 pub fn info(
26518 &self,
26519 ) -> ::core::option::Option<&::fidl_next_common_fuchsia_data::wire::Dictionary<'de>>
26520 {
26521 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
26522 }
26523 }
26524
26525 impl<'de> ::core::fmt::Debug for Program<'de> {
26526 fn fmt(
26527 &self,
26528 f: &mut ::core::fmt::Formatter<'_>,
26529 ) -> ::core::result::Result<(), ::core::fmt::Error> {
26530 f.debug_struct("Program")
26531 .field("runner", &self.runner())
26532 .field("info", &self.info())
26533 .finish()
26534 }
26535 }
26536
26537 impl<'de> ::fidl_next::IntoNatural for Program<'de> {
26538 type Natural = crate::natural::Program;
26539 }
26540
26541 impl ::fidl_next::Unconstrained for Program<'_> {}
26542
26543 #[repr(C)]
26545 pub struct DebugInfo<'de> {
26546 pub(crate) table: ::fidl_next::WireTable<'de>,
26547 }
26548
26549 impl<'de> Drop for DebugInfo<'de> {
26550 fn drop(&mut self) {
26551 let _ = self.table.get(1)
26552 .map(|envelope| unsafe {
26553 envelope.read_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireString<'de>>>()
26554 });
26555 }
26556 }
26557
26558 unsafe impl ::fidl_next::Wire for DebugInfo<'static> {
26559 type Owned<'de> = DebugInfo<'de>;
26560
26561 #[inline]
26562 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
26563 ::fidl_next::munge!(let Self { table } = out);
26564 ::fidl_next::WireTable::zero_padding(table);
26565 }
26566 }
26567
26568 unsafe impl<___D> ::fidl_next::Decode<___D> for DebugInfo<'static>
26569 where
26570 ___D: ::fidl_next::Decoder + ?Sized,
26571 {
26572 fn decode(
26573 slot: ::fidl_next::Slot<'_, Self>,
26574 decoder: &mut ___D,
26575 _: (),
26576 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
26577 ::fidl_next::munge!(let Self { table } = slot);
26578
26579 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
26580 match ordinal {
26581 0 => unsafe { ::core::hint::unreachable_unchecked() },
26582
26583 1 => {
26584 ::fidl_next::WireEnvelope::decode_as::<
26585 ___D,
26586 ::fidl_next::WireVector<'static, ::fidl_next::WireString<'static>>,
26587 >(slot.as_mut(), decoder, (4294967295, 4294967295))?;
26588
26589 Ok(())
26590 }
26591
26592 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
26593 }
26594 })
26595 }
26596 }
26597
26598 impl<'de> DebugInfo<'de> {
26599 pub fn manifest_sources(
26600 &self,
26601 ) -> ::core::option::Option<&::fidl_next::WireVector<'de, ::fidl_next::WireString<'de>>>
26602 {
26603 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
26604 }
26605 }
26606
26607 impl<'de> ::core::fmt::Debug for DebugInfo<'de> {
26608 fn fmt(
26609 &self,
26610 f: &mut ::core::fmt::Formatter<'_>,
26611 ) -> ::core::result::Result<(), ::core::fmt::Error> {
26612 f.debug_struct("DebugInfo").field("manifest_sources", &self.manifest_sources()).finish()
26613 }
26614 }
26615
26616 impl<'de> ::fidl_next::IntoNatural for DebugInfo<'de> {
26617 type Natural = crate::natural::DebugInfo;
26618 }
26619
26620 impl ::fidl_next::Unconstrained for DebugInfo<'_> {}
26621
26622 #[repr(C)]
26624 pub struct UseService<'de> {
26625 pub(crate) table: ::fidl_next::WireTable<'de>,
26626 }
26627
26628 impl<'de> Drop for UseService<'de> {
26629 fn drop(&mut self) {
26630 let _ = self
26631 .table
26632 .get(1)
26633 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
26634
26635 let _ = self.table.get(2).map(|envelope| unsafe {
26636 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
26637 });
26638
26639 let _ = self.table.get(3).map(|envelope| unsafe {
26640 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
26641 });
26642
26643 let _ = self.table.get(4).map(|envelope| unsafe {
26644 envelope.read_unchecked::<crate::wire::DependencyType>()
26645 });
26646
26647 let _ = self
26648 .table
26649 .get(5)
26650 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Availability>() });
26651
26652 let _ = self.table.get(6).map(|envelope| unsafe {
26653 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
26654 });
26655 }
26656 }
26657
26658 unsafe impl ::fidl_next::Wire for UseService<'static> {
26659 type Owned<'de> = UseService<'de>;
26660
26661 #[inline]
26662 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
26663 ::fidl_next::munge!(let Self { table } = out);
26664 ::fidl_next::WireTable::zero_padding(table);
26665 }
26666 }
26667
26668 unsafe impl<___D> ::fidl_next::Decode<___D> for UseService<'static>
26669 where
26670 ___D: ::fidl_next::Decoder + ?Sized,
26671 {
26672 fn decode(
26673 slot: ::fidl_next::Slot<'_, Self>,
26674 decoder: &mut ___D,
26675 _: (),
26676 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
26677 ::fidl_next::munge!(let Self { table } = slot);
26678
26679 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
26680 match ordinal {
26681 0 => unsafe { ::core::hint::unreachable_unchecked() },
26682
26683 1 => {
26684 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
26685 slot.as_mut(),
26686 decoder,
26687 (),
26688 )?;
26689
26690 Ok(())
26691 }
26692
26693 2 => {
26694 ::fidl_next::WireEnvelope::decode_as::<
26695 ___D,
26696 ::fidl_next::WireString<'static>,
26697 >(slot.as_mut(), decoder, 100)?;
26698
26699 let value = unsafe {
26700 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
26701 };
26702
26703 if value.len() > 100 {
26704 return Err(::fidl_next::DecodeError::VectorTooLong {
26705 size: value.len() as u64,
26706 limit: 100,
26707 });
26708 }
26709
26710 Ok(())
26711 }
26712
26713 3 => {
26714 ::fidl_next::WireEnvelope::decode_as::<
26715 ___D,
26716 ::fidl_next::WireString<'static>,
26717 >(slot.as_mut(), decoder, 1024)?;
26718
26719 let value = unsafe {
26720 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
26721 };
26722
26723 if value.len() > 1024 {
26724 return Err(::fidl_next::DecodeError::VectorTooLong {
26725 size: value.len() as u64,
26726 limit: 1024,
26727 });
26728 }
26729
26730 Ok(())
26731 }
26732
26733 4 => {
26734 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::DependencyType>(
26735 slot.as_mut(),
26736 decoder,
26737 (),
26738 )?;
26739
26740 Ok(())
26741 }
26742
26743 5 => {
26744 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Availability>(
26745 slot.as_mut(),
26746 decoder,
26747 (),
26748 )?;
26749
26750 Ok(())
26751 }
26752
26753 6 => {
26754 ::fidl_next::WireEnvelope::decode_as::<
26755 ___D,
26756 ::fidl_next::WireString<'static>,
26757 >(slot.as_mut(), decoder, 1024)?;
26758
26759 let value = unsafe {
26760 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
26761 };
26762
26763 if value.len() > 1024 {
26764 return Err(::fidl_next::DecodeError::VectorTooLong {
26765 size: value.len() as u64,
26766 limit: 1024,
26767 });
26768 }
26769
26770 Ok(())
26771 }
26772
26773 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
26774 }
26775 })
26776 }
26777 }
26778
26779 impl<'de> UseService<'de> {
26780 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
26781 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
26782 }
26783
26784 pub fn source_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
26785 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
26786 }
26787
26788 pub fn target_path(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
26789 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
26790 }
26791
26792 pub fn dependency_type(&self) -> ::core::option::Option<&crate::wire::DependencyType> {
26793 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
26794 }
26795
26796 pub fn availability(&self) -> ::core::option::Option<&crate::wire::Availability> {
26797 unsafe { Some(self.table.get(5)?.deref_unchecked()) }
26798 }
26799
26800 pub fn source_dictionary(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
26801 unsafe { Some(self.table.get(6)?.deref_unchecked()) }
26802 }
26803 }
26804
26805 impl<'de> ::core::fmt::Debug for UseService<'de> {
26806 fn fmt(
26807 &self,
26808 f: &mut ::core::fmt::Formatter<'_>,
26809 ) -> ::core::result::Result<(), ::core::fmt::Error> {
26810 f.debug_struct("UseService")
26811 .field("source", &self.source())
26812 .field("source_name", &self.source_name())
26813 .field("target_path", &self.target_path())
26814 .field("dependency_type", &self.dependency_type())
26815 .field("availability", &self.availability())
26816 .field("source_dictionary", &self.source_dictionary())
26817 .finish()
26818 }
26819 }
26820
26821 impl<'de> ::fidl_next::IntoNatural for UseService<'de> {
26822 type Natural = crate::natural::UseService;
26823 }
26824
26825 impl ::fidl_next::Unconstrained for UseService<'_> {}
26826
26827 #[repr(C)]
26829 pub struct UseProtocol<'de> {
26830 pub(crate) table: ::fidl_next::WireTable<'de>,
26831 }
26832
26833 impl<'de> Drop for UseProtocol<'de> {
26834 fn drop(&mut self) {
26835 let _ = self
26836 .table
26837 .get(1)
26838 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
26839
26840 let _ = self.table.get(2).map(|envelope| unsafe {
26841 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
26842 });
26843
26844 let _ = self.table.get(3).map(|envelope| unsafe {
26845 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
26846 });
26847
26848 let _ = self.table.get(4).map(|envelope| unsafe {
26849 envelope.read_unchecked::<crate::wire::DependencyType>()
26850 });
26851
26852 let _ = self
26853 .table
26854 .get(5)
26855 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Availability>() });
26856
26857 let _ = self.table.get(6).map(|envelope| unsafe {
26858 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
26859 });
26860
26861 let _ = self.table.get(7).map(|envelope| unsafe { envelope.read_unchecked::<u8>() });
26862 }
26863 }
26864
26865 unsafe impl ::fidl_next::Wire for UseProtocol<'static> {
26866 type Owned<'de> = UseProtocol<'de>;
26867
26868 #[inline]
26869 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
26870 ::fidl_next::munge!(let Self { table } = out);
26871 ::fidl_next::WireTable::zero_padding(table);
26872 }
26873 }
26874
26875 unsafe impl<___D> ::fidl_next::Decode<___D> for UseProtocol<'static>
26876 where
26877 ___D: ::fidl_next::Decoder + ?Sized,
26878 {
26879 fn decode(
26880 slot: ::fidl_next::Slot<'_, Self>,
26881 decoder: &mut ___D,
26882 _: (),
26883 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
26884 ::fidl_next::munge!(let Self { table } = slot);
26885
26886 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
26887 match ordinal {
26888 0 => unsafe { ::core::hint::unreachable_unchecked() },
26889
26890 1 => {
26891 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
26892 slot.as_mut(),
26893 decoder,
26894 (),
26895 )?;
26896
26897 Ok(())
26898 }
26899
26900 2 => {
26901 ::fidl_next::WireEnvelope::decode_as::<
26902 ___D,
26903 ::fidl_next::WireString<'static>,
26904 >(slot.as_mut(), decoder, 100)?;
26905
26906 let value = unsafe {
26907 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
26908 };
26909
26910 if value.len() > 100 {
26911 return Err(::fidl_next::DecodeError::VectorTooLong {
26912 size: value.len() as u64,
26913 limit: 100,
26914 });
26915 }
26916
26917 Ok(())
26918 }
26919
26920 3 => {
26921 ::fidl_next::WireEnvelope::decode_as::<
26922 ___D,
26923 ::fidl_next::WireString<'static>,
26924 >(slot.as_mut(), decoder, 1024)?;
26925
26926 let value = unsafe {
26927 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
26928 };
26929
26930 if value.len() > 1024 {
26931 return Err(::fidl_next::DecodeError::VectorTooLong {
26932 size: value.len() as u64,
26933 limit: 1024,
26934 });
26935 }
26936
26937 Ok(())
26938 }
26939
26940 4 => {
26941 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::DependencyType>(
26942 slot.as_mut(),
26943 decoder,
26944 (),
26945 )?;
26946
26947 Ok(())
26948 }
26949
26950 5 => {
26951 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Availability>(
26952 slot.as_mut(),
26953 decoder,
26954 (),
26955 )?;
26956
26957 Ok(())
26958 }
26959
26960 6 => {
26961 ::fidl_next::WireEnvelope::decode_as::<
26962 ___D,
26963 ::fidl_next::WireString<'static>,
26964 >(slot.as_mut(), decoder, 1024)?;
26965
26966 let value = unsafe {
26967 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
26968 };
26969
26970 if value.len() > 1024 {
26971 return Err(::fidl_next::DecodeError::VectorTooLong {
26972 size: value.len() as u64,
26973 limit: 1024,
26974 });
26975 }
26976
26977 Ok(())
26978 }
26979
26980 7 => {
26981 ::fidl_next::WireEnvelope::decode_as::<___D, u8>(
26982 slot.as_mut(),
26983 decoder,
26984 (),
26985 )?;
26986
26987 Ok(())
26988 }
26989
26990 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
26991 }
26992 })
26993 }
26994 }
26995
26996 impl<'de> UseProtocol<'de> {
26997 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
26998 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
26999 }
27000
27001 pub fn source_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
27002 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
27003 }
27004
27005 pub fn target_path(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
27006 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
27007 }
27008
27009 pub fn dependency_type(&self) -> ::core::option::Option<&crate::wire::DependencyType> {
27010 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
27011 }
27012
27013 pub fn availability(&self) -> ::core::option::Option<&crate::wire::Availability> {
27014 unsafe { Some(self.table.get(5)?.deref_unchecked()) }
27015 }
27016
27017 pub fn source_dictionary(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
27018 unsafe { Some(self.table.get(6)?.deref_unchecked()) }
27019 }
27020
27021 pub fn numbered_handle(&self) -> ::core::option::Option<&u8> {
27022 unsafe { Some(self.table.get(7)?.deref_unchecked()) }
27023 }
27024 }
27025
27026 impl<'de> ::core::fmt::Debug for UseProtocol<'de> {
27027 fn fmt(
27028 &self,
27029 f: &mut ::core::fmt::Formatter<'_>,
27030 ) -> ::core::result::Result<(), ::core::fmt::Error> {
27031 f.debug_struct("UseProtocol")
27032 .field("source", &self.source())
27033 .field("source_name", &self.source_name())
27034 .field("target_path", &self.target_path())
27035 .field("dependency_type", &self.dependency_type())
27036 .field("availability", &self.availability())
27037 .field("source_dictionary", &self.source_dictionary())
27038 .field("numbered_handle", &self.numbered_handle())
27039 .finish()
27040 }
27041 }
27042
27043 impl<'de> ::fidl_next::IntoNatural for UseProtocol<'de> {
27044 type Natural = crate::natural::UseProtocol;
27045 }
27046
27047 impl ::fidl_next::Unconstrained for UseProtocol<'_> {}
27048
27049 #[repr(C)]
27051 pub struct UseDirectory<'de> {
27052 pub(crate) table: ::fidl_next::WireTable<'de>,
27053 }
27054
27055 impl<'de> Drop for UseDirectory<'de> {
27056 fn drop(&mut self) {
27057 let _ = self
27058 .table
27059 .get(1)
27060 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
27061
27062 let _ = self.table.get(2).map(|envelope| unsafe {
27063 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
27064 });
27065
27066 let _ = self.table.get(3).map(|envelope| unsafe {
27067 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
27068 });
27069
27070 let _ = self.table.get(4).map(|envelope| unsafe {
27071 envelope.read_unchecked::<::fidl_next_common_fuchsia_io::wire::Operations>()
27072 });
27073
27074 let _ = self.table.get(5).map(|envelope| unsafe {
27075 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
27076 });
27077
27078 let _ = self.table.get(6).map(|envelope| unsafe {
27079 envelope.read_unchecked::<crate::wire::DependencyType>()
27080 });
27081
27082 let _ = self
27083 .table
27084 .get(7)
27085 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Availability>() });
27086
27087 let _ = self.table.get(8).map(|envelope| unsafe {
27088 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
27089 });
27090 }
27091 }
27092
27093 unsafe impl ::fidl_next::Wire for UseDirectory<'static> {
27094 type Owned<'de> = UseDirectory<'de>;
27095
27096 #[inline]
27097 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
27098 ::fidl_next::munge!(let Self { table } = out);
27099 ::fidl_next::WireTable::zero_padding(table);
27100 }
27101 }
27102
27103 unsafe impl<___D> ::fidl_next::Decode<___D> for UseDirectory<'static>
27104 where
27105 ___D: ::fidl_next::Decoder + ?Sized,
27106 {
27107 fn decode(
27108 slot: ::fidl_next::Slot<'_, Self>,
27109 decoder: &mut ___D,
27110 _: (),
27111 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
27112 ::fidl_next::munge!(let Self { table } = slot);
27113
27114 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
27115 match ordinal {
27116 0 => unsafe { ::core::hint::unreachable_unchecked() },
27117
27118 1 => {
27119 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
27120 slot.as_mut(),
27121 decoder,
27122 (),
27123 )?;
27124
27125 Ok(())
27126 }
27127
27128 2 => {
27129 ::fidl_next::WireEnvelope::decode_as::<
27130 ___D,
27131 ::fidl_next::WireString<'static>,
27132 >(slot.as_mut(), decoder, 100)?;
27133
27134 let value = unsafe {
27135 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
27136 };
27137
27138 if value.len() > 100 {
27139 return Err(::fidl_next::DecodeError::VectorTooLong {
27140 size: value.len() as u64,
27141 limit: 100,
27142 });
27143 }
27144
27145 Ok(())
27146 }
27147
27148 3 => {
27149 ::fidl_next::WireEnvelope::decode_as::<
27150 ___D,
27151 ::fidl_next::WireString<'static>,
27152 >(slot.as_mut(), decoder, 1024)?;
27153
27154 let value = unsafe {
27155 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
27156 };
27157
27158 if value.len() > 1024 {
27159 return Err(::fidl_next::DecodeError::VectorTooLong {
27160 size: value.len() as u64,
27161 limit: 1024,
27162 });
27163 }
27164
27165 Ok(())
27166 }
27167
27168 4 => {
27169 ::fidl_next::WireEnvelope::decode_as::<
27170 ___D,
27171 ::fidl_next_common_fuchsia_io::wire::Operations,
27172 >(slot.as_mut(), decoder, ())?;
27173
27174 Ok(())
27175 }
27176
27177 5 => {
27178 ::fidl_next::WireEnvelope::decode_as::<
27179 ___D,
27180 ::fidl_next::WireString<'static>,
27181 >(slot.as_mut(), decoder, 1024)?;
27182
27183 let value = unsafe {
27184 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
27185 };
27186
27187 if value.len() > 1024 {
27188 return Err(::fidl_next::DecodeError::VectorTooLong {
27189 size: value.len() as u64,
27190 limit: 1024,
27191 });
27192 }
27193
27194 Ok(())
27195 }
27196
27197 6 => {
27198 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::DependencyType>(
27199 slot.as_mut(),
27200 decoder,
27201 (),
27202 )?;
27203
27204 Ok(())
27205 }
27206
27207 7 => {
27208 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Availability>(
27209 slot.as_mut(),
27210 decoder,
27211 (),
27212 )?;
27213
27214 Ok(())
27215 }
27216
27217 8 => {
27218 ::fidl_next::WireEnvelope::decode_as::<
27219 ___D,
27220 ::fidl_next::WireString<'static>,
27221 >(slot.as_mut(), decoder, 1024)?;
27222
27223 let value = unsafe {
27224 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
27225 };
27226
27227 if value.len() > 1024 {
27228 return Err(::fidl_next::DecodeError::VectorTooLong {
27229 size: value.len() as u64,
27230 limit: 1024,
27231 });
27232 }
27233
27234 Ok(())
27235 }
27236
27237 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
27238 }
27239 })
27240 }
27241 }
27242
27243 impl<'de> UseDirectory<'de> {
27244 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
27245 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
27246 }
27247
27248 pub fn source_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
27249 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
27250 }
27251
27252 pub fn target_path(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
27253 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
27254 }
27255
27256 pub fn rights(
27257 &self,
27258 ) -> ::core::option::Option<&::fidl_next_common_fuchsia_io::wire::Operations> {
27259 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
27260 }
27261
27262 pub fn subdir(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
27263 unsafe { Some(self.table.get(5)?.deref_unchecked()) }
27264 }
27265
27266 pub fn dependency_type(&self) -> ::core::option::Option<&crate::wire::DependencyType> {
27267 unsafe { Some(self.table.get(6)?.deref_unchecked()) }
27268 }
27269
27270 pub fn availability(&self) -> ::core::option::Option<&crate::wire::Availability> {
27271 unsafe { Some(self.table.get(7)?.deref_unchecked()) }
27272 }
27273
27274 pub fn source_dictionary(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
27275 unsafe { Some(self.table.get(8)?.deref_unchecked()) }
27276 }
27277 }
27278
27279 impl<'de> ::core::fmt::Debug for UseDirectory<'de> {
27280 fn fmt(
27281 &self,
27282 f: &mut ::core::fmt::Formatter<'_>,
27283 ) -> ::core::result::Result<(), ::core::fmt::Error> {
27284 f.debug_struct("UseDirectory")
27285 .field("source", &self.source())
27286 .field("source_name", &self.source_name())
27287 .field("target_path", &self.target_path())
27288 .field("rights", &self.rights())
27289 .field("subdir", &self.subdir())
27290 .field("dependency_type", &self.dependency_type())
27291 .field("availability", &self.availability())
27292 .field("source_dictionary", &self.source_dictionary())
27293 .finish()
27294 }
27295 }
27296
27297 impl<'de> ::fidl_next::IntoNatural for UseDirectory<'de> {
27298 type Natural = crate::natural::UseDirectory;
27299 }
27300
27301 impl ::fidl_next::Unconstrained for UseDirectory<'_> {}
27302
27303 #[repr(C)]
27305 pub struct UseEventStream<'de> {
27306 pub(crate) table: ::fidl_next::WireTable<'de>,
27307 }
27308
27309 impl<'de> Drop for UseEventStream<'de> {
27310 fn drop(&mut self) {
27311 let _ = self.table.get(1).map(|envelope| unsafe {
27312 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
27313 });
27314
27315 let _ = self
27316 .table
27317 .get(2)
27318 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
27319
27320 let _ = self.table.get(3).map(|envelope| unsafe {
27321 envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::Ref<'de>>>()
27322 });
27323
27324 let _ = self.table.get(4).map(|envelope| unsafe {
27325 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
27326 });
27327
27328 let _ = self
27329 .table
27330 .get(5)
27331 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Availability>() });
27332
27333 let _ = self.table.get(6).map(|envelope| unsafe {
27334 envelope.read_unchecked::<::fidl_next_common_fuchsia_data::wire::Dictionary<'de>>()
27335 });
27336 }
27337 }
27338
27339 unsafe impl ::fidl_next::Wire for UseEventStream<'static> {
27340 type Owned<'de> = UseEventStream<'de>;
27341
27342 #[inline]
27343 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
27344 ::fidl_next::munge!(let Self { table } = out);
27345 ::fidl_next::WireTable::zero_padding(table);
27346 }
27347 }
27348
27349 unsafe impl<___D> ::fidl_next::Decode<___D> for UseEventStream<'static>
27350 where
27351 ___D: ::fidl_next::Decoder + ?Sized,
27352 {
27353 fn decode(
27354 slot: ::fidl_next::Slot<'_, Self>,
27355 decoder: &mut ___D,
27356 _: (),
27357 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
27358 ::fidl_next::munge!(let Self { table } = slot);
27359
27360 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
27361 match ordinal {
27362 0 => unsafe { ::core::hint::unreachable_unchecked() },
27363
27364 1 => {
27365 ::fidl_next::WireEnvelope::decode_as::<
27366 ___D,
27367 ::fidl_next::WireString<'static>,
27368 >(slot.as_mut(), decoder, 100)?;
27369
27370 let value = unsafe {
27371 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
27372 };
27373
27374 if value.len() > 100 {
27375 return Err(::fidl_next::DecodeError::VectorTooLong {
27376 size: value.len() as u64,
27377 limit: 100,
27378 });
27379 }
27380
27381 Ok(())
27382 }
27383
27384 2 => {
27385 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
27386 slot.as_mut(),
27387 decoder,
27388 (),
27389 )?;
27390
27391 Ok(())
27392 }
27393
27394 3 => {
27395 ::fidl_next::WireEnvelope::decode_as::<
27396 ___D,
27397 ::fidl_next::WireVector<'static, crate::wire::Ref<'static>>,
27398 >(slot.as_mut(), decoder, (4294967295, ()))?;
27399
27400 Ok(())
27401 }
27402
27403 4 => {
27404 ::fidl_next::WireEnvelope::decode_as::<
27405 ___D,
27406 ::fidl_next::WireString<'static>,
27407 >(slot.as_mut(), decoder, 100)?;
27408
27409 let value = unsafe {
27410 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
27411 };
27412
27413 if value.len() > 100 {
27414 return Err(::fidl_next::DecodeError::VectorTooLong {
27415 size: value.len() as u64,
27416 limit: 100,
27417 });
27418 }
27419
27420 Ok(())
27421 }
27422
27423 5 => {
27424 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Availability>(
27425 slot.as_mut(),
27426 decoder,
27427 (),
27428 )?;
27429
27430 Ok(())
27431 }
27432
27433 6 => {
27434 ::fidl_next::WireEnvelope::decode_as::<
27435 ___D,
27436 ::fidl_next_common_fuchsia_data::wire::Dictionary<'static>,
27437 >(slot.as_mut(), decoder, ())?;
27438
27439 Ok(())
27440 }
27441
27442 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
27443 }
27444 })
27445 }
27446 }
27447
27448 impl<'de> UseEventStream<'de> {
27449 pub fn source_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
27450 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
27451 }
27452
27453 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
27454 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
27455 }
27456
27457 pub fn scope(
27458 &self,
27459 ) -> ::core::option::Option<&::fidl_next::WireVector<'de, crate::wire::Ref<'de>>> {
27460 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
27461 }
27462
27463 pub fn target_path(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
27464 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
27465 }
27466
27467 pub fn availability(&self) -> ::core::option::Option<&crate::wire::Availability> {
27468 unsafe { Some(self.table.get(5)?.deref_unchecked()) }
27469 }
27470
27471 pub fn filter(
27472 &self,
27473 ) -> ::core::option::Option<&::fidl_next_common_fuchsia_data::wire::Dictionary<'de>>
27474 {
27475 unsafe { Some(self.table.get(6)?.deref_unchecked()) }
27476 }
27477 }
27478
27479 impl<'de> ::core::fmt::Debug for UseEventStream<'de> {
27480 fn fmt(
27481 &self,
27482 f: &mut ::core::fmt::Formatter<'_>,
27483 ) -> ::core::result::Result<(), ::core::fmt::Error> {
27484 f.debug_struct("UseEventStream")
27485 .field("source_name", &self.source_name())
27486 .field("source", &self.source())
27487 .field("scope", &self.scope())
27488 .field("target_path", &self.target_path())
27489 .field("availability", &self.availability())
27490 .field("filter", &self.filter())
27491 .finish()
27492 }
27493 }
27494
27495 impl<'de> ::fidl_next::IntoNatural for UseEventStream<'de> {
27496 type Natural = crate::natural::UseEventStream;
27497 }
27498
27499 impl ::fidl_next::Unconstrained for UseEventStream<'_> {}
27500
27501 #[repr(C)]
27503 pub struct UseRunner<'de> {
27504 pub(crate) table: ::fidl_next::WireTable<'de>,
27505 }
27506
27507 impl<'de> Drop for UseRunner<'de> {
27508 fn drop(&mut self) {
27509 let _ = self
27510 .table
27511 .get(1)
27512 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
27513
27514 let _ = self.table.get(2).map(|envelope| unsafe {
27515 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
27516 });
27517
27518 let _ = self.table.get(3).map(|envelope| unsafe {
27519 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
27520 });
27521 }
27522 }
27523
27524 unsafe impl ::fidl_next::Wire for UseRunner<'static> {
27525 type Owned<'de> = UseRunner<'de>;
27526
27527 #[inline]
27528 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
27529 ::fidl_next::munge!(let Self { table } = out);
27530 ::fidl_next::WireTable::zero_padding(table);
27531 }
27532 }
27533
27534 unsafe impl<___D> ::fidl_next::Decode<___D> for UseRunner<'static>
27535 where
27536 ___D: ::fidl_next::Decoder + ?Sized,
27537 {
27538 fn decode(
27539 slot: ::fidl_next::Slot<'_, Self>,
27540 decoder: &mut ___D,
27541 _: (),
27542 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
27543 ::fidl_next::munge!(let Self { table } = slot);
27544
27545 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
27546 match ordinal {
27547 0 => unsafe { ::core::hint::unreachable_unchecked() },
27548
27549 1 => {
27550 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
27551 slot.as_mut(),
27552 decoder,
27553 (),
27554 )?;
27555
27556 Ok(())
27557 }
27558
27559 2 => {
27560 ::fidl_next::WireEnvelope::decode_as::<
27561 ___D,
27562 ::fidl_next::WireString<'static>,
27563 >(slot.as_mut(), decoder, 100)?;
27564
27565 let value = unsafe {
27566 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
27567 };
27568
27569 if value.len() > 100 {
27570 return Err(::fidl_next::DecodeError::VectorTooLong {
27571 size: value.len() as u64,
27572 limit: 100,
27573 });
27574 }
27575
27576 Ok(())
27577 }
27578
27579 3 => {
27580 ::fidl_next::WireEnvelope::decode_as::<
27581 ___D,
27582 ::fidl_next::WireString<'static>,
27583 >(slot.as_mut(), decoder, 1024)?;
27584
27585 let value = unsafe {
27586 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
27587 };
27588
27589 if value.len() > 1024 {
27590 return Err(::fidl_next::DecodeError::VectorTooLong {
27591 size: value.len() as u64,
27592 limit: 1024,
27593 });
27594 }
27595
27596 Ok(())
27597 }
27598
27599 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
27600 }
27601 })
27602 }
27603 }
27604
27605 impl<'de> UseRunner<'de> {
27606 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
27607 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
27608 }
27609
27610 pub fn source_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
27611 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
27612 }
27613
27614 pub fn source_dictionary(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
27615 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
27616 }
27617 }
27618
27619 impl<'de> ::core::fmt::Debug for UseRunner<'de> {
27620 fn fmt(
27621 &self,
27622 f: &mut ::core::fmt::Formatter<'_>,
27623 ) -> ::core::result::Result<(), ::core::fmt::Error> {
27624 f.debug_struct("UseRunner")
27625 .field("source", &self.source())
27626 .field("source_name", &self.source_name())
27627 .field("source_dictionary", &self.source_dictionary())
27628 .finish()
27629 }
27630 }
27631
27632 impl<'de> ::fidl_next::IntoNatural for UseRunner<'de> {
27633 type Natural = crate::natural::UseRunner;
27634 }
27635
27636 impl ::fidl_next::Unconstrained for UseRunner<'_> {}
27637
27638 #[repr(C)]
27640 pub struct UseConfiguration<'de> {
27641 pub(crate) table: ::fidl_next::WireTable<'de>,
27642 }
27643
27644 impl<'de> Drop for UseConfiguration<'de> {
27645 fn drop(&mut self) {
27646 let _ = self
27647 .table
27648 .get(1)
27649 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
27650
27651 let _ = self.table.get(2).map(|envelope| unsafe {
27652 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
27653 });
27654
27655 let _ = self.table.get(3).map(|envelope| unsafe {
27656 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
27657 });
27658
27659 let _ = self
27660 .table
27661 .get(4)
27662 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Availability>() });
27663
27664 let _ = self.table.get(5).map(|envelope| unsafe {
27665 envelope.read_unchecked::<crate::wire::ConfigType<'de>>()
27666 });
27667
27668 let _ = self.table.get(6).map(|envelope| unsafe {
27669 envelope.read_unchecked::<crate::wire::ConfigValue<'de>>()
27670 });
27671
27672 let _ = self.table.get(7).map(|envelope| unsafe {
27673 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
27674 });
27675 }
27676 }
27677
27678 unsafe impl ::fidl_next::Wire for UseConfiguration<'static> {
27679 type Owned<'de> = UseConfiguration<'de>;
27680
27681 #[inline]
27682 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
27683 ::fidl_next::munge!(let Self { table } = out);
27684 ::fidl_next::WireTable::zero_padding(table);
27685 }
27686 }
27687
27688 unsafe impl<___D> ::fidl_next::Decode<___D> for UseConfiguration<'static>
27689 where
27690 ___D: ::fidl_next::Decoder + ?Sized,
27691 {
27692 fn decode(
27693 slot: ::fidl_next::Slot<'_, Self>,
27694 decoder: &mut ___D,
27695 _: (),
27696 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
27697 ::fidl_next::munge!(let Self { table } = slot);
27698
27699 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
27700 match ordinal {
27701 0 => unsafe { ::core::hint::unreachable_unchecked() },
27702
27703 1 => {
27704 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
27705 slot.as_mut(),
27706 decoder,
27707 (),
27708 )?;
27709
27710 Ok(())
27711 }
27712
27713 2 => {
27714 ::fidl_next::WireEnvelope::decode_as::<
27715 ___D,
27716 ::fidl_next::WireString<'static>,
27717 >(slot.as_mut(), decoder, 100)?;
27718
27719 let value = unsafe {
27720 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
27721 };
27722
27723 if value.len() > 100 {
27724 return Err(::fidl_next::DecodeError::VectorTooLong {
27725 size: value.len() as u64,
27726 limit: 100,
27727 });
27728 }
27729
27730 Ok(())
27731 }
27732
27733 3 => {
27734 ::fidl_next::WireEnvelope::decode_as::<
27735 ___D,
27736 ::fidl_next::WireString<'static>,
27737 >(slot.as_mut(), decoder, 100)?;
27738
27739 let value = unsafe {
27740 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
27741 };
27742
27743 if value.len() > 100 {
27744 return Err(::fidl_next::DecodeError::VectorTooLong {
27745 size: value.len() as u64,
27746 limit: 100,
27747 });
27748 }
27749
27750 Ok(())
27751 }
27752
27753 4 => {
27754 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Availability>(
27755 slot.as_mut(),
27756 decoder,
27757 (),
27758 )?;
27759
27760 Ok(())
27761 }
27762
27763 5 => {
27764 ::fidl_next::WireEnvelope::decode_as::<
27765 ___D,
27766 crate::wire::ConfigType<'static>,
27767 >(slot.as_mut(), decoder, ())?;
27768
27769 Ok(())
27770 }
27771
27772 6 => {
27773 ::fidl_next::WireEnvelope::decode_as::<
27774 ___D,
27775 crate::wire::ConfigValue<'static>,
27776 >(slot.as_mut(), decoder, ())?;
27777
27778 Ok(())
27779 }
27780
27781 7 => {
27782 ::fidl_next::WireEnvelope::decode_as::<
27783 ___D,
27784 ::fidl_next::WireString<'static>,
27785 >(slot.as_mut(), decoder, 1024)?;
27786
27787 let value = unsafe {
27788 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
27789 };
27790
27791 if value.len() > 1024 {
27792 return Err(::fidl_next::DecodeError::VectorTooLong {
27793 size: value.len() as u64,
27794 limit: 1024,
27795 });
27796 }
27797
27798 Ok(())
27799 }
27800
27801 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
27802 }
27803 })
27804 }
27805 }
27806
27807 impl<'de> UseConfiguration<'de> {
27808 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
27809 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
27810 }
27811
27812 pub fn source_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
27813 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
27814 }
27815
27816 pub fn target_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
27817 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
27818 }
27819
27820 pub fn availability(&self) -> ::core::option::Option<&crate::wire::Availability> {
27821 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
27822 }
27823
27824 pub fn type_(&self) -> ::core::option::Option<&crate::wire::ConfigType<'de>> {
27825 unsafe { Some(self.table.get(5)?.deref_unchecked()) }
27826 }
27827
27828 pub fn default(&self) -> ::core::option::Option<&crate::wire::ConfigValue<'de>> {
27829 unsafe { Some(self.table.get(6)?.deref_unchecked()) }
27830 }
27831
27832 pub fn source_dictionary(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
27833 unsafe { Some(self.table.get(7)?.deref_unchecked()) }
27834 }
27835 }
27836
27837 impl<'de> ::core::fmt::Debug for UseConfiguration<'de> {
27838 fn fmt(
27839 &self,
27840 f: &mut ::core::fmt::Formatter<'_>,
27841 ) -> ::core::result::Result<(), ::core::fmt::Error> {
27842 f.debug_struct("UseConfiguration")
27843 .field("source", &self.source())
27844 .field("source_name", &self.source_name())
27845 .field("target_name", &self.target_name())
27846 .field("availability", &self.availability())
27847 .field("type_", &self.type_())
27848 .field("default", &self.default())
27849 .field("source_dictionary", &self.source_dictionary())
27850 .finish()
27851 }
27852 }
27853
27854 impl<'de> ::fidl_next::IntoNatural for UseConfiguration<'de> {
27855 type Natural = crate::natural::UseConfiguration;
27856 }
27857
27858 impl ::fidl_next::Unconstrained for UseConfiguration<'_> {}
27859
27860 #[repr(C)]
27862 pub struct UseDictionary<'de> {
27863 pub(crate) table: ::fidl_next::WireTable<'de>,
27864 }
27865
27866 impl<'de> Drop for UseDictionary<'de> {
27867 fn drop(&mut self) {
27868 let _ = self
27869 .table
27870 .get(1)
27871 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
27872
27873 let _ = self.table.get(2).map(|envelope| unsafe {
27874 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
27875 });
27876
27877 let _ = self.table.get(3).map(|envelope| unsafe {
27878 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
27879 });
27880
27881 let _ = self.table.get(6).map(|envelope| unsafe {
27882 envelope.read_unchecked::<crate::wire::DependencyType>()
27883 });
27884
27885 let _ = self
27886 .table
27887 .get(7)
27888 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Availability>() });
27889
27890 let _ = self.table.get(8).map(|envelope| unsafe {
27891 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
27892 });
27893 }
27894 }
27895
27896 unsafe impl ::fidl_next::Wire for UseDictionary<'static> {
27897 type Owned<'de> = UseDictionary<'de>;
27898
27899 #[inline]
27900 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
27901 ::fidl_next::munge!(let Self { table } = out);
27902 ::fidl_next::WireTable::zero_padding(table);
27903 }
27904 }
27905
27906 unsafe impl<___D> ::fidl_next::Decode<___D> for UseDictionary<'static>
27907 where
27908 ___D: ::fidl_next::Decoder + ?Sized,
27909 {
27910 fn decode(
27911 slot: ::fidl_next::Slot<'_, Self>,
27912 decoder: &mut ___D,
27913 _: (),
27914 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
27915 ::fidl_next::munge!(let Self { table } = slot);
27916
27917 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
27918 match ordinal {
27919 0 => unsafe { ::core::hint::unreachable_unchecked() },
27920
27921 1 => {
27922 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
27923 slot.as_mut(),
27924 decoder,
27925 (),
27926 )?;
27927
27928 Ok(())
27929 }
27930
27931 2 => {
27932 ::fidl_next::WireEnvelope::decode_as::<
27933 ___D,
27934 ::fidl_next::WireString<'static>,
27935 >(slot.as_mut(), decoder, 100)?;
27936
27937 let value = unsafe {
27938 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
27939 };
27940
27941 if value.len() > 100 {
27942 return Err(::fidl_next::DecodeError::VectorTooLong {
27943 size: value.len() as u64,
27944 limit: 100,
27945 });
27946 }
27947
27948 Ok(())
27949 }
27950
27951 3 => {
27952 ::fidl_next::WireEnvelope::decode_as::<
27953 ___D,
27954 ::fidl_next::WireString<'static>,
27955 >(slot.as_mut(), decoder, 1024)?;
27956
27957 let value = unsafe {
27958 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
27959 };
27960
27961 if value.len() > 1024 {
27962 return Err(::fidl_next::DecodeError::VectorTooLong {
27963 size: value.len() as u64,
27964 limit: 1024,
27965 });
27966 }
27967
27968 Ok(())
27969 }
27970
27971 6 => {
27972 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::DependencyType>(
27973 slot.as_mut(),
27974 decoder,
27975 (),
27976 )?;
27977
27978 Ok(())
27979 }
27980
27981 7 => {
27982 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Availability>(
27983 slot.as_mut(),
27984 decoder,
27985 (),
27986 )?;
27987
27988 Ok(())
27989 }
27990
27991 8 => {
27992 ::fidl_next::WireEnvelope::decode_as::<
27993 ___D,
27994 ::fidl_next::WireString<'static>,
27995 >(slot.as_mut(), decoder, 1024)?;
27996
27997 let value = unsafe {
27998 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
27999 };
28000
28001 if value.len() > 1024 {
28002 return Err(::fidl_next::DecodeError::VectorTooLong {
28003 size: value.len() as u64,
28004 limit: 1024,
28005 });
28006 }
28007
28008 Ok(())
28009 }
28010
28011 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
28012 }
28013 })
28014 }
28015 }
28016
28017 impl<'de> UseDictionary<'de> {
28018 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
28019 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
28020 }
28021
28022 pub fn source_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
28023 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
28024 }
28025
28026 pub fn target_path(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
28027 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
28028 }
28029
28030 pub fn dependency_type(&self) -> ::core::option::Option<&crate::wire::DependencyType> {
28031 unsafe { Some(self.table.get(6)?.deref_unchecked()) }
28032 }
28033
28034 pub fn availability(&self) -> ::core::option::Option<&crate::wire::Availability> {
28035 unsafe { Some(self.table.get(7)?.deref_unchecked()) }
28036 }
28037
28038 pub fn source_dictionary(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
28039 unsafe { Some(self.table.get(8)?.deref_unchecked()) }
28040 }
28041 }
28042
28043 impl<'de> ::core::fmt::Debug for UseDictionary<'de> {
28044 fn fmt(
28045 &self,
28046 f: &mut ::core::fmt::Formatter<'_>,
28047 ) -> ::core::result::Result<(), ::core::fmt::Error> {
28048 f.debug_struct("UseDictionary")
28049 .field("source", &self.source())
28050 .field("source_name", &self.source_name())
28051 .field("target_path", &self.target_path())
28052 .field("dependency_type", &self.dependency_type())
28053 .field("availability", &self.availability())
28054 .field("source_dictionary", &self.source_dictionary())
28055 .finish()
28056 }
28057 }
28058
28059 impl<'de> ::fidl_next::IntoNatural for UseDictionary<'de> {
28060 type Natural = crate::natural::UseDictionary;
28061 }
28062
28063 impl ::fidl_next::Unconstrained for UseDictionary<'_> {}
28064
28065 #[repr(transparent)]
28067 pub struct Use<'de> {
28068 pub(crate) raw: ::fidl_next::RawWireUnion,
28069 pub(crate) _phantom: ::core::marker::PhantomData<&'de mut [::fidl_next::Chunk]>,
28070 }
28071
28072 impl<'de> Drop for Use<'de> {
28073 fn drop(&mut self) {
28074 match self.raw.ordinal() {
28075 1 => {
28076 let _ =
28077 unsafe { self.raw.get().read_unchecked::<crate::wire::UseService<'de>>() };
28078 }
28079
28080 2 => {
28081 let _ =
28082 unsafe { self.raw.get().read_unchecked::<crate::wire::UseProtocol<'de>>() };
28083 }
28084
28085 3 => {
28086 let _ = unsafe {
28087 self.raw.get().read_unchecked::<crate::wire::UseDirectory<'de>>()
28088 };
28089 }
28090
28091 4 => {
28092 let _ =
28093 unsafe { self.raw.get().read_unchecked::<crate::wire::UseStorage<'de>>() };
28094 }
28095
28096 7 => {
28097 let _ = unsafe {
28098 self.raw.get().read_unchecked::<crate::wire::UseEventStream<'de>>()
28099 };
28100 }
28101
28102 8 => {
28103 let _ =
28104 unsafe { self.raw.get().read_unchecked::<crate::wire::UseRunner<'de>>() };
28105 }
28106
28107 9 => {
28108 let _ = unsafe {
28109 self.raw.get().read_unchecked::<crate::wire::UseConfiguration<'de>>()
28110 };
28111 }
28112
28113 10 => {
28114 let _ = unsafe {
28115 self.raw.get().read_unchecked::<crate::wire::UseDictionary<'de>>()
28116 };
28117 }
28118
28119 _ => (),
28120 }
28121 }
28122 }
28123
28124 unsafe impl ::fidl_next::Wire for Use<'static> {
28125 type Owned<'de> = Use<'de>;
28126
28127 #[inline]
28128 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
28129 ::fidl_next::munge!(let Self { raw, _phantom: _ } = out);
28130 ::fidl_next::RawWireUnion::zero_padding(raw);
28131 }
28132 }
28133
28134 pub mod use_ {
28135 pub enum Ref<'de> {
28136 Service(&'de crate::wire::UseService<'de>),
28137
28138 Protocol(&'de crate::wire::UseProtocol<'de>),
28139
28140 Directory(&'de crate::wire::UseDirectory<'de>),
28141
28142 Storage(&'de crate::wire::UseStorage<'de>),
28143
28144 EventStream(&'de crate::wire::UseEventStream<'de>),
28145
28146 Runner(&'de crate::wire::UseRunner<'de>),
28147
28148 Config(&'de crate::wire::UseConfiguration<'de>),
28149
28150 Dictionary(&'de crate::wire::UseDictionary<'de>),
28151
28152 UnknownOrdinal_(u64),
28153 }
28154 }
28155
28156 impl<'de> Use<'de> {
28157 pub fn as_ref(&self) -> crate::wire::use_::Ref<'_> {
28158 match self.raw.ordinal() {
28159 1 => crate::wire::use_::Ref::Service(unsafe {
28160 self.raw.get().deref_unchecked::<crate::wire::UseService<'_>>()
28161 }),
28162
28163 2 => crate::wire::use_::Ref::Protocol(unsafe {
28164 self.raw.get().deref_unchecked::<crate::wire::UseProtocol<'_>>()
28165 }),
28166
28167 3 => crate::wire::use_::Ref::Directory(unsafe {
28168 self.raw.get().deref_unchecked::<crate::wire::UseDirectory<'_>>()
28169 }),
28170
28171 4 => crate::wire::use_::Ref::Storage(unsafe {
28172 self.raw.get().deref_unchecked::<crate::wire::UseStorage<'_>>()
28173 }),
28174
28175 7 => crate::wire::use_::Ref::EventStream(unsafe {
28176 self.raw.get().deref_unchecked::<crate::wire::UseEventStream<'_>>()
28177 }),
28178
28179 8 => crate::wire::use_::Ref::Runner(unsafe {
28180 self.raw.get().deref_unchecked::<crate::wire::UseRunner<'_>>()
28181 }),
28182
28183 9 => crate::wire::use_::Ref::Config(unsafe {
28184 self.raw.get().deref_unchecked::<crate::wire::UseConfiguration<'_>>()
28185 }),
28186
28187 10 => crate::wire::use_::Ref::Dictionary(unsafe {
28188 self.raw.get().deref_unchecked::<crate::wire::UseDictionary<'_>>()
28189 }),
28190
28191 unknown => crate::wire::use_::Ref::UnknownOrdinal_(unknown),
28192 }
28193 }
28194 }
28195
28196 unsafe impl<___D> ::fidl_next::Decode<___D> for Use<'static>
28197 where
28198 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
28199 ___D: ::fidl_next::Decoder,
28200 {
28201 fn decode(
28202 mut slot: ::fidl_next::Slot<'_, Self>,
28203 decoder: &mut ___D,
28204 _: (),
28205 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
28206 ::fidl_next::munge!(let Self { mut raw, _phantom: _ } = slot.as_mut());
28207 match ::fidl_next::RawWireUnion::encoded_ordinal(raw.as_mut()) {
28208 1 => {
28209 ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::UseService<'static>>(
28210 raw,
28211 decoder,
28212 (),
28213 )?
28214 }
28215
28216 2 => {
28217 ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::UseProtocol<'static>>(
28218 raw,
28219 decoder,
28220 (),
28221 )?
28222 }
28223
28224 3 => ::fidl_next::RawWireUnion::decode_as::<
28225 ___D,
28226 crate::wire::UseDirectory<'static>,
28227 >(raw, decoder, ())?,
28228
28229 4 => {
28230 ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::UseStorage<'static>>(
28231 raw,
28232 decoder,
28233 (),
28234 )?
28235 }
28236
28237 7 => ::fidl_next::RawWireUnion::decode_as::<
28238 ___D,
28239 crate::wire::UseEventStream<'static>,
28240 >(raw, decoder, ())?,
28241
28242 8 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::UseRunner<'static>>(
28243 raw,
28244 decoder,
28245 (),
28246 )?,
28247
28248 9 => ::fidl_next::RawWireUnion::decode_as::<
28249 ___D,
28250 crate::wire::UseConfiguration<'static>,
28251 >(raw, decoder, ())?,
28252
28253 10 => ::fidl_next::RawWireUnion::decode_as::<
28254 ___D,
28255 crate::wire::UseDictionary<'static>,
28256 >(raw, decoder, ())?,
28257
28258 _ => ::fidl_next::RawWireUnion::decode_unknown(raw, decoder)?,
28259 }
28260
28261 Ok(())
28262 }
28263 }
28264
28265 impl<'de> ::core::fmt::Debug for Use<'de> {
28266 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28267 match self.raw.ordinal() {
28268 1 => unsafe {
28269 self.raw.get().deref_unchecked::<crate::wire::UseService<'_>>().fmt(f)
28270 },
28271 2 => unsafe {
28272 self.raw.get().deref_unchecked::<crate::wire::UseProtocol<'_>>().fmt(f)
28273 },
28274 3 => unsafe {
28275 self.raw.get().deref_unchecked::<crate::wire::UseDirectory<'_>>().fmt(f)
28276 },
28277 4 => unsafe {
28278 self.raw.get().deref_unchecked::<crate::wire::UseStorage<'_>>().fmt(f)
28279 },
28280 7 => unsafe {
28281 self.raw.get().deref_unchecked::<crate::wire::UseEventStream<'_>>().fmt(f)
28282 },
28283 8 => unsafe {
28284 self.raw.get().deref_unchecked::<crate::wire::UseRunner<'_>>().fmt(f)
28285 },
28286 9 => unsafe {
28287 self.raw.get().deref_unchecked::<crate::wire::UseConfiguration<'_>>().fmt(f)
28288 },
28289 10 => unsafe {
28290 self.raw.get().deref_unchecked::<crate::wire::UseDictionary<'_>>().fmt(f)
28291 },
28292 _ => unsafe { ::core::hint::unreachable_unchecked() },
28293 }
28294 }
28295 }
28296
28297 impl<'de> ::fidl_next::IntoNatural for Use<'de> {
28298 type Natural = crate::natural::Use;
28299 }
28300
28301 impl ::fidl_next::Unconstrained for Use<'static> {}
28302
28303 #[repr(C)]
28305 pub struct ExposeService<'de> {
28306 pub(crate) table: ::fidl_next::WireTable<'de>,
28307 }
28308
28309 impl<'de> Drop for ExposeService<'de> {
28310 fn drop(&mut self) {
28311 let _ = self
28312 .table
28313 .get(1)
28314 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
28315
28316 let _ = self.table.get(2).map(|envelope| unsafe {
28317 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
28318 });
28319
28320 let _ = self
28321 .table
28322 .get(3)
28323 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
28324
28325 let _ = self.table.get(4).map(|envelope| unsafe {
28326 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
28327 });
28328
28329 let _ = self
28330 .table
28331 .get(5)
28332 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Availability>() });
28333
28334 let _ = self.table.get(6).map(|envelope| unsafe {
28335 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
28336 });
28337 }
28338 }
28339
28340 unsafe impl ::fidl_next::Wire for ExposeService<'static> {
28341 type Owned<'de> = ExposeService<'de>;
28342
28343 #[inline]
28344 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
28345 ::fidl_next::munge!(let Self { table } = out);
28346 ::fidl_next::WireTable::zero_padding(table);
28347 }
28348 }
28349
28350 unsafe impl<___D> ::fidl_next::Decode<___D> for ExposeService<'static>
28351 where
28352 ___D: ::fidl_next::Decoder + ?Sized,
28353 {
28354 fn decode(
28355 slot: ::fidl_next::Slot<'_, Self>,
28356 decoder: &mut ___D,
28357 _: (),
28358 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
28359 ::fidl_next::munge!(let Self { table } = slot);
28360
28361 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
28362 match ordinal {
28363 0 => unsafe { ::core::hint::unreachable_unchecked() },
28364
28365 1 => {
28366 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
28367 slot.as_mut(),
28368 decoder,
28369 (),
28370 )?;
28371
28372 Ok(())
28373 }
28374
28375 2 => {
28376 ::fidl_next::WireEnvelope::decode_as::<
28377 ___D,
28378 ::fidl_next::WireString<'static>,
28379 >(slot.as_mut(), decoder, 100)?;
28380
28381 let value = unsafe {
28382 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
28383 };
28384
28385 if value.len() > 100 {
28386 return Err(::fidl_next::DecodeError::VectorTooLong {
28387 size: value.len() as u64,
28388 limit: 100,
28389 });
28390 }
28391
28392 Ok(())
28393 }
28394
28395 3 => {
28396 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
28397 slot.as_mut(),
28398 decoder,
28399 (),
28400 )?;
28401
28402 Ok(())
28403 }
28404
28405 4 => {
28406 ::fidl_next::WireEnvelope::decode_as::<
28407 ___D,
28408 ::fidl_next::WireString<'static>,
28409 >(slot.as_mut(), decoder, 100)?;
28410
28411 let value = unsafe {
28412 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
28413 };
28414
28415 if value.len() > 100 {
28416 return Err(::fidl_next::DecodeError::VectorTooLong {
28417 size: value.len() as u64,
28418 limit: 100,
28419 });
28420 }
28421
28422 Ok(())
28423 }
28424
28425 5 => {
28426 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Availability>(
28427 slot.as_mut(),
28428 decoder,
28429 (),
28430 )?;
28431
28432 Ok(())
28433 }
28434
28435 6 => {
28436 ::fidl_next::WireEnvelope::decode_as::<
28437 ___D,
28438 ::fidl_next::WireString<'static>,
28439 >(slot.as_mut(), decoder, 1024)?;
28440
28441 let value = unsafe {
28442 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
28443 };
28444
28445 if value.len() > 1024 {
28446 return Err(::fidl_next::DecodeError::VectorTooLong {
28447 size: value.len() as u64,
28448 limit: 1024,
28449 });
28450 }
28451
28452 Ok(())
28453 }
28454
28455 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
28456 }
28457 })
28458 }
28459 }
28460
28461 impl<'de> ExposeService<'de> {
28462 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
28463 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
28464 }
28465
28466 pub fn source_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
28467 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
28468 }
28469
28470 pub fn target(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
28471 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
28472 }
28473
28474 pub fn target_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
28475 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
28476 }
28477
28478 pub fn availability(&self) -> ::core::option::Option<&crate::wire::Availability> {
28479 unsafe { Some(self.table.get(5)?.deref_unchecked()) }
28480 }
28481
28482 pub fn source_dictionary(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
28483 unsafe { Some(self.table.get(6)?.deref_unchecked()) }
28484 }
28485 }
28486
28487 impl<'de> ::core::fmt::Debug for ExposeService<'de> {
28488 fn fmt(
28489 &self,
28490 f: &mut ::core::fmt::Formatter<'_>,
28491 ) -> ::core::result::Result<(), ::core::fmt::Error> {
28492 f.debug_struct("ExposeService")
28493 .field("source", &self.source())
28494 .field("source_name", &self.source_name())
28495 .field("target", &self.target())
28496 .field("target_name", &self.target_name())
28497 .field("availability", &self.availability())
28498 .field("source_dictionary", &self.source_dictionary())
28499 .finish()
28500 }
28501 }
28502
28503 impl<'de> ::fidl_next::IntoNatural for ExposeService<'de> {
28504 type Natural = crate::natural::ExposeService;
28505 }
28506
28507 impl ::fidl_next::Unconstrained for ExposeService<'_> {}
28508
28509 #[repr(C)]
28511 pub struct ExposeProtocol<'de> {
28512 pub(crate) table: ::fidl_next::WireTable<'de>,
28513 }
28514
28515 impl<'de> Drop for ExposeProtocol<'de> {
28516 fn drop(&mut self) {
28517 let _ = self
28518 .table
28519 .get(1)
28520 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
28521
28522 let _ = self.table.get(2).map(|envelope| unsafe {
28523 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
28524 });
28525
28526 let _ = self
28527 .table
28528 .get(3)
28529 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
28530
28531 let _ = self.table.get(4).map(|envelope| unsafe {
28532 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
28533 });
28534
28535 let _ = self
28536 .table
28537 .get(5)
28538 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Availability>() });
28539
28540 let _ = self.table.get(6).map(|envelope| unsafe {
28541 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
28542 });
28543 }
28544 }
28545
28546 unsafe impl ::fidl_next::Wire for ExposeProtocol<'static> {
28547 type Owned<'de> = ExposeProtocol<'de>;
28548
28549 #[inline]
28550 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
28551 ::fidl_next::munge!(let Self { table } = out);
28552 ::fidl_next::WireTable::zero_padding(table);
28553 }
28554 }
28555
28556 unsafe impl<___D> ::fidl_next::Decode<___D> for ExposeProtocol<'static>
28557 where
28558 ___D: ::fidl_next::Decoder + ?Sized,
28559 {
28560 fn decode(
28561 slot: ::fidl_next::Slot<'_, Self>,
28562 decoder: &mut ___D,
28563 _: (),
28564 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
28565 ::fidl_next::munge!(let Self { table } = slot);
28566
28567 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
28568 match ordinal {
28569 0 => unsafe { ::core::hint::unreachable_unchecked() },
28570
28571 1 => {
28572 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
28573 slot.as_mut(),
28574 decoder,
28575 (),
28576 )?;
28577
28578 Ok(())
28579 }
28580
28581 2 => {
28582 ::fidl_next::WireEnvelope::decode_as::<
28583 ___D,
28584 ::fidl_next::WireString<'static>,
28585 >(slot.as_mut(), decoder, 100)?;
28586
28587 let value = unsafe {
28588 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
28589 };
28590
28591 if value.len() > 100 {
28592 return Err(::fidl_next::DecodeError::VectorTooLong {
28593 size: value.len() as u64,
28594 limit: 100,
28595 });
28596 }
28597
28598 Ok(())
28599 }
28600
28601 3 => {
28602 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
28603 slot.as_mut(),
28604 decoder,
28605 (),
28606 )?;
28607
28608 Ok(())
28609 }
28610
28611 4 => {
28612 ::fidl_next::WireEnvelope::decode_as::<
28613 ___D,
28614 ::fidl_next::WireString<'static>,
28615 >(slot.as_mut(), decoder, 100)?;
28616
28617 let value = unsafe {
28618 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
28619 };
28620
28621 if value.len() > 100 {
28622 return Err(::fidl_next::DecodeError::VectorTooLong {
28623 size: value.len() as u64,
28624 limit: 100,
28625 });
28626 }
28627
28628 Ok(())
28629 }
28630
28631 5 => {
28632 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Availability>(
28633 slot.as_mut(),
28634 decoder,
28635 (),
28636 )?;
28637
28638 Ok(())
28639 }
28640
28641 6 => {
28642 ::fidl_next::WireEnvelope::decode_as::<
28643 ___D,
28644 ::fidl_next::WireString<'static>,
28645 >(slot.as_mut(), decoder, 1024)?;
28646
28647 let value = unsafe {
28648 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
28649 };
28650
28651 if value.len() > 1024 {
28652 return Err(::fidl_next::DecodeError::VectorTooLong {
28653 size: value.len() as u64,
28654 limit: 1024,
28655 });
28656 }
28657
28658 Ok(())
28659 }
28660
28661 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
28662 }
28663 })
28664 }
28665 }
28666
28667 impl<'de> ExposeProtocol<'de> {
28668 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
28669 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
28670 }
28671
28672 pub fn source_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
28673 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
28674 }
28675
28676 pub fn target(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
28677 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
28678 }
28679
28680 pub fn target_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
28681 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
28682 }
28683
28684 pub fn availability(&self) -> ::core::option::Option<&crate::wire::Availability> {
28685 unsafe { Some(self.table.get(5)?.deref_unchecked()) }
28686 }
28687
28688 pub fn source_dictionary(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
28689 unsafe { Some(self.table.get(6)?.deref_unchecked()) }
28690 }
28691 }
28692
28693 impl<'de> ::core::fmt::Debug for ExposeProtocol<'de> {
28694 fn fmt(
28695 &self,
28696 f: &mut ::core::fmt::Formatter<'_>,
28697 ) -> ::core::result::Result<(), ::core::fmt::Error> {
28698 f.debug_struct("ExposeProtocol")
28699 .field("source", &self.source())
28700 .field("source_name", &self.source_name())
28701 .field("target", &self.target())
28702 .field("target_name", &self.target_name())
28703 .field("availability", &self.availability())
28704 .field("source_dictionary", &self.source_dictionary())
28705 .finish()
28706 }
28707 }
28708
28709 impl<'de> ::fidl_next::IntoNatural for ExposeProtocol<'de> {
28710 type Natural = crate::natural::ExposeProtocol;
28711 }
28712
28713 impl ::fidl_next::Unconstrained for ExposeProtocol<'_> {}
28714
28715 #[repr(C)]
28717 pub struct ExposeDirectory<'de> {
28718 pub(crate) table: ::fidl_next::WireTable<'de>,
28719 }
28720
28721 impl<'de> Drop for ExposeDirectory<'de> {
28722 fn drop(&mut self) {
28723 let _ = self
28724 .table
28725 .get(1)
28726 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
28727
28728 let _ = self.table.get(2).map(|envelope| unsafe {
28729 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
28730 });
28731
28732 let _ = self
28733 .table
28734 .get(3)
28735 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
28736
28737 let _ = self.table.get(4).map(|envelope| unsafe {
28738 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
28739 });
28740
28741 let _ = self.table.get(5).map(|envelope| unsafe {
28742 envelope.read_unchecked::<::fidl_next_common_fuchsia_io::wire::Operations>()
28743 });
28744
28745 let _ = self.table.get(6).map(|envelope| unsafe {
28746 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
28747 });
28748
28749 let _ = self
28750 .table
28751 .get(7)
28752 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Availability>() });
28753
28754 let _ = self.table.get(8).map(|envelope| unsafe {
28755 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
28756 });
28757 }
28758 }
28759
28760 unsafe impl ::fidl_next::Wire for ExposeDirectory<'static> {
28761 type Owned<'de> = ExposeDirectory<'de>;
28762
28763 #[inline]
28764 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
28765 ::fidl_next::munge!(let Self { table } = out);
28766 ::fidl_next::WireTable::zero_padding(table);
28767 }
28768 }
28769
28770 unsafe impl<___D> ::fidl_next::Decode<___D> for ExposeDirectory<'static>
28771 where
28772 ___D: ::fidl_next::Decoder + ?Sized,
28773 {
28774 fn decode(
28775 slot: ::fidl_next::Slot<'_, Self>,
28776 decoder: &mut ___D,
28777 _: (),
28778 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
28779 ::fidl_next::munge!(let Self { table } = slot);
28780
28781 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
28782 match ordinal {
28783 0 => unsafe { ::core::hint::unreachable_unchecked() },
28784
28785 1 => {
28786 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
28787 slot.as_mut(),
28788 decoder,
28789 (),
28790 )?;
28791
28792 Ok(())
28793 }
28794
28795 2 => {
28796 ::fidl_next::WireEnvelope::decode_as::<
28797 ___D,
28798 ::fidl_next::WireString<'static>,
28799 >(slot.as_mut(), decoder, 100)?;
28800
28801 let value = unsafe {
28802 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
28803 };
28804
28805 if value.len() > 100 {
28806 return Err(::fidl_next::DecodeError::VectorTooLong {
28807 size: value.len() as u64,
28808 limit: 100,
28809 });
28810 }
28811
28812 Ok(())
28813 }
28814
28815 3 => {
28816 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
28817 slot.as_mut(),
28818 decoder,
28819 (),
28820 )?;
28821
28822 Ok(())
28823 }
28824
28825 4 => {
28826 ::fidl_next::WireEnvelope::decode_as::<
28827 ___D,
28828 ::fidl_next::WireString<'static>,
28829 >(slot.as_mut(), decoder, 100)?;
28830
28831 let value = unsafe {
28832 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
28833 };
28834
28835 if value.len() > 100 {
28836 return Err(::fidl_next::DecodeError::VectorTooLong {
28837 size: value.len() as u64,
28838 limit: 100,
28839 });
28840 }
28841
28842 Ok(())
28843 }
28844
28845 5 => {
28846 ::fidl_next::WireEnvelope::decode_as::<
28847 ___D,
28848 ::fidl_next_common_fuchsia_io::wire::Operations,
28849 >(slot.as_mut(), decoder, ())?;
28850
28851 Ok(())
28852 }
28853
28854 6 => {
28855 ::fidl_next::WireEnvelope::decode_as::<
28856 ___D,
28857 ::fidl_next::WireString<'static>,
28858 >(slot.as_mut(), decoder, 1024)?;
28859
28860 let value = unsafe {
28861 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
28862 };
28863
28864 if value.len() > 1024 {
28865 return Err(::fidl_next::DecodeError::VectorTooLong {
28866 size: value.len() as u64,
28867 limit: 1024,
28868 });
28869 }
28870
28871 Ok(())
28872 }
28873
28874 7 => {
28875 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Availability>(
28876 slot.as_mut(),
28877 decoder,
28878 (),
28879 )?;
28880
28881 Ok(())
28882 }
28883
28884 8 => {
28885 ::fidl_next::WireEnvelope::decode_as::<
28886 ___D,
28887 ::fidl_next::WireString<'static>,
28888 >(slot.as_mut(), decoder, 1024)?;
28889
28890 let value = unsafe {
28891 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
28892 };
28893
28894 if value.len() > 1024 {
28895 return Err(::fidl_next::DecodeError::VectorTooLong {
28896 size: value.len() as u64,
28897 limit: 1024,
28898 });
28899 }
28900
28901 Ok(())
28902 }
28903
28904 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
28905 }
28906 })
28907 }
28908 }
28909
28910 impl<'de> ExposeDirectory<'de> {
28911 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
28912 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
28913 }
28914
28915 pub fn source_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
28916 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
28917 }
28918
28919 pub fn target(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
28920 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
28921 }
28922
28923 pub fn target_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
28924 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
28925 }
28926
28927 pub fn rights(
28928 &self,
28929 ) -> ::core::option::Option<&::fidl_next_common_fuchsia_io::wire::Operations> {
28930 unsafe { Some(self.table.get(5)?.deref_unchecked()) }
28931 }
28932
28933 pub fn subdir(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
28934 unsafe { Some(self.table.get(6)?.deref_unchecked()) }
28935 }
28936
28937 pub fn availability(&self) -> ::core::option::Option<&crate::wire::Availability> {
28938 unsafe { Some(self.table.get(7)?.deref_unchecked()) }
28939 }
28940
28941 pub fn source_dictionary(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
28942 unsafe { Some(self.table.get(8)?.deref_unchecked()) }
28943 }
28944 }
28945
28946 impl<'de> ::core::fmt::Debug for ExposeDirectory<'de> {
28947 fn fmt(
28948 &self,
28949 f: &mut ::core::fmt::Formatter<'_>,
28950 ) -> ::core::result::Result<(), ::core::fmt::Error> {
28951 f.debug_struct("ExposeDirectory")
28952 .field("source", &self.source())
28953 .field("source_name", &self.source_name())
28954 .field("target", &self.target())
28955 .field("target_name", &self.target_name())
28956 .field("rights", &self.rights())
28957 .field("subdir", &self.subdir())
28958 .field("availability", &self.availability())
28959 .field("source_dictionary", &self.source_dictionary())
28960 .finish()
28961 }
28962 }
28963
28964 impl<'de> ::fidl_next::IntoNatural for ExposeDirectory<'de> {
28965 type Natural = crate::natural::ExposeDirectory;
28966 }
28967
28968 impl ::fidl_next::Unconstrained for ExposeDirectory<'_> {}
28969
28970 #[repr(C)]
28972 pub struct ExposeRunner<'de> {
28973 pub(crate) table: ::fidl_next::WireTable<'de>,
28974 }
28975
28976 impl<'de> Drop for ExposeRunner<'de> {
28977 fn drop(&mut self) {
28978 let _ = self
28979 .table
28980 .get(1)
28981 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
28982
28983 let _ = self.table.get(2).map(|envelope| unsafe {
28984 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
28985 });
28986
28987 let _ = self
28988 .table
28989 .get(3)
28990 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
28991
28992 let _ = self.table.get(4).map(|envelope| unsafe {
28993 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
28994 });
28995
28996 let _ = self.table.get(6).map(|envelope| unsafe {
28997 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
28998 });
28999 }
29000 }
29001
29002 unsafe impl ::fidl_next::Wire for ExposeRunner<'static> {
29003 type Owned<'de> = ExposeRunner<'de>;
29004
29005 #[inline]
29006 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
29007 ::fidl_next::munge!(let Self { table } = out);
29008 ::fidl_next::WireTable::zero_padding(table);
29009 }
29010 }
29011
29012 unsafe impl<___D> ::fidl_next::Decode<___D> for ExposeRunner<'static>
29013 where
29014 ___D: ::fidl_next::Decoder + ?Sized,
29015 {
29016 fn decode(
29017 slot: ::fidl_next::Slot<'_, Self>,
29018 decoder: &mut ___D,
29019 _: (),
29020 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
29021 ::fidl_next::munge!(let Self { table } = slot);
29022
29023 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
29024 match ordinal {
29025 0 => unsafe { ::core::hint::unreachable_unchecked() },
29026
29027 1 => {
29028 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
29029 slot.as_mut(),
29030 decoder,
29031 (),
29032 )?;
29033
29034 Ok(())
29035 }
29036
29037 2 => {
29038 ::fidl_next::WireEnvelope::decode_as::<
29039 ___D,
29040 ::fidl_next::WireString<'static>,
29041 >(slot.as_mut(), decoder, 100)?;
29042
29043 let value = unsafe {
29044 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
29045 };
29046
29047 if value.len() > 100 {
29048 return Err(::fidl_next::DecodeError::VectorTooLong {
29049 size: value.len() as u64,
29050 limit: 100,
29051 });
29052 }
29053
29054 Ok(())
29055 }
29056
29057 3 => {
29058 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
29059 slot.as_mut(),
29060 decoder,
29061 (),
29062 )?;
29063
29064 Ok(())
29065 }
29066
29067 4 => {
29068 ::fidl_next::WireEnvelope::decode_as::<
29069 ___D,
29070 ::fidl_next::WireString<'static>,
29071 >(slot.as_mut(), decoder, 100)?;
29072
29073 let value = unsafe {
29074 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
29075 };
29076
29077 if value.len() > 100 {
29078 return Err(::fidl_next::DecodeError::VectorTooLong {
29079 size: value.len() as u64,
29080 limit: 100,
29081 });
29082 }
29083
29084 Ok(())
29085 }
29086
29087 6 => {
29088 ::fidl_next::WireEnvelope::decode_as::<
29089 ___D,
29090 ::fidl_next::WireString<'static>,
29091 >(slot.as_mut(), decoder, 1024)?;
29092
29093 let value = unsafe {
29094 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
29095 };
29096
29097 if value.len() > 1024 {
29098 return Err(::fidl_next::DecodeError::VectorTooLong {
29099 size: value.len() as u64,
29100 limit: 1024,
29101 });
29102 }
29103
29104 Ok(())
29105 }
29106
29107 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
29108 }
29109 })
29110 }
29111 }
29112
29113 impl<'de> ExposeRunner<'de> {
29114 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
29115 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
29116 }
29117
29118 pub fn source_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
29119 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
29120 }
29121
29122 pub fn target(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
29123 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
29124 }
29125
29126 pub fn target_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
29127 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
29128 }
29129
29130 pub fn source_dictionary(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
29131 unsafe { Some(self.table.get(6)?.deref_unchecked()) }
29132 }
29133 }
29134
29135 impl<'de> ::core::fmt::Debug for ExposeRunner<'de> {
29136 fn fmt(
29137 &self,
29138 f: &mut ::core::fmt::Formatter<'_>,
29139 ) -> ::core::result::Result<(), ::core::fmt::Error> {
29140 f.debug_struct("ExposeRunner")
29141 .field("source", &self.source())
29142 .field("source_name", &self.source_name())
29143 .field("target", &self.target())
29144 .field("target_name", &self.target_name())
29145 .field("source_dictionary", &self.source_dictionary())
29146 .finish()
29147 }
29148 }
29149
29150 impl<'de> ::fidl_next::IntoNatural for ExposeRunner<'de> {
29151 type Natural = crate::natural::ExposeRunner;
29152 }
29153
29154 impl ::fidl_next::Unconstrained for ExposeRunner<'_> {}
29155
29156 #[repr(C)]
29158 pub struct ExposeResolver<'de> {
29159 pub(crate) table: ::fidl_next::WireTable<'de>,
29160 }
29161
29162 impl<'de> Drop for ExposeResolver<'de> {
29163 fn drop(&mut self) {
29164 let _ = self
29165 .table
29166 .get(1)
29167 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
29168
29169 let _ = self.table.get(2).map(|envelope| unsafe {
29170 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
29171 });
29172
29173 let _ = self
29174 .table
29175 .get(3)
29176 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
29177
29178 let _ = self.table.get(4).map(|envelope| unsafe {
29179 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
29180 });
29181
29182 let _ = self.table.get(6).map(|envelope| unsafe {
29183 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
29184 });
29185 }
29186 }
29187
29188 unsafe impl ::fidl_next::Wire for ExposeResolver<'static> {
29189 type Owned<'de> = ExposeResolver<'de>;
29190
29191 #[inline]
29192 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
29193 ::fidl_next::munge!(let Self { table } = out);
29194 ::fidl_next::WireTable::zero_padding(table);
29195 }
29196 }
29197
29198 unsafe impl<___D> ::fidl_next::Decode<___D> for ExposeResolver<'static>
29199 where
29200 ___D: ::fidl_next::Decoder + ?Sized,
29201 {
29202 fn decode(
29203 slot: ::fidl_next::Slot<'_, Self>,
29204 decoder: &mut ___D,
29205 _: (),
29206 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
29207 ::fidl_next::munge!(let Self { table } = slot);
29208
29209 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
29210 match ordinal {
29211 0 => unsafe { ::core::hint::unreachable_unchecked() },
29212
29213 1 => {
29214 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
29215 slot.as_mut(),
29216 decoder,
29217 (),
29218 )?;
29219
29220 Ok(())
29221 }
29222
29223 2 => {
29224 ::fidl_next::WireEnvelope::decode_as::<
29225 ___D,
29226 ::fidl_next::WireString<'static>,
29227 >(slot.as_mut(), decoder, 100)?;
29228
29229 let value = unsafe {
29230 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
29231 };
29232
29233 if value.len() > 100 {
29234 return Err(::fidl_next::DecodeError::VectorTooLong {
29235 size: value.len() as u64,
29236 limit: 100,
29237 });
29238 }
29239
29240 Ok(())
29241 }
29242
29243 3 => {
29244 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
29245 slot.as_mut(),
29246 decoder,
29247 (),
29248 )?;
29249
29250 Ok(())
29251 }
29252
29253 4 => {
29254 ::fidl_next::WireEnvelope::decode_as::<
29255 ___D,
29256 ::fidl_next::WireString<'static>,
29257 >(slot.as_mut(), decoder, 100)?;
29258
29259 let value = unsafe {
29260 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
29261 };
29262
29263 if value.len() > 100 {
29264 return Err(::fidl_next::DecodeError::VectorTooLong {
29265 size: value.len() as u64,
29266 limit: 100,
29267 });
29268 }
29269
29270 Ok(())
29271 }
29272
29273 6 => {
29274 ::fidl_next::WireEnvelope::decode_as::<
29275 ___D,
29276 ::fidl_next::WireString<'static>,
29277 >(slot.as_mut(), decoder, 1024)?;
29278
29279 let value = unsafe {
29280 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
29281 };
29282
29283 if value.len() > 1024 {
29284 return Err(::fidl_next::DecodeError::VectorTooLong {
29285 size: value.len() as u64,
29286 limit: 1024,
29287 });
29288 }
29289
29290 Ok(())
29291 }
29292
29293 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
29294 }
29295 })
29296 }
29297 }
29298
29299 impl<'de> ExposeResolver<'de> {
29300 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
29301 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
29302 }
29303
29304 pub fn source_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
29305 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
29306 }
29307
29308 pub fn target(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
29309 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
29310 }
29311
29312 pub fn target_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
29313 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
29314 }
29315
29316 pub fn source_dictionary(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
29317 unsafe { Some(self.table.get(6)?.deref_unchecked()) }
29318 }
29319 }
29320
29321 impl<'de> ::core::fmt::Debug for ExposeResolver<'de> {
29322 fn fmt(
29323 &self,
29324 f: &mut ::core::fmt::Formatter<'_>,
29325 ) -> ::core::result::Result<(), ::core::fmt::Error> {
29326 f.debug_struct("ExposeResolver")
29327 .field("source", &self.source())
29328 .field("source_name", &self.source_name())
29329 .field("target", &self.target())
29330 .field("target_name", &self.target_name())
29331 .field("source_dictionary", &self.source_dictionary())
29332 .finish()
29333 }
29334 }
29335
29336 impl<'de> ::fidl_next::IntoNatural for ExposeResolver<'de> {
29337 type Natural = crate::natural::ExposeResolver;
29338 }
29339
29340 impl ::fidl_next::Unconstrained for ExposeResolver<'_> {}
29341
29342 #[repr(C)]
29344 pub struct ExposeDictionary<'de> {
29345 pub(crate) table: ::fidl_next::WireTable<'de>,
29346 }
29347
29348 impl<'de> Drop for ExposeDictionary<'de> {
29349 fn drop(&mut self) {
29350 let _ = self
29351 .table
29352 .get(1)
29353 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
29354
29355 let _ = self.table.get(2).map(|envelope| unsafe {
29356 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
29357 });
29358
29359 let _ = self
29360 .table
29361 .get(3)
29362 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
29363
29364 let _ = self.table.get(4).map(|envelope| unsafe {
29365 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
29366 });
29367
29368 let _ = self
29369 .table
29370 .get(5)
29371 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Availability>() });
29372
29373 let _ = self.table.get(6).map(|envelope| unsafe {
29374 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
29375 });
29376 }
29377 }
29378
29379 unsafe impl ::fidl_next::Wire for ExposeDictionary<'static> {
29380 type Owned<'de> = ExposeDictionary<'de>;
29381
29382 #[inline]
29383 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
29384 ::fidl_next::munge!(let Self { table } = out);
29385 ::fidl_next::WireTable::zero_padding(table);
29386 }
29387 }
29388
29389 unsafe impl<___D> ::fidl_next::Decode<___D> for ExposeDictionary<'static>
29390 where
29391 ___D: ::fidl_next::Decoder + ?Sized,
29392 {
29393 fn decode(
29394 slot: ::fidl_next::Slot<'_, Self>,
29395 decoder: &mut ___D,
29396 _: (),
29397 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
29398 ::fidl_next::munge!(let Self { table } = slot);
29399
29400 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
29401 match ordinal {
29402 0 => unsafe { ::core::hint::unreachable_unchecked() },
29403
29404 1 => {
29405 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
29406 slot.as_mut(),
29407 decoder,
29408 (),
29409 )?;
29410
29411 Ok(())
29412 }
29413
29414 2 => {
29415 ::fidl_next::WireEnvelope::decode_as::<
29416 ___D,
29417 ::fidl_next::WireString<'static>,
29418 >(slot.as_mut(), decoder, 100)?;
29419
29420 let value = unsafe {
29421 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
29422 };
29423
29424 if value.len() > 100 {
29425 return Err(::fidl_next::DecodeError::VectorTooLong {
29426 size: value.len() as u64,
29427 limit: 100,
29428 });
29429 }
29430
29431 Ok(())
29432 }
29433
29434 3 => {
29435 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
29436 slot.as_mut(),
29437 decoder,
29438 (),
29439 )?;
29440
29441 Ok(())
29442 }
29443
29444 4 => {
29445 ::fidl_next::WireEnvelope::decode_as::<
29446 ___D,
29447 ::fidl_next::WireString<'static>,
29448 >(slot.as_mut(), decoder, 100)?;
29449
29450 let value = unsafe {
29451 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
29452 };
29453
29454 if value.len() > 100 {
29455 return Err(::fidl_next::DecodeError::VectorTooLong {
29456 size: value.len() as u64,
29457 limit: 100,
29458 });
29459 }
29460
29461 Ok(())
29462 }
29463
29464 5 => {
29465 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Availability>(
29466 slot.as_mut(),
29467 decoder,
29468 (),
29469 )?;
29470
29471 Ok(())
29472 }
29473
29474 6 => {
29475 ::fidl_next::WireEnvelope::decode_as::<
29476 ___D,
29477 ::fidl_next::WireString<'static>,
29478 >(slot.as_mut(), decoder, 1024)?;
29479
29480 let value = unsafe {
29481 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
29482 };
29483
29484 if value.len() > 1024 {
29485 return Err(::fidl_next::DecodeError::VectorTooLong {
29486 size: value.len() as u64,
29487 limit: 1024,
29488 });
29489 }
29490
29491 Ok(())
29492 }
29493
29494 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
29495 }
29496 })
29497 }
29498 }
29499
29500 impl<'de> ExposeDictionary<'de> {
29501 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
29502 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
29503 }
29504
29505 pub fn source_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
29506 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
29507 }
29508
29509 pub fn target(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
29510 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
29511 }
29512
29513 pub fn target_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
29514 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
29515 }
29516
29517 pub fn availability(&self) -> ::core::option::Option<&crate::wire::Availability> {
29518 unsafe { Some(self.table.get(5)?.deref_unchecked()) }
29519 }
29520
29521 pub fn source_dictionary(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
29522 unsafe { Some(self.table.get(6)?.deref_unchecked()) }
29523 }
29524 }
29525
29526 impl<'de> ::core::fmt::Debug for ExposeDictionary<'de> {
29527 fn fmt(
29528 &self,
29529 f: &mut ::core::fmt::Formatter<'_>,
29530 ) -> ::core::result::Result<(), ::core::fmt::Error> {
29531 f.debug_struct("ExposeDictionary")
29532 .field("source", &self.source())
29533 .field("source_name", &self.source_name())
29534 .field("target", &self.target())
29535 .field("target_name", &self.target_name())
29536 .field("availability", &self.availability())
29537 .field("source_dictionary", &self.source_dictionary())
29538 .finish()
29539 }
29540 }
29541
29542 impl<'de> ::fidl_next::IntoNatural for ExposeDictionary<'de> {
29543 type Natural = crate::natural::ExposeDictionary;
29544 }
29545
29546 impl ::fidl_next::Unconstrained for ExposeDictionary<'_> {}
29547
29548 #[repr(C)]
29550 pub struct ExposeConfiguration<'de> {
29551 pub(crate) table: ::fidl_next::WireTable<'de>,
29552 }
29553
29554 impl<'de> Drop for ExposeConfiguration<'de> {
29555 fn drop(&mut self) {
29556 let _ = self
29557 .table
29558 .get(1)
29559 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
29560
29561 let _ = self.table.get(2).map(|envelope| unsafe {
29562 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
29563 });
29564
29565 let _ = self
29566 .table
29567 .get(3)
29568 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
29569
29570 let _ = self.table.get(4).map(|envelope| unsafe {
29571 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
29572 });
29573
29574 let _ = self
29575 .table
29576 .get(5)
29577 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Availability>() });
29578
29579 let _ = self.table.get(6).map(|envelope| unsafe {
29580 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
29581 });
29582 }
29583 }
29584
29585 unsafe impl ::fidl_next::Wire for ExposeConfiguration<'static> {
29586 type Owned<'de> = ExposeConfiguration<'de>;
29587
29588 #[inline]
29589 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
29590 ::fidl_next::munge!(let Self { table } = out);
29591 ::fidl_next::WireTable::zero_padding(table);
29592 }
29593 }
29594
29595 unsafe impl<___D> ::fidl_next::Decode<___D> for ExposeConfiguration<'static>
29596 where
29597 ___D: ::fidl_next::Decoder + ?Sized,
29598 {
29599 fn decode(
29600 slot: ::fidl_next::Slot<'_, Self>,
29601 decoder: &mut ___D,
29602 _: (),
29603 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
29604 ::fidl_next::munge!(let Self { table } = slot);
29605
29606 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
29607 match ordinal {
29608 0 => unsafe { ::core::hint::unreachable_unchecked() },
29609
29610 1 => {
29611 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
29612 slot.as_mut(),
29613 decoder,
29614 (),
29615 )?;
29616
29617 Ok(())
29618 }
29619
29620 2 => {
29621 ::fidl_next::WireEnvelope::decode_as::<
29622 ___D,
29623 ::fidl_next::WireString<'static>,
29624 >(slot.as_mut(), decoder, 100)?;
29625
29626 let value = unsafe {
29627 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
29628 };
29629
29630 if value.len() > 100 {
29631 return Err(::fidl_next::DecodeError::VectorTooLong {
29632 size: value.len() as u64,
29633 limit: 100,
29634 });
29635 }
29636
29637 Ok(())
29638 }
29639
29640 3 => {
29641 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
29642 slot.as_mut(),
29643 decoder,
29644 (),
29645 )?;
29646
29647 Ok(())
29648 }
29649
29650 4 => {
29651 ::fidl_next::WireEnvelope::decode_as::<
29652 ___D,
29653 ::fidl_next::WireString<'static>,
29654 >(slot.as_mut(), decoder, 100)?;
29655
29656 let value = unsafe {
29657 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
29658 };
29659
29660 if value.len() > 100 {
29661 return Err(::fidl_next::DecodeError::VectorTooLong {
29662 size: value.len() as u64,
29663 limit: 100,
29664 });
29665 }
29666
29667 Ok(())
29668 }
29669
29670 5 => {
29671 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Availability>(
29672 slot.as_mut(),
29673 decoder,
29674 (),
29675 )?;
29676
29677 Ok(())
29678 }
29679
29680 6 => {
29681 ::fidl_next::WireEnvelope::decode_as::<
29682 ___D,
29683 ::fidl_next::WireString<'static>,
29684 >(slot.as_mut(), decoder, 1024)?;
29685
29686 let value = unsafe {
29687 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
29688 };
29689
29690 if value.len() > 1024 {
29691 return Err(::fidl_next::DecodeError::VectorTooLong {
29692 size: value.len() as u64,
29693 limit: 1024,
29694 });
29695 }
29696
29697 Ok(())
29698 }
29699
29700 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
29701 }
29702 })
29703 }
29704 }
29705
29706 impl<'de> ExposeConfiguration<'de> {
29707 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
29708 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
29709 }
29710
29711 pub fn source_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
29712 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
29713 }
29714
29715 pub fn target(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
29716 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
29717 }
29718
29719 pub fn target_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
29720 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
29721 }
29722
29723 pub fn availability(&self) -> ::core::option::Option<&crate::wire::Availability> {
29724 unsafe { Some(self.table.get(5)?.deref_unchecked()) }
29725 }
29726
29727 pub fn source_dictionary(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
29728 unsafe { Some(self.table.get(6)?.deref_unchecked()) }
29729 }
29730 }
29731
29732 impl<'de> ::core::fmt::Debug for ExposeConfiguration<'de> {
29733 fn fmt(
29734 &self,
29735 f: &mut ::core::fmt::Formatter<'_>,
29736 ) -> ::core::result::Result<(), ::core::fmt::Error> {
29737 f.debug_struct("ExposeConfiguration")
29738 .field("source", &self.source())
29739 .field("source_name", &self.source_name())
29740 .field("target", &self.target())
29741 .field("target_name", &self.target_name())
29742 .field("availability", &self.availability())
29743 .field("source_dictionary", &self.source_dictionary())
29744 .finish()
29745 }
29746 }
29747
29748 impl<'de> ::fidl_next::IntoNatural for ExposeConfiguration<'de> {
29749 type Natural = crate::natural::ExposeConfiguration;
29750 }
29751
29752 impl ::fidl_next::Unconstrained for ExposeConfiguration<'_> {}
29753
29754 #[repr(transparent)]
29756 pub struct Expose<'de> {
29757 pub(crate) raw: ::fidl_next::RawWireUnion,
29758 pub(crate) _phantom: ::core::marker::PhantomData<&'de mut [::fidl_next::Chunk]>,
29759 }
29760
29761 impl<'de> Drop for Expose<'de> {
29762 fn drop(&mut self) {
29763 match self.raw.ordinal() {
29764 1 => {
29765 let _ = unsafe {
29766 self.raw.get().read_unchecked::<crate::wire::ExposeService<'de>>()
29767 };
29768 }
29769
29770 2 => {
29771 let _ = unsafe {
29772 self.raw.get().read_unchecked::<crate::wire::ExposeProtocol<'de>>()
29773 };
29774 }
29775
29776 3 => {
29777 let _ = unsafe {
29778 self.raw.get().read_unchecked::<crate::wire::ExposeDirectory<'de>>()
29779 };
29780 }
29781
29782 4 => {
29783 let _ = unsafe {
29784 self.raw.get().read_unchecked::<crate::wire::ExposeRunner<'de>>()
29785 };
29786 }
29787
29788 5 => {
29789 let _ = unsafe {
29790 self.raw.get().read_unchecked::<crate::wire::ExposeResolver<'de>>()
29791 };
29792 }
29793
29794 7 => {
29795 let _ = unsafe {
29796 self.raw.get().read_unchecked::<crate::wire::ExposeDictionary<'de>>()
29797 };
29798 }
29799
29800 8 => {
29801 let _ = unsafe {
29802 self.raw.get().read_unchecked::<crate::wire::ExposeConfiguration<'de>>()
29803 };
29804 }
29805
29806 _ => (),
29807 }
29808 }
29809 }
29810
29811 unsafe impl ::fidl_next::Wire for Expose<'static> {
29812 type Owned<'de> = Expose<'de>;
29813
29814 #[inline]
29815 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
29816 ::fidl_next::munge!(let Self { raw, _phantom: _ } = out);
29817 ::fidl_next::RawWireUnion::zero_padding(raw);
29818 }
29819 }
29820
29821 pub mod expose {
29822 pub enum Ref<'de> {
29823 Service(&'de crate::wire::ExposeService<'de>),
29824
29825 Protocol(&'de crate::wire::ExposeProtocol<'de>),
29826
29827 Directory(&'de crate::wire::ExposeDirectory<'de>),
29828
29829 Runner(&'de crate::wire::ExposeRunner<'de>),
29830
29831 Resolver(&'de crate::wire::ExposeResolver<'de>),
29832
29833 Dictionary(&'de crate::wire::ExposeDictionary<'de>),
29834
29835 Config(&'de crate::wire::ExposeConfiguration<'de>),
29836
29837 UnknownOrdinal_(u64),
29838 }
29839 }
29840
29841 impl<'de> Expose<'de> {
29842 pub fn as_ref(&self) -> crate::wire::expose::Ref<'_> {
29843 match self.raw.ordinal() {
29844 1 => crate::wire::expose::Ref::Service(unsafe {
29845 self.raw.get().deref_unchecked::<crate::wire::ExposeService<'_>>()
29846 }),
29847
29848 2 => crate::wire::expose::Ref::Protocol(unsafe {
29849 self.raw.get().deref_unchecked::<crate::wire::ExposeProtocol<'_>>()
29850 }),
29851
29852 3 => crate::wire::expose::Ref::Directory(unsafe {
29853 self.raw.get().deref_unchecked::<crate::wire::ExposeDirectory<'_>>()
29854 }),
29855
29856 4 => crate::wire::expose::Ref::Runner(unsafe {
29857 self.raw.get().deref_unchecked::<crate::wire::ExposeRunner<'_>>()
29858 }),
29859
29860 5 => crate::wire::expose::Ref::Resolver(unsafe {
29861 self.raw.get().deref_unchecked::<crate::wire::ExposeResolver<'_>>()
29862 }),
29863
29864 7 => crate::wire::expose::Ref::Dictionary(unsafe {
29865 self.raw.get().deref_unchecked::<crate::wire::ExposeDictionary<'_>>()
29866 }),
29867
29868 8 => crate::wire::expose::Ref::Config(unsafe {
29869 self.raw.get().deref_unchecked::<crate::wire::ExposeConfiguration<'_>>()
29870 }),
29871
29872 unknown => crate::wire::expose::Ref::UnknownOrdinal_(unknown),
29873 }
29874 }
29875 }
29876
29877 unsafe impl<___D> ::fidl_next::Decode<___D> for Expose<'static>
29878 where
29879 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
29880 ___D: ::fidl_next::Decoder,
29881 {
29882 fn decode(
29883 mut slot: ::fidl_next::Slot<'_, Self>,
29884 decoder: &mut ___D,
29885 _: (),
29886 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
29887 ::fidl_next::munge!(let Self { mut raw, _phantom: _ } = slot.as_mut());
29888 match ::fidl_next::RawWireUnion::encoded_ordinal(raw.as_mut()) {
29889 1 => ::fidl_next::RawWireUnion::decode_as::<
29890 ___D,
29891 crate::wire::ExposeService<'static>,
29892 >(raw, decoder, ())?,
29893
29894 2 => ::fidl_next::RawWireUnion::decode_as::<
29895 ___D,
29896 crate::wire::ExposeProtocol<'static>,
29897 >(raw, decoder, ())?,
29898
29899 3 => ::fidl_next::RawWireUnion::decode_as::<
29900 ___D,
29901 crate::wire::ExposeDirectory<'static>,
29902 >(raw, decoder, ())?,
29903
29904 4 => ::fidl_next::RawWireUnion::decode_as::<
29905 ___D,
29906 crate::wire::ExposeRunner<'static>,
29907 >(raw, decoder, ())?,
29908
29909 5 => ::fidl_next::RawWireUnion::decode_as::<
29910 ___D,
29911 crate::wire::ExposeResolver<'static>,
29912 >(raw, decoder, ())?,
29913
29914 7 => ::fidl_next::RawWireUnion::decode_as::<
29915 ___D,
29916 crate::wire::ExposeDictionary<'static>,
29917 >(raw, decoder, ())?,
29918
29919 8 => ::fidl_next::RawWireUnion::decode_as::<
29920 ___D,
29921 crate::wire::ExposeConfiguration<'static>,
29922 >(raw, decoder, ())?,
29923
29924 _ => ::fidl_next::RawWireUnion::decode_unknown(raw, decoder)?,
29925 }
29926
29927 Ok(())
29928 }
29929 }
29930
29931 impl<'de> ::core::fmt::Debug for Expose<'de> {
29932 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29933 match self.raw.ordinal() {
29934 1 => unsafe {
29935 self.raw.get().deref_unchecked::<crate::wire::ExposeService<'_>>().fmt(f)
29936 },
29937 2 => unsafe {
29938 self.raw.get().deref_unchecked::<crate::wire::ExposeProtocol<'_>>().fmt(f)
29939 },
29940 3 => unsafe {
29941 self.raw.get().deref_unchecked::<crate::wire::ExposeDirectory<'_>>().fmt(f)
29942 },
29943 4 => unsafe {
29944 self.raw.get().deref_unchecked::<crate::wire::ExposeRunner<'_>>().fmt(f)
29945 },
29946 5 => unsafe {
29947 self.raw.get().deref_unchecked::<crate::wire::ExposeResolver<'_>>().fmt(f)
29948 },
29949 7 => unsafe {
29950 self.raw.get().deref_unchecked::<crate::wire::ExposeDictionary<'_>>().fmt(f)
29951 },
29952 8 => unsafe {
29953 self.raw.get().deref_unchecked::<crate::wire::ExposeConfiguration<'_>>().fmt(f)
29954 },
29955 _ => unsafe { ::core::hint::unreachable_unchecked() },
29956 }
29957 }
29958 }
29959
29960 impl<'de> ::fidl_next::IntoNatural for Expose<'de> {
29961 type Natural = crate::natural::Expose;
29962 }
29963
29964 impl ::fidl_next::Unconstrained for Expose<'static> {}
29965
29966 #[repr(C)]
29968 pub struct OfferService<'de> {
29969 pub(crate) table: ::fidl_next::WireTable<'de>,
29970 }
29971
29972 impl<'de> Drop for OfferService<'de> {
29973 fn drop(&mut self) {
29974 let _ = self
29975 .table
29976 .get(1)
29977 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
29978
29979 let _ = self.table.get(2).map(|envelope| unsafe {
29980 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
29981 });
29982
29983 let _ = self
29984 .table
29985 .get(3)
29986 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
29987
29988 let _ = self.table.get(4).map(|envelope| unsafe {
29989 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
29990 });
29991
29992 let _ = self.table.get(5)
29993 .map(|envelope| unsafe {
29994 envelope.read_unchecked::<::fidl_next::WireVector<'de, ::fidl_next::WireString<'de>>>()
29995 });
29996
29997 let _ = self.table.get(6)
29998 .map(|envelope| unsafe {
29999 envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::NameMapping<'de>>>()
30000 });
30001
30002 let _ = self
30003 .table
30004 .get(7)
30005 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Availability>() });
30006
30007 let _ = self.table.get(8).map(|envelope| unsafe {
30008 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
30009 });
30010
30011 let _ = self.table.get(9).map(|envelope| unsafe {
30012 envelope.read_unchecked::<crate::wire::DependencyType>()
30013 });
30014 }
30015 }
30016
30017 unsafe impl ::fidl_next::Wire for OfferService<'static> {
30018 type Owned<'de> = OfferService<'de>;
30019
30020 #[inline]
30021 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
30022 ::fidl_next::munge!(let Self { table } = out);
30023 ::fidl_next::WireTable::zero_padding(table);
30024 }
30025 }
30026
30027 unsafe impl<___D> ::fidl_next::Decode<___D> for OfferService<'static>
30028 where
30029 ___D: ::fidl_next::Decoder + ?Sized,
30030 {
30031 fn decode(
30032 slot: ::fidl_next::Slot<'_, Self>,
30033 decoder: &mut ___D,
30034 _: (),
30035 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
30036 ::fidl_next::munge!(let Self { table } = slot);
30037
30038 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
30039 match ordinal {
30040 0 => unsafe { ::core::hint::unreachable_unchecked() },
30041
30042 1 => {
30043 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
30044 slot.as_mut(),
30045 decoder,
30046 (),
30047 )?;
30048
30049 Ok(())
30050 }
30051
30052 2 => {
30053 ::fidl_next::WireEnvelope::decode_as::<
30054 ___D,
30055 ::fidl_next::WireString<'static>,
30056 >(slot.as_mut(), decoder, 100)?;
30057
30058 let value = unsafe {
30059 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
30060 };
30061
30062 if value.len() > 100 {
30063 return Err(::fidl_next::DecodeError::VectorTooLong {
30064 size: value.len() as u64,
30065 limit: 100,
30066 });
30067 }
30068
30069 Ok(())
30070 }
30071
30072 3 => {
30073 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
30074 slot.as_mut(),
30075 decoder,
30076 (),
30077 )?;
30078
30079 Ok(())
30080 }
30081
30082 4 => {
30083 ::fidl_next::WireEnvelope::decode_as::<
30084 ___D,
30085 ::fidl_next::WireString<'static>,
30086 >(slot.as_mut(), decoder, 100)?;
30087
30088 let value = unsafe {
30089 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
30090 };
30091
30092 if value.len() > 100 {
30093 return Err(::fidl_next::DecodeError::VectorTooLong {
30094 size: value.len() as u64,
30095 limit: 100,
30096 });
30097 }
30098
30099 Ok(())
30100 }
30101
30102 5 => {
30103 ::fidl_next::WireEnvelope::decode_as::<
30104 ___D,
30105 ::fidl_next::WireVector<'static, ::fidl_next::WireString<'static>>,
30106 >(slot.as_mut(), decoder, (4294967295, 100))?;
30107
30108 Ok(())
30109 }
30110
30111 6 => {
30112 ::fidl_next::WireEnvelope::decode_as::<
30113 ___D,
30114 ::fidl_next::WireVector<'static, crate::wire::NameMapping<'static>>,
30115 >(slot.as_mut(), decoder, (4294967295, ()))?;
30116
30117 Ok(())
30118 }
30119
30120 7 => {
30121 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Availability>(
30122 slot.as_mut(),
30123 decoder,
30124 (),
30125 )?;
30126
30127 Ok(())
30128 }
30129
30130 8 => {
30131 ::fidl_next::WireEnvelope::decode_as::<
30132 ___D,
30133 ::fidl_next::WireString<'static>,
30134 >(slot.as_mut(), decoder, 1024)?;
30135
30136 let value = unsafe {
30137 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
30138 };
30139
30140 if value.len() > 1024 {
30141 return Err(::fidl_next::DecodeError::VectorTooLong {
30142 size: value.len() as u64,
30143 limit: 1024,
30144 });
30145 }
30146
30147 Ok(())
30148 }
30149
30150 9 => {
30151 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::DependencyType>(
30152 slot.as_mut(),
30153 decoder,
30154 (),
30155 )?;
30156
30157 Ok(())
30158 }
30159
30160 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
30161 }
30162 })
30163 }
30164 }
30165
30166 impl<'de> OfferService<'de> {
30167 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
30168 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
30169 }
30170
30171 pub fn source_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
30172 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
30173 }
30174
30175 pub fn target(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
30176 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
30177 }
30178
30179 pub fn target_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
30180 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
30181 }
30182
30183 pub fn source_instance_filter(
30184 &self,
30185 ) -> ::core::option::Option<&::fidl_next::WireVector<'de, ::fidl_next::WireString<'de>>>
30186 {
30187 unsafe { Some(self.table.get(5)?.deref_unchecked()) }
30188 }
30189
30190 pub fn renamed_instances(
30191 &self,
30192 ) -> ::core::option::Option<&::fidl_next::WireVector<'de, crate::wire::NameMapping<'de>>>
30193 {
30194 unsafe { Some(self.table.get(6)?.deref_unchecked()) }
30195 }
30196
30197 pub fn availability(&self) -> ::core::option::Option<&crate::wire::Availability> {
30198 unsafe { Some(self.table.get(7)?.deref_unchecked()) }
30199 }
30200
30201 pub fn source_dictionary(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
30202 unsafe { Some(self.table.get(8)?.deref_unchecked()) }
30203 }
30204
30205 pub fn dependency_type(&self) -> ::core::option::Option<&crate::wire::DependencyType> {
30206 unsafe { Some(self.table.get(9)?.deref_unchecked()) }
30207 }
30208 }
30209
30210 impl<'de> ::core::fmt::Debug for OfferService<'de> {
30211 fn fmt(
30212 &self,
30213 f: &mut ::core::fmt::Formatter<'_>,
30214 ) -> ::core::result::Result<(), ::core::fmt::Error> {
30215 f.debug_struct("OfferService")
30216 .field("source", &self.source())
30217 .field("source_name", &self.source_name())
30218 .field("target", &self.target())
30219 .field("target_name", &self.target_name())
30220 .field("source_instance_filter", &self.source_instance_filter())
30221 .field("renamed_instances", &self.renamed_instances())
30222 .field("availability", &self.availability())
30223 .field("source_dictionary", &self.source_dictionary())
30224 .field("dependency_type", &self.dependency_type())
30225 .finish()
30226 }
30227 }
30228
30229 impl<'de> ::fidl_next::IntoNatural for OfferService<'de> {
30230 type Natural = crate::natural::OfferService;
30231 }
30232
30233 impl ::fidl_next::Unconstrained for OfferService<'_> {}
30234
30235 #[repr(C)]
30237 pub struct OfferProtocol<'de> {
30238 pub(crate) table: ::fidl_next::WireTable<'de>,
30239 }
30240
30241 impl<'de> Drop for OfferProtocol<'de> {
30242 fn drop(&mut self) {
30243 let _ = self
30244 .table
30245 .get(1)
30246 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
30247
30248 let _ = self.table.get(2).map(|envelope| unsafe {
30249 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
30250 });
30251
30252 let _ = self
30253 .table
30254 .get(3)
30255 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
30256
30257 let _ = self.table.get(4).map(|envelope| unsafe {
30258 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
30259 });
30260
30261 let _ = self.table.get(5).map(|envelope| unsafe {
30262 envelope.read_unchecked::<crate::wire::DependencyType>()
30263 });
30264
30265 let _ = self
30266 .table
30267 .get(6)
30268 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Availability>() });
30269
30270 let _ = self.table.get(7).map(|envelope| unsafe {
30271 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
30272 });
30273 }
30274 }
30275
30276 unsafe impl ::fidl_next::Wire for OfferProtocol<'static> {
30277 type Owned<'de> = OfferProtocol<'de>;
30278
30279 #[inline]
30280 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
30281 ::fidl_next::munge!(let Self { table } = out);
30282 ::fidl_next::WireTable::zero_padding(table);
30283 }
30284 }
30285
30286 unsafe impl<___D> ::fidl_next::Decode<___D> for OfferProtocol<'static>
30287 where
30288 ___D: ::fidl_next::Decoder + ?Sized,
30289 {
30290 fn decode(
30291 slot: ::fidl_next::Slot<'_, Self>,
30292 decoder: &mut ___D,
30293 _: (),
30294 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
30295 ::fidl_next::munge!(let Self { table } = slot);
30296
30297 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
30298 match ordinal {
30299 0 => unsafe { ::core::hint::unreachable_unchecked() },
30300
30301 1 => {
30302 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
30303 slot.as_mut(),
30304 decoder,
30305 (),
30306 )?;
30307
30308 Ok(())
30309 }
30310
30311 2 => {
30312 ::fidl_next::WireEnvelope::decode_as::<
30313 ___D,
30314 ::fidl_next::WireString<'static>,
30315 >(slot.as_mut(), decoder, 100)?;
30316
30317 let value = unsafe {
30318 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
30319 };
30320
30321 if value.len() > 100 {
30322 return Err(::fidl_next::DecodeError::VectorTooLong {
30323 size: value.len() as u64,
30324 limit: 100,
30325 });
30326 }
30327
30328 Ok(())
30329 }
30330
30331 3 => {
30332 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
30333 slot.as_mut(),
30334 decoder,
30335 (),
30336 )?;
30337
30338 Ok(())
30339 }
30340
30341 4 => {
30342 ::fidl_next::WireEnvelope::decode_as::<
30343 ___D,
30344 ::fidl_next::WireString<'static>,
30345 >(slot.as_mut(), decoder, 100)?;
30346
30347 let value = unsafe {
30348 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
30349 };
30350
30351 if value.len() > 100 {
30352 return Err(::fidl_next::DecodeError::VectorTooLong {
30353 size: value.len() as u64,
30354 limit: 100,
30355 });
30356 }
30357
30358 Ok(())
30359 }
30360
30361 5 => {
30362 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::DependencyType>(
30363 slot.as_mut(),
30364 decoder,
30365 (),
30366 )?;
30367
30368 Ok(())
30369 }
30370
30371 6 => {
30372 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Availability>(
30373 slot.as_mut(),
30374 decoder,
30375 (),
30376 )?;
30377
30378 Ok(())
30379 }
30380
30381 7 => {
30382 ::fidl_next::WireEnvelope::decode_as::<
30383 ___D,
30384 ::fidl_next::WireString<'static>,
30385 >(slot.as_mut(), decoder, 1024)?;
30386
30387 let value = unsafe {
30388 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
30389 };
30390
30391 if value.len() > 1024 {
30392 return Err(::fidl_next::DecodeError::VectorTooLong {
30393 size: value.len() as u64,
30394 limit: 1024,
30395 });
30396 }
30397
30398 Ok(())
30399 }
30400
30401 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
30402 }
30403 })
30404 }
30405 }
30406
30407 impl<'de> OfferProtocol<'de> {
30408 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
30409 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
30410 }
30411
30412 pub fn source_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
30413 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
30414 }
30415
30416 pub fn target(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
30417 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
30418 }
30419
30420 pub fn target_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
30421 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
30422 }
30423
30424 pub fn dependency_type(&self) -> ::core::option::Option<&crate::wire::DependencyType> {
30425 unsafe { Some(self.table.get(5)?.deref_unchecked()) }
30426 }
30427
30428 pub fn availability(&self) -> ::core::option::Option<&crate::wire::Availability> {
30429 unsafe { Some(self.table.get(6)?.deref_unchecked()) }
30430 }
30431
30432 pub fn source_dictionary(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
30433 unsafe { Some(self.table.get(7)?.deref_unchecked()) }
30434 }
30435 }
30436
30437 impl<'de> ::core::fmt::Debug for OfferProtocol<'de> {
30438 fn fmt(
30439 &self,
30440 f: &mut ::core::fmt::Formatter<'_>,
30441 ) -> ::core::result::Result<(), ::core::fmt::Error> {
30442 f.debug_struct("OfferProtocol")
30443 .field("source", &self.source())
30444 .field("source_name", &self.source_name())
30445 .field("target", &self.target())
30446 .field("target_name", &self.target_name())
30447 .field("dependency_type", &self.dependency_type())
30448 .field("availability", &self.availability())
30449 .field("source_dictionary", &self.source_dictionary())
30450 .finish()
30451 }
30452 }
30453
30454 impl<'de> ::fidl_next::IntoNatural for OfferProtocol<'de> {
30455 type Natural = crate::natural::OfferProtocol;
30456 }
30457
30458 impl ::fidl_next::Unconstrained for OfferProtocol<'_> {}
30459
30460 #[repr(C)]
30462 pub struct OfferDirectory<'de> {
30463 pub(crate) table: ::fidl_next::WireTable<'de>,
30464 }
30465
30466 impl<'de> Drop for OfferDirectory<'de> {
30467 fn drop(&mut self) {
30468 let _ = self
30469 .table
30470 .get(1)
30471 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
30472
30473 let _ = self.table.get(2).map(|envelope| unsafe {
30474 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
30475 });
30476
30477 let _ = self
30478 .table
30479 .get(3)
30480 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
30481
30482 let _ = self.table.get(4).map(|envelope| unsafe {
30483 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
30484 });
30485
30486 let _ = self.table.get(5).map(|envelope| unsafe {
30487 envelope.read_unchecked::<::fidl_next_common_fuchsia_io::wire::Operations>()
30488 });
30489
30490 let _ = self.table.get(6).map(|envelope| unsafe {
30491 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
30492 });
30493
30494 let _ = self.table.get(7).map(|envelope| unsafe {
30495 envelope.read_unchecked::<crate::wire::DependencyType>()
30496 });
30497
30498 let _ = self
30499 .table
30500 .get(8)
30501 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Availability>() });
30502
30503 let _ = self.table.get(9).map(|envelope| unsafe {
30504 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
30505 });
30506 }
30507 }
30508
30509 unsafe impl ::fidl_next::Wire for OfferDirectory<'static> {
30510 type Owned<'de> = OfferDirectory<'de>;
30511
30512 #[inline]
30513 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
30514 ::fidl_next::munge!(let Self { table } = out);
30515 ::fidl_next::WireTable::zero_padding(table);
30516 }
30517 }
30518
30519 unsafe impl<___D> ::fidl_next::Decode<___D> for OfferDirectory<'static>
30520 where
30521 ___D: ::fidl_next::Decoder + ?Sized,
30522 {
30523 fn decode(
30524 slot: ::fidl_next::Slot<'_, Self>,
30525 decoder: &mut ___D,
30526 _: (),
30527 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
30528 ::fidl_next::munge!(let Self { table } = slot);
30529
30530 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
30531 match ordinal {
30532 0 => unsafe { ::core::hint::unreachable_unchecked() },
30533
30534 1 => {
30535 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
30536 slot.as_mut(),
30537 decoder,
30538 (),
30539 )?;
30540
30541 Ok(())
30542 }
30543
30544 2 => {
30545 ::fidl_next::WireEnvelope::decode_as::<
30546 ___D,
30547 ::fidl_next::WireString<'static>,
30548 >(slot.as_mut(), decoder, 100)?;
30549
30550 let value = unsafe {
30551 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
30552 };
30553
30554 if value.len() > 100 {
30555 return Err(::fidl_next::DecodeError::VectorTooLong {
30556 size: value.len() as u64,
30557 limit: 100,
30558 });
30559 }
30560
30561 Ok(())
30562 }
30563
30564 3 => {
30565 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
30566 slot.as_mut(),
30567 decoder,
30568 (),
30569 )?;
30570
30571 Ok(())
30572 }
30573
30574 4 => {
30575 ::fidl_next::WireEnvelope::decode_as::<
30576 ___D,
30577 ::fidl_next::WireString<'static>,
30578 >(slot.as_mut(), decoder, 100)?;
30579
30580 let value = unsafe {
30581 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
30582 };
30583
30584 if value.len() > 100 {
30585 return Err(::fidl_next::DecodeError::VectorTooLong {
30586 size: value.len() as u64,
30587 limit: 100,
30588 });
30589 }
30590
30591 Ok(())
30592 }
30593
30594 5 => {
30595 ::fidl_next::WireEnvelope::decode_as::<
30596 ___D,
30597 ::fidl_next_common_fuchsia_io::wire::Operations,
30598 >(slot.as_mut(), decoder, ())?;
30599
30600 Ok(())
30601 }
30602
30603 6 => {
30604 ::fidl_next::WireEnvelope::decode_as::<
30605 ___D,
30606 ::fidl_next::WireString<'static>,
30607 >(slot.as_mut(), decoder, 1024)?;
30608
30609 let value = unsafe {
30610 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
30611 };
30612
30613 if value.len() > 1024 {
30614 return Err(::fidl_next::DecodeError::VectorTooLong {
30615 size: value.len() as u64,
30616 limit: 1024,
30617 });
30618 }
30619
30620 Ok(())
30621 }
30622
30623 7 => {
30624 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::DependencyType>(
30625 slot.as_mut(),
30626 decoder,
30627 (),
30628 )?;
30629
30630 Ok(())
30631 }
30632
30633 8 => {
30634 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Availability>(
30635 slot.as_mut(),
30636 decoder,
30637 (),
30638 )?;
30639
30640 Ok(())
30641 }
30642
30643 9 => {
30644 ::fidl_next::WireEnvelope::decode_as::<
30645 ___D,
30646 ::fidl_next::WireString<'static>,
30647 >(slot.as_mut(), decoder, 1024)?;
30648
30649 let value = unsafe {
30650 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
30651 };
30652
30653 if value.len() > 1024 {
30654 return Err(::fidl_next::DecodeError::VectorTooLong {
30655 size: value.len() as u64,
30656 limit: 1024,
30657 });
30658 }
30659
30660 Ok(())
30661 }
30662
30663 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
30664 }
30665 })
30666 }
30667 }
30668
30669 impl<'de> OfferDirectory<'de> {
30670 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
30671 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
30672 }
30673
30674 pub fn source_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
30675 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
30676 }
30677
30678 pub fn target(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
30679 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
30680 }
30681
30682 pub fn target_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
30683 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
30684 }
30685
30686 pub fn rights(
30687 &self,
30688 ) -> ::core::option::Option<&::fidl_next_common_fuchsia_io::wire::Operations> {
30689 unsafe { Some(self.table.get(5)?.deref_unchecked()) }
30690 }
30691
30692 pub fn subdir(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
30693 unsafe { Some(self.table.get(6)?.deref_unchecked()) }
30694 }
30695
30696 pub fn dependency_type(&self) -> ::core::option::Option<&crate::wire::DependencyType> {
30697 unsafe { Some(self.table.get(7)?.deref_unchecked()) }
30698 }
30699
30700 pub fn availability(&self) -> ::core::option::Option<&crate::wire::Availability> {
30701 unsafe { Some(self.table.get(8)?.deref_unchecked()) }
30702 }
30703
30704 pub fn source_dictionary(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
30705 unsafe { Some(self.table.get(9)?.deref_unchecked()) }
30706 }
30707 }
30708
30709 impl<'de> ::core::fmt::Debug for OfferDirectory<'de> {
30710 fn fmt(
30711 &self,
30712 f: &mut ::core::fmt::Formatter<'_>,
30713 ) -> ::core::result::Result<(), ::core::fmt::Error> {
30714 f.debug_struct("OfferDirectory")
30715 .field("source", &self.source())
30716 .field("source_name", &self.source_name())
30717 .field("target", &self.target())
30718 .field("target_name", &self.target_name())
30719 .field("rights", &self.rights())
30720 .field("subdir", &self.subdir())
30721 .field("dependency_type", &self.dependency_type())
30722 .field("availability", &self.availability())
30723 .field("source_dictionary", &self.source_dictionary())
30724 .finish()
30725 }
30726 }
30727
30728 impl<'de> ::fidl_next::IntoNatural for OfferDirectory<'de> {
30729 type Natural = crate::natural::OfferDirectory;
30730 }
30731
30732 impl ::fidl_next::Unconstrained for OfferDirectory<'_> {}
30733
30734 #[repr(C)]
30736 pub struct OfferStorage<'de> {
30737 pub(crate) table: ::fidl_next::WireTable<'de>,
30738 }
30739
30740 impl<'de> Drop for OfferStorage<'de> {
30741 fn drop(&mut self) {
30742 let _ = self.table.get(1).map(|envelope| unsafe {
30743 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
30744 });
30745
30746 let _ = self
30747 .table
30748 .get(2)
30749 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
30750
30751 let _ = self
30752 .table
30753 .get(3)
30754 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
30755
30756 let _ = self.table.get(4).map(|envelope| unsafe {
30757 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
30758 });
30759
30760 let _ = self
30761 .table
30762 .get(5)
30763 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Availability>() });
30764 }
30765 }
30766
30767 unsafe impl ::fidl_next::Wire for OfferStorage<'static> {
30768 type Owned<'de> = OfferStorage<'de>;
30769
30770 #[inline]
30771 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
30772 ::fidl_next::munge!(let Self { table } = out);
30773 ::fidl_next::WireTable::zero_padding(table);
30774 }
30775 }
30776
30777 unsafe impl<___D> ::fidl_next::Decode<___D> for OfferStorage<'static>
30778 where
30779 ___D: ::fidl_next::Decoder + ?Sized,
30780 {
30781 fn decode(
30782 slot: ::fidl_next::Slot<'_, Self>,
30783 decoder: &mut ___D,
30784 _: (),
30785 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
30786 ::fidl_next::munge!(let Self { table } = slot);
30787
30788 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
30789 match ordinal {
30790 0 => unsafe { ::core::hint::unreachable_unchecked() },
30791
30792 1 => {
30793 ::fidl_next::WireEnvelope::decode_as::<
30794 ___D,
30795 ::fidl_next::WireString<'static>,
30796 >(slot.as_mut(), decoder, 100)?;
30797
30798 let value = unsafe {
30799 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
30800 };
30801
30802 if value.len() > 100 {
30803 return Err(::fidl_next::DecodeError::VectorTooLong {
30804 size: value.len() as u64,
30805 limit: 100,
30806 });
30807 }
30808
30809 Ok(())
30810 }
30811
30812 2 => {
30813 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
30814 slot.as_mut(),
30815 decoder,
30816 (),
30817 )?;
30818
30819 Ok(())
30820 }
30821
30822 3 => {
30823 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
30824 slot.as_mut(),
30825 decoder,
30826 (),
30827 )?;
30828
30829 Ok(())
30830 }
30831
30832 4 => {
30833 ::fidl_next::WireEnvelope::decode_as::<
30834 ___D,
30835 ::fidl_next::WireString<'static>,
30836 >(slot.as_mut(), decoder, 100)?;
30837
30838 let value = unsafe {
30839 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
30840 };
30841
30842 if value.len() > 100 {
30843 return Err(::fidl_next::DecodeError::VectorTooLong {
30844 size: value.len() as u64,
30845 limit: 100,
30846 });
30847 }
30848
30849 Ok(())
30850 }
30851
30852 5 => {
30853 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Availability>(
30854 slot.as_mut(),
30855 decoder,
30856 (),
30857 )?;
30858
30859 Ok(())
30860 }
30861
30862 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
30863 }
30864 })
30865 }
30866 }
30867
30868 impl<'de> OfferStorage<'de> {
30869 pub fn source_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
30870 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
30871 }
30872
30873 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
30874 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
30875 }
30876
30877 pub fn target(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
30878 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
30879 }
30880
30881 pub fn target_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
30882 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
30883 }
30884
30885 pub fn availability(&self) -> ::core::option::Option<&crate::wire::Availability> {
30886 unsafe { Some(self.table.get(5)?.deref_unchecked()) }
30887 }
30888 }
30889
30890 impl<'de> ::core::fmt::Debug for OfferStorage<'de> {
30891 fn fmt(
30892 &self,
30893 f: &mut ::core::fmt::Formatter<'_>,
30894 ) -> ::core::result::Result<(), ::core::fmt::Error> {
30895 f.debug_struct("OfferStorage")
30896 .field("source_name", &self.source_name())
30897 .field("source", &self.source())
30898 .field("target", &self.target())
30899 .field("target_name", &self.target_name())
30900 .field("availability", &self.availability())
30901 .finish()
30902 }
30903 }
30904
30905 impl<'de> ::fidl_next::IntoNatural for OfferStorage<'de> {
30906 type Natural = crate::natural::OfferStorage;
30907 }
30908
30909 impl ::fidl_next::Unconstrained for OfferStorage<'_> {}
30910
30911 #[repr(C)]
30913 pub struct OfferRunner<'de> {
30914 pub(crate) table: ::fidl_next::WireTable<'de>,
30915 }
30916
30917 impl<'de> Drop for OfferRunner<'de> {
30918 fn drop(&mut self) {
30919 let _ = self
30920 .table
30921 .get(1)
30922 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
30923
30924 let _ = self.table.get(2).map(|envelope| unsafe {
30925 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
30926 });
30927
30928 let _ = self
30929 .table
30930 .get(3)
30931 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
30932
30933 let _ = self.table.get(4).map(|envelope| unsafe {
30934 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
30935 });
30936
30937 let _ = self.table.get(5).map(|envelope| unsafe {
30938 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
30939 });
30940 }
30941 }
30942
30943 unsafe impl ::fidl_next::Wire for OfferRunner<'static> {
30944 type Owned<'de> = OfferRunner<'de>;
30945
30946 #[inline]
30947 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
30948 ::fidl_next::munge!(let Self { table } = out);
30949 ::fidl_next::WireTable::zero_padding(table);
30950 }
30951 }
30952
30953 unsafe impl<___D> ::fidl_next::Decode<___D> for OfferRunner<'static>
30954 where
30955 ___D: ::fidl_next::Decoder + ?Sized,
30956 {
30957 fn decode(
30958 slot: ::fidl_next::Slot<'_, Self>,
30959 decoder: &mut ___D,
30960 _: (),
30961 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
30962 ::fidl_next::munge!(let Self { table } = slot);
30963
30964 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
30965 match ordinal {
30966 0 => unsafe { ::core::hint::unreachable_unchecked() },
30967
30968 1 => {
30969 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
30970 slot.as_mut(),
30971 decoder,
30972 (),
30973 )?;
30974
30975 Ok(())
30976 }
30977
30978 2 => {
30979 ::fidl_next::WireEnvelope::decode_as::<
30980 ___D,
30981 ::fidl_next::WireString<'static>,
30982 >(slot.as_mut(), decoder, 100)?;
30983
30984 let value = unsafe {
30985 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
30986 };
30987
30988 if value.len() > 100 {
30989 return Err(::fidl_next::DecodeError::VectorTooLong {
30990 size: value.len() as u64,
30991 limit: 100,
30992 });
30993 }
30994
30995 Ok(())
30996 }
30997
30998 3 => {
30999 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
31000 slot.as_mut(),
31001 decoder,
31002 (),
31003 )?;
31004
31005 Ok(())
31006 }
31007
31008 4 => {
31009 ::fidl_next::WireEnvelope::decode_as::<
31010 ___D,
31011 ::fidl_next::WireString<'static>,
31012 >(slot.as_mut(), decoder, 100)?;
31013
31014 let value = unsafe {
31015 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
31016 };
31017
31018 if value.len() > 100 {
31019 return Err(::fidl_next::DecodeError::VectorTooLong {
31020 size: value.len() as u64,
31021 limit: 100,
31022 });
31023 }
31024
31025 Ok(())
31026 }
31027
31028 5 => {
31029 ::fidl_next::WireEnvelope::decode_as::<
31030 ___D,
31031 ::fidl_next::WireString<'static>,
31032 >(slot.as_mut(), decoder, 1024)?;
31033
31034 let value = unsafe {
31035 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
31036 };
31037
31038 if value.len() > 1024 {
31039 return Err(::fidl_next::DecodeError::VectorTooLong {
31040 size: value.len() as u64,
31041 limit: 1024,
31042 });
31043 }
31044
31045 Ok(())
31046 }
31047
31048 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
31049 }
31050 })
31051 }
31052 }
31053
31054 impl<'de> OfferRunner<'de> {
31055 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
31056 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
31057 }
31058
31059 pub fn source_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
31060 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
31061 }
31062
31063 pub fn target(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
31064 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
31065 }
31066
31067 pub fn target_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
31068 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
31069 }
31070
31071 pub fn source_dictionary(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
31072 unsafe { Some(self.table.get(5)?.deref_unchecked()) }
31073 }
31074 }
31075
31076 impl<'de> ::core::fmt::Debug for OfferRunner<'de> {
31077 fn fmt(
31078 &self,
31079 f: &mut ::core::fmt::Formatter<'_>,
31080 ) -> ::core::result::Result<(), ::core::fmt::Error> {
31081 f.debug_struct("OfferRunner")
31082 .field("source", &self.source())
31083 .field("source_name", &self.source_name())
31084 .field("target", &self.target())
31085 .field("target_name", &self.target_name())
31086 .field("source_dictionary", &self.source_dictionary())
31087 .finish()
31088 }
31089 }
31090
31091 impl<'de> ::fidl_next::IntoNatural for OfferRunner<'de> {
31092 type Natural = crate::natural::OfferRunner;
31093 }
31094
31095 impl ::fidl_next::Unconstrained for OfferRunner<'_> {}
31096
31097 #[repr(C)]
31099 pub struct OfferResolver<'de> {
31100 pub(crate) table: ::fidl_next::WireTable<'de>,
31101 }
31102
31103 impl<'de> Drop for OfferResolver<'de> {
31104 fn drop(&mut self) {
31105 let _ = self
31106 .table
31107 .get(1)
31108 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
31109
31110 let _ = self.table.get(2).map(|envelope| unsafe {
31111 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
31112 });
31113
31114 let _ = self
31115 .table
31116 .get(3)
31117 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
31118
31119 let _ = self.table.get(4).map(|envelope| unsafe {
31120 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
31121 });
31122
31123 let _ = self.table.get(5).map(|envelope| unsafe {
31124 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
31125 });
31126 }
31127 }
31128
31129 unsafe impl ::fidl_next::Wire for OfferResolver<'static> {
31130 type Owned<'de> = OfferResolver<'de>;
31131
31132 #[inline]
31133 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
31134 ::fidl_next::munge!(let Self { table } = out);
31135 ::fidl_next::WireTable::zero_padding(table);
31136 }
31137 }
31138
31139 unsafe impl<___D> ::fidl_next::Decode<___D> for OfferResolver<'static>
31140 where
31141 ___D: ::fidl_next::Decoder + ?Sized,
31142 {
31143 fn decode(
31144 slot: ::fidl_next::Slot<'_, Self>,
31145 decoder: &mut ___D,
31146 _: (),
31147 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
31148 ::fidl_next::munge!(let Self { table } = slot);
31149
31150 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
31151 match ordinal {
31152 0 => unsafe { ::core::hint::unreachable_unchecked() },
31153
31154 1 => {
31155 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
31156 slot.as_mut(),
31157 decoder,
31158 (),
31159 )?;
31160
31161 Ok(())
31162 }
31163
31164 2 => {
31165 ::fidl_next::WireEnvelope::decode_as::<
31166 ___D,
31167 ::fidl_next::WireString<'static>,
31168 >(slot.as_mut(), decoder, 100)?;
31169
31170 let value = unsafe {
31171 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
31172 };
31173
31174 if value.len() > 100 {
31175 return Err(::fidl_next::DecodeError::VectorTooLong {
31176 size: value.len() as u64,
31177 limit: 100,
31178 });
31179 }
31180
31181 Ok(())
31182 }
31183
31184 3 => {
31185 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
31186 slot.as_mut(),
31187 decoder,
31188 (),
31189 )?;
31190
31191 Ok(())
31192 }
31193
31194 4 => {
31195 ::fidl_next::WireEnvelope::decode_as::<
31196 ___D,
31197 ::fidl_next::WireString<'static>,
31198 >(slot.as_mut(), decoder, 100)?;
31199
31200 let value = unsafe {
31201 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
31202 };
31203
31204 if value.len() > 100 {
31205 return Err(::fidl_next::DecodeError::VectorTooLong {
31206 size: value.len() as u64,
31207 limit: 100,
31208 });
31209 }
31210
31211 Ok(())
31212 }
31213
31214 5 => {
31215 ::fidl_next::WireEnvelope::decode_as::<
31216 ___D,
31217 ::fidl_next::WireString<'static>,
31218 >(slot.as_mut(), decoder, 1024)?;
31219
31220 let value = unsafe {
31221 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
31222 };
31223
31224 if value.len() > 1024 {
31225 return Err(::fidl_next::DecodeError::VectorTooLong {
31226 size: value.len() as u64,
31227 limit: 1024,
31228 });
31229 }
31230
31231 Ok(())
31232 }
31233
31234 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
31235 }
31236 })
31237 }
31238 }
31239
31240 impl<'de> OfferResolver<'de> {
31241 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
31242 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
31243 }
31244
31245 pub fn source_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
31246 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
31247 }
31248
31249 pub fn target(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
31250 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
31251 }
31252
31253 pub fn target_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
31254 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
31255 }
31256
31257 pub fn source_dictionary(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
31258 unsafe { Some(self.table.get(5)?.deref_unchecked()) }
31259 }
31260 }
31261
31262 impl<'de> ::core::fmt::Debug for OfferResolver<'de> {
31263 fn fmt(
31264 &self,
31265 f: &mut ::core::fmt::Formatter<'_>,
31266 ) -> ::core::result::Result<(), ::core::fmt::Error> {
31267 f.debug_struct("OfferResolver")
31268 .field("source", &self.source())
31269 .field("source_name", &self.source_name())
31270 .field("target", &self.target())
31271 .field("target_name", &self.target_name())
31272 .field("source_dictionary", &self.source_dictionary())
31273 .finish()
31274 }
31275 }
31276
31277 impl<'de> ::fidl_next::IntoNatural for OfferResolver<'de> {
31278 type Natural = crate::natural::OfferResolver;
31279 }
31280
31281 impl ::fidl_next::Unconstrained for OfferResolver<'_> {}
31282
31283 #[repr(C)]
31285 pub struct OfferEventStream<'de> {
31286 pub(crate) table: ::fidl_next::WireTable<'de>,
31287 }
31288
31289 impl<'de> Drop for OfferEventStream<'de> {
31290 fn drop(&mut self) {
31291 let _ = self
31292 .table
31293 .get(1)
31294 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
31295
31296 let _ = self.table.get(2).map(|envelope| unsafe {
31297 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
31298 });
31299
31300 let _ = self.table.get(3).map(|envelope| unsafe {
31301 envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::Ref<'de>>>()
31302 });
31303
31304 let _ = self
31305 .table
31306 .get(4)
31307 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
31308
31309 let _ = self.table.get(5).map(|envelope| unsafe {
31310 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
31311 });
31312
31313 let _ = self
31314 .table
31315 .get(7)
31316 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Availability>() });
31317 }
31318 }
31319
31320 unsafe impl ::fidl_next::Wire for OfferEventStream<'static> {
31321 type Owned<'de> = OfferEventStream<'de>;
31322
31323 #[inline]
31324 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
31325 ::fidl_next::munge!(let Self { table } = out);
31326 ::fidl_next::WireTable::zero_padding(table);
31327 }
31328 }
31329
31330 unsafe impl<___D> ::fidl_next::Decode<___D> for OfferEventStream<'static>
31331 where
31332 ___D: ::fidl_next::Decoder + ?Sized,
31333 {
31334 fn decode(
31335 slot: ::fidl_next::Slot<'_, Self>,
31336 decoder: &mut ___D,
31337 _: (),
31338 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
31339 ::fidl_next::munge!(let Self { table } = slot);
31340
31341 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
31342 match ordinal {
31343 0 => unsafe { ::core::hint::unreachable_unchecked() },
31344
31345 1 => {
31346 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
31347 slot.as_mut(),
31348 decoder,
31349 (),
31350 )?;
31351
31352 Ok(())
31353 }
31354
31355 2 => {
31356 ::fidl_next::WireEnvelope::decode_as::<
31357 ___D,
31358 ::fidl_next::WireString<'static>,
31359 >(slot.as_mut(), decoder, 100)?;
31360
31361 let value = unsafe {
31362 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
31363 };
31364
31365 if value.len() > 100 {
31366 return Err(::fidl_next::DecodeError::VectorTooLong {
31367 size: value.len() as u64,
31368 limit: 100,
31369 });
31370 }
31371
31372 Ok(())
31373 }
31374
31375 3 => {
31376 ::fidl_next::WireEnvelope::decode_as::<
31377 ___D,
31378 ::fidl_next::WireVector<'static, crate::wire::Ref<'static>>,
31379 >(slot.as_mut(), decoder, (4294967295, ()))?;
31380
31381 Ok(())
31382 }
31383
31384 4 => {
31385 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
31386 slot.as_mut(),
31387 decoder,
31388 (),
31389 )?;
31390
31391 Ok(())
31392 }
31393
31394 5 => {
31395 ::fidl_next::WireEnvelope::decode_as::<
31396 ___D,
31397 ::fidl_next::WireString<'static>,
31398 >(slot.as_mut(), decoder, 100)?;
31399
31400 let value = unsafe {
31401 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
31402 };
31403
31404 if value.len() > 100 {
31405 return Err(::fidl_next::DecodeError::VectorTooLong {
31406 size: value.len() as u64,
31407 limit: 100,
31408 });
31409 }
31410
31411 Ok(())
31412 }
31413
31414 7 => {
31415 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Availability>(
31416 slot.as_mut(),
31417 decoder,
31418 (),
31419 )?;
31420
31421 Ok(())
31422 }
31423
31424 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
31425 }
31426 })
31427 }
31428 }
31429
31430 impl<'de> OfferEventStream<'de> {
31431 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
31432 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
31433 }
31434
31435 pub fn source_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
31436 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
31437 }
31438
31439 pub fn scope(
31440 &self,
31441 ) -> ::core::option::Option<&::fidl_next::WireVector<'de, crate::wire::Ref<'de>>> {
31442 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
31443 }
31444
31445 pub fn target(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
31446 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
31447 }
31448
31449 pub fn target_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
31450 unsafe { Some(self.table.get(5)?.deref_unchecked()) }
31451 }
31452
31453 pub fn availability(&self) -> ::core::option::Option<&crate::wire::Availability> {
31454 unsafe { Some(self.table.get(7)?.deref_unchecked()) }
31455 }
31456 }
31457
31458 impl<'de> ::core::fmt::Debug for OfferEventStream<'de> {
31459 fn fmt(
31460 &self,
31461 f: &mut ::core::fmt::Formatter<'_>,
31462 ) -> ::core::result::Result<(), ::core::fmt::Error> {
31463 f.debug_struct("OfferEventStream")
31464 .field("source", &self.source())
31465 .field("source_name", &self.source_name())
31466 .field("scope", &self.scope())
31467 .field("target", &self.target())
31468 .field("target_name", &self.target_name())
31469 .field("availability", &self.availability())
31470 .finish()
31471 }
31472 }
31473
31474 impl<'de> ::fidl_next::IntoNatural for OfferEventStream<'de> {
31475 type Natural = crate::natural::OfferEventStream;
31476 }
31477
31478 impl ::fidl_next::Unconstrained for OfferEventStream<'_> {}
31479
31480 #[repr(C)]
31482 pub struct OfferDictionary<'de> {
31483 pub(crate) table: ::fidl_next::WireTable<'de>,
31484 }
31485
31486 impl<'de> Drop for OfferDictionary<'de> {
31487 fn drop(&mut self) {
31488 let _ = self
31489 .table
31490 .get(1)
31491 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
31492
31493 let _ = self.table.get(2).map(|envelope| unsafe {
31494 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
31495 });
31496
31497 let _ = self
31498 .table
31499 .get(3)
31500 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
31501
31502 let _ = self.table.get(4).map(|envelope| unsafe {
31503 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
31504 });
31505
31506 let _ = self.table.get(5).map(|envelope| unsafe {
31507 envelope.read_unchecked::<crate::wire::DependencyType>()
31508 });
31509
31510 let _ = self
31511 .table
31512 .get(6)
31513 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Availability>() });
31514
31515 let _ = self.table.get(7).map(|envelope| unsafe {
31516 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
31517 });
31518 }
31519 }
31520
31521 unsafe impl ::fidl_next::Wire for OfferDictionary<'static> {
31522 type Owned<'de> = OfferDictionary<'de>;
31523
31524 #[inline]
31525 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
31526 ::fidl_next::munge!(let Self { table } = out);
31527 ::fidl_next::WireTable::zero_padding(table);
31528 }
31529 }
31530
31531 unsafe impl<___D> ::fidl_next::Decode<___D> for OfferDictionary<'static>
31532 where
31533 ___D: ::fidl_next::Decoder + ?Sized,
31534 {
31535 fn decode(
31536 slot: ::fidl_next::Slot<'_, Self>,
31537 decoder: &mut ___D,
31538 _: (),
31539 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
31540 ::fidl_next::munge!(let Self { table } = slot);
31541
31542 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
31543 match ordinal {
31544 0 => unsafe { ::core::hint::unreachable_unchecked() },
31545
31546 1 => {
31547 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
31548 slot.as_mut(),
31549 decoder,
31550 (),
31551 )?;
31552
31553 Ok(())
31554 }
31555
31556 2 => {
31557 ::fidl_next::WireEnvelope::decode_as::<
31558 ___D,
31559 ::fidl_next::WireString<'static>,
31560 >(slot.as_mut(), decoder, 100)?;
31561
31562 let value = unsafe {
31563 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
31564 };
31565
31566 if value.len() > 100 {
31567 return Err(::fidl_next::DecodeError::VectorTooLong {
31568 size: value.len() as u64,
31569 limit: 100,
31570 });
31571 }
31572
31573 Ok(())
31574 }
31575
31576 3 => {
31577 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
31578 slot.as_mut(),
31579 decoder,
31580 (),
31581 )?;
31582
31583 Ok(())
31584 }
31585
31586 4 => {
31587 ::fidl_next::WireEnvelope::decode_as::<
31588 ___D,
31589 ::fidl_next::WireString<'static>,
31590 >(slot.as_mut(), decoder, 100)?;
31591
31592 let value = unsafe {
31593 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
31594 };
31595
31596 if value.len() > 100 {
31597 return Err(::fidl_next::DecodeError::VectorTooLong {
31598 size: value.len() as u64,
31599 limit: 100,
31600 });
31601 }
31602
31603 Ok(())
31604 }
31605
31606 5 => {
31607 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::DependencyType>(
31608 slot.as_mut(),
31609 decoder,
31610 (),
31611 )?;
31612
31613 Ok(())
31614 }
31615
31616 6 => {
31617 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Availability>(
31618 slot.as_mut(),
31619 decoder,
31620 (),
31621 )?;
31622
31623 Ok(())
31624 }
31625
31626 7 => {
31627 ::fidl_next::WireEnvelope::decode_as::<
31628 ___D,
31629 ::fidl_next::WireString<'static>,
31630 >(slot.as_mut(), decoder, 1024)?;
31631
31632 let value = unsafe {
31633 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
31634 };
31635
31636 if value.len() > 1024 {
31637 return Err(::fidl_next::DecodeError::VectorTooLong {
31638 size: value.len() as u64,
31639 limit: 1024,
31640 });
31641 }
31642
31643 Ok(())
31644 }
31645
31646 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
31647 }
31648 })
31649 }
31650 }
31651
31652 impl<'de> OfferDictionary<'de> {
31653 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
31654 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
31655 }
31656
31657 pub fn source_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
31658 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
31659 }
31660
31661 pub fn target(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
31662 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
31663 }
31664
31665 pub fn target_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
31666 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
31667 }
31668
31669 pub fn dependency_type(&self) -> ::core::option::Option<&crate::wire::DependencyType> {
31670 unsafe { Some(self.table.get(5)?.deref_unchecked()) }
31671 }
31672
31673 pub fn availability(&self) -> ::core::option::Option<&crate::wire::Availability> {
31674 unsafe { Some(self.table.get(6)?.deref_unchecked()) }
31675 }
31676
31677 pub fn source_dictionary(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
31678 unsafe { Some(self.table.get(7)?.deref_unchecked()) }
31679 }
31680 }
31681
31682 impl<'de> ::core::fmt::Debug for OfferDictionary<'de> {
31683 fn fmt(
31684 &self,
31685 f: &mut ::core::fmt::Formatter<'_>,
31686 ) -> ::core::result::Result<(), ::core::fmt::Error> {
31687 f.debug_struct("OfferDictionary")
31688 .field("source", &self.source())
31689 .field("source_name", &self.source_name())
31690 .field("target", &self.target())
31691 .field("target_name", &self.target_name())
31692 .field("dependency_type", &self.dependency_type())
31693 .field("availability", &self.availability())
31694 .field("source_dictionary", &self.source_dictionary())
31695 .finish()
31696 }
31697 }
31698
31699 impl<'de> ::fidl_next::IntoNatural for OfferDictionary<'de> {
31700 type Natural = crate::natural::OfferDictionary;
31701 }
31702
31703 impl ::fidl_next::Unconstrained for OfferDictionary<'_> {}
31704
31705 #[repr(C)]
31707 pub struct OfferConfiguration<'de> {
31708 pub(crate) table: ::fidl_next::WireTable<'de>,
31709 }
31710
31711 impl<'de> Drop for OfferConfiguration<'de> {
31712 fn drop(&mut self) {
31713 let _ = self
31714 .table
31715 .get(1)
31716 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
31717
31718 let _ = self.table.get(2).map(|envelope| unsafe {
31719 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
31720 });
31721
31722 let _ = self
31723 .table
31724 .get(3)
31725 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
31726
31727 let _ = self.table.get(4).map(|envelope| unsafe {
31728 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
31729 });
31730
31731 let _ = self
31732 .table
31733 .get(5)
31734 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Availability>() });
31735
31736 let _ = self.table.get(6).map(|envelope| unsafe {
31737 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
31738 });
31739 }
31740 }
31741
31742 unsafe impl ::fidl_next::Wire for OfferConfiguration<'static> {
31743 type Owned<'de> = OfferConfiguration<'de>;
31744
31745 #[inline]
31746 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
31747 ::fidl_next::munge!(let Self { table } = out);
31748 ::fidl_next::WireTable::zero_padding(table);
31749 }
31750 }
31751
31752 unsafe impl<___D> ::fidl_next::Decode<___D> for OfferConfiguration<'static>
31753 where
31754 ___D: ::fidl_next::Decoder + ?Sized,
31755 {
31756 fn decode(
31757 slot: ::fidl_next::Slot<'_, Self>,
31758 decoder: &mut ___D,
31759 _: (),
31760 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
31761 ::fidl_next::munge!(let Self { table } = slot);
31762
31763 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
31764 match ordinal {
31765 0 => unsafe { ::core::hint::unreachable_unchecked() },
31766
31767 1 => {
31768 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
31769 slot.as_mut(),
31770 decoder,
31771 (),
31772 )?;
31773
31774 Ok(())
31775 }
31776
31777 2 => {
31778 ::fidl_next::WireEnvelope::decode_as::<
31779 ___D,
31780 ::fidl_next::WireString<'static>,
31781 >(slot.as_mut(), decoder, 100)?;
31782
31783 let value = unsafe {
31784 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
31785 };
31786
31787 if value.len() > 100 {
31788 return Err(::fidl_next::DecodeError::VectorTooLong {
31789 size: value.len() as u64,
31790 limit: 100,
31791 });
31792 }
31793
31794 Ok(())
31795 }
31796
31797 3 => {
31798 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
31799 slot.as_mut(),
31800 decoder,
31801 (),
31802 )?;
31803
31804 Ok(())
31805 }
31806
31807 4 => {
31808 ::fidl_next::WireEnvelope::decode_as::<
31809 ___D,
31810 ::fidl_next::WireString<'static>,
31811 >(slot.as_mut(), decoder, 100)?;
31812
31813 let value = unsafe {
31814 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
31815 };
31816
31817 if value.len() > 100 {
31818 return Err(::fidl_next::DecodeError::VectorTooLong {
31819 size: value.len() as u64,
31820 limit: 100,
31821 });
31822 }
31823
31824 Ok(())
31825 }
31826
31827 5 => {
31828 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Availability>(
31829 slot.as_mut(),
31830 decoder,
31831 (),
31832 )?;
31833
31834 Ok(())
31835 }
31836
31837 6 => {
31838 ::fidl_next::WireEnvelope::decode_as::<
31839 ___D,
31840 ::fidl_next::WireString<'static>,
31841 >(slot.as_mut(), decoder, 1024)?;
31842
31843 let value = unsafe {
31844 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
31845 };
31846
31847 if value.len() > 1024 {
31848 return Err(::fidl_next::DecodeError::VectorTooLong {
31849 size: value.len() as u64,
31850 limit: 1024,
31851 });
31852 }
31853
31854 Ok(())
31855 }
31856
31857 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
31858 }
31859 })
31860 }
31861 }
31862
31863 impl<'de> OfferConfiguration<'de> {
31864 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
31865 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
31866 }
31867
31868 pub fn source_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
31869 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
31870 }
31871
31872 pub fn target(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
31873 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
31874 }
31875
31876 pub fn target_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
31877 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
31878 }
31879
31880 pub fn availability(&self) -> ::core::option::Option<&crate::wire::Availability> {
31881 unsafe { Some(self.table.get(5)?.deref_unchecked()) }
31882 }
31883
31884 pub fn source_dictionary(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
31885 unsafe { Some(self.table.get(6)?.deref_unchecked()) }
31886 }
31887 }
31888
31889 impl<'de> ::core::fmt::Debug for OfferConfiguration<'de> {
31890 fn fmt(
31891 &self,
31892 f: &mut ::core::fmt::Formatter<'_>,
31893 ) -> ::core::result::Result<(), ::core::fmt::Error> {
31894 f.debug_struct("OfferConfiguration")
31895 .field("source", &self.source())
31896 .field("source_name", &self.source_name())
31897 .field("target", &self.target())
31898 .field("target_name", &self.target_name())
31899 .field("availability", &self.availability())
31900 .field("source_dictionary", &self.source_dictionary())
31901 .finish()
31902 }
31903 }
31904
31905 impl<'de> ::fidl_next::IntoNatural for OfferConfiguration<'de> {
31906 type Natural = crate::natural::OfferConfiguration;
31907 }
31908
31909 impl ::fidl_next::Unconstrained for OfferConfiguration<'_> {}
31910
31911 #[repr(transparent)]
31913 pub struct Offer<'de> {
31914 pub(crate) raw: ::fidl_next::RawWireUnion,
31915 pub(crate) _phantom: ::core::marker::PhantomData<&'de mut [::fidl_next::Chunk]>,
31916 }
31917
31918 impl<'de> Drop for Offer<'de> {
31919 fn drop(&mut self) {
31920 match self.raw.ordinal() {
31921 1 => {
31922 let _ = unsafe {
31923 self.raw.get().read_unchecked::<crate::wire::OfferService<'de>>()
31924 };
31925 }
31926
31927 2 => {
31928 let _ = unsafe {
31929 self.raw.get().read_unchecked::<crate::wire::OfferProtocol<'de>>()
31930 };
31931 }
31932
31933 3 => {
31934 let _ = unsafe {
31935 self.raw.get().read_unchecked::<crate::wire::OfferDirectory<'de>>()
31936 };
31937 }
31938
31939 4 => {
31940 let _ = unsafe {
31941 self.raw.get().read_unchecked::<crate::wire::OfferStorage<'de>>()
31942 };
31943 }
31944
31945 5 => {
31946 let _ =
31947 unsafe { self.raw.get().read_unchecked::<crate::wire::OfferRunner<'de>>() };
31948 }
31949
31950 6 => {
31951 let _ = unsafe {
31952 self.raw.get().read_unchecked::<crate::wire::OfferResolver<'de>>()
31953 };
31954 }
31955
31956 8 => {
31957 let _ = unsafe {
31958 self.raw.get().read_unchecked::<crate::wire::OfferEventStream<'de>>()
31959 };
31960 }
31961
31962 9 => {
31963 let _ = unsafe {
31964 self.raw.get().read_unchecked::<crate::wire::OfferDictionary<'de>>()
31965 };
31966 }
31967
31968 10 => {
31969 let _ = unsafe {
31970 self.raw.get().read_unchecked::<crate::wire::OfferConfiguration<'de>>()
31971 };
31972 }
31973
31974 _ => (),
31975 }
31976 }
31977 }
31978
31979 unsafe impl ::fidl_next::Wire for Offer<'static> {
31980 type Owned<'de> = Offer<'de>;
31981
31982 #[inline]
31983 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
31984 ::fidl_next::munge!(let Self { raw, _phantom: _ } = out);
31985 ::fidl_next::RawWireUnion::zero_padding(raw);
31986 }
31987 }
31988
31989 pub mod offer {
31990 pub enum Ref<'de> {
31991 Service(&'de crate::wire::OfferService<'de>),
31992
31993 Protocol(&'de crate::wire::OfferProtocol<'de>),
31994
31995 Directory(&'de crate::wire::OfferDirectory<'de>),
31996
31997 Storage(&'de crate::wire::OfferStorage<'de>),
31998
31999 Runner(&'de crate::wire::OfferRunner<'de>),
32000
32001 Resolver(&'de crate::wire::OfferResolver<'de>),
32002
32003 EventStream(&'de crate::wire::OfferEventStream<'de>),
32004
32005 Dictionary(&'de crate::wire::OfferDictionary<'de>),
32006
32007 Config(&'de crate::wire::OfferConfiguration<'de>),
32008
32009 UnknownOrdinal_(u64),
32010 }
32011 }
32012
32013 impl<'de> Offer<'de> {
32014 pub fn as_ref(&self) -> crate::wire::offer::Ref<'_> {
32015 match self.raw.ordinal() {
32016 1 => crate::wire::offer::Ref::Service(unsafe {
32017 self.raw.get().deref_unchecked::<crate::wire::OfferService<'_>>()
32018 }),
32019
32020 2 => crate::wire::offer::Ref::Protocol(unsafe {
32021 self.raw.get().deref_unchecked::<crate::wire::OfferProtocol<'_>>()
32022 }),
32023
32024 3 => crate::wire::offer::Ref::Directory(unsafe {
32025 self.raw.get().deref_unchecked::<crate::wire::OfferDirectory<'_>>()
32026 }),
32027
32028 4 => crate::wire::offer::Ref::Storage(unsafe {
32029 self.raw.get().deref_unchecked::<crate::wire::OfferStorage<'_>>()
32030 }),
32031
32032 5 => crate::wire::offer::Ref::Runner(unsafe {
32033 self.raw.get().deref_unchecked::<crate::wire::OfferRunner<'_>>()
32034 }),
32035
32036 6 => crate::wire::offer::Ref::Resolver(unsafe {
32037 self.raw.get().deref_unchecked::<crate::wire::OfferResolver<'_>>()
32038 }),
32039
32040 8 => crate::wire::offer::Ref::EventStream(unsafe {
32041 self.raw.get().deref_unchecked::<crate::wire::OfferEventStream<'_>>()
32042 }),
32043
32044 9 => crate::wire::offer::Ref::Dictionary(unsafe {
32045 self.raw.get().deref_unchecked::<crate::wire::OfferDictionary<'_>>()
32046 }),
32047
32048 10 => crate::wire::offer::Ref::Config(unsafe {
32049 self.raw.get().deref_unchecked::<crate::wire::OfferConfiguration<'_>>()
32050 }),
32051
32052 unknown => crate::wire::offer::Ref::UnknownOrdinal_(unknown),
32053 }
32054 }
32055 }
32056
32057 unsafe impl<___D> ::fidl_next::Decode<___D> for Offer<'static>
32058 where
32059 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
32060 ___D: ::fidl_next::Decoder,
32061 {
32062 fn decode(
32063 mut slot: ::fidl_next::Slot<'_, Self>,
32064 decoder: &mut ___D,
32065 _: (),
32066 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
32067 ::fidl_next::munge!(let Self { mut raw, _phantom: _ } = slot.as_mut());
32068 match ::fidl_next::RawWireUnion::encoded_ordinal(raw.as_mut()) {
32069 1 => ::fidl_next::RawWireUnion::decode_as::<
32070 ___D,
32071 crate::wire::OfferService<'static>,
32072 >(raw, decoder, ())?,
32073
32074 2 => ::fidl_next::RawWireUnion::decode_as::<
32075 ___D,
32076 crate::wire::OfferProtocol<'static>,
32077 >(raw, decoder, ())?,
32078
32079 3 => ::fidl_next::RawWireUnion::decode_as::<
32080 ___D,
32081 crate::wire::OfferDirectory<'static>,
32082 >(raw, decoder, ())?,
32083
32084 4 => ::fidl_next::RawWireUnion::decode_as::<
32085 ___D,
32086 crate::wire::OfferStorage<'static>,
32087 >(raw, decoder, ())?,
32088
32089 5 => {
32090 ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::OfferRunner<'static>>(
32091 raw,
32092 decoder,
32093 (),
32094 )?
32095 }
32096
32097 6 => ::fidl_next::RawWireUnion::decode_as::<
32098 ___D,
32099 crate::wire::OfferResolver<'static>,
32100 >(raw, decoder, ())?,
32101
32102 8 => ::fidl_next::RawWireUnion::decode_as::<
32103 ___D,
32104 crate::wire::OfferEventStream<'static>,
32105 >(raw, decoder, ())?,
32106
32107 9 => ::fidl_next::RawWireUnion::decode_as::<
32108 ___D,
32109 crate::wire::OfferDictionary<'static>,
32110 >(raw, decoder, ())?,
32111
32112 10 => ::fidl_next::RawWireUnion::decode_as::<
32113 ___D,
32114 crate::wire::OfferConfiguration<'static>,
32115 >(raw, decoder, ())?,
32116
32117 _ => ::fidl_next::RawWireUnion::decode_unknown(raw, decoder)?,
32118 }
32119
32120 Ok(())
32121 }
32122 }
32123
32124 impl<'de> ::core::fmt::Debug for Offer<'de> {
32125 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
32126 match self.raw.ordinal() {
32127 1 => unsafe {
32128 self.raw.get().deref_unchecked::<crate::wire::OfferService<'_>>().fmt(f)
32129 },
32130 2 => unsafe {
32131 self.raw.get().deref_unchecked::<crate::wire::OfferProtocol<'_>>().fmt(f)
32132 },
32133 3 => unsafe {
32134 self.raw.get().deref_unchecked::<crate::wire::OfferDirectory<'_>>().fmt(f)
32135 },
32136 4 => unsafe {
32137 self.raw.get().deref_unchecked::<crate::wire::OfferStorage<'_>>().fmt(f)
32138 },
32139 5 => unsafe {
32140 self.raw.get().deref_unchecked::<crate::wire::OfferRunner<'_>>().fmt(f)
32141 },
32142 6 => unsafe {
32143 self.raw.get().deref_unchecked::<crate::wire::OfferResolver<'_>>().fmt(f)
32144 },
32145 8 => unsafe {
32146 self.raw.get().deref_unchecked::<crate::wire::OfferEventStream<'_>>().fmt(f)
32147 },
32148 9 => unsafe {
32149 self.raw.get().deref_unchecked::<crate::wire::OfferDictionary<'_>>().fmt(f)
32150 },
32151 10 => unsafe {
32152 self.raw.get().deref_unchecked::<crate::wire::OfferConfiguration<'_>>().fmt(f)
32153 },
32154 _ => unsafe { ::core::hint::unreachable_unchecked() },
32155 }
32156 }
32157 }
32158
32159 impl<'de> ::fidl_next::IntoNatural for Offer<'de> {
32160 type Natural = crate::natural::Offer;
32161 }
32162
32163 impl ::fidl_next::Unconstrained for Offer<'static> {}
32164
32165 #[repr(C)]
32167 pub struct RunnerRegistration<'de> {
32168 pub(crate) table: ::fidl_next::WireTable<'de>,
32169 }
32170
32171 impl<'de> Drop for RunnerRegistration<'de> {
32172 fn drop(&mut self) {
32173 let _ = self.table.get(1).map(|envelope| unsafe {
32174 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
32175 });
32176
32177 let _ = self
32178 .table
32179 .get(2)
32180 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
32181
32182 let _ = self.table.get(3).map(|envelope| unsafe {
32183 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
32184 });
32185 }
32186 }
32187
32188 unsafe impl ::fidl_next::Wire for RunnerRegistration<'static> {
32189 type Owned<'de> = RunnerRegistration<'de>;
32190
32191 #[inline]
32192 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
32193 ::fidl_next::munge!(let Self { table } = out);
32194 ::fidl_next::WireTable::zero_padding(table);
32195 }
32196 }
32197
32198 unsafe impl<___D> ::fidl_next::Decode<___D> for RunnerRegistration<'static>
32199 where
32200 ___D: ::fidl_next::Decoder + ?Sized,
32201 {
32202 fn decode(
32203 slot: ::fidl_next::Slot<'_, Self>,
32204 decoder: &mut ___D,
32205 _: (),
32206 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
32207 ::fidl_next::munge!(let Self { table } = slot);
32208
32209 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
32210 match ordinal {
32211 0 => unsafe { ::core::hint::unreachable_unchecked() },
32212
32213 1 => {
32214 ::fidl_next::WireEnvelope::decode_as::<
32215 ___D,
32216 ::fidl_next::WireString<'static>,
32217 >(slot.as_mut(), decoder, 100)?;
32218
32219 let value = unsafe {
32220 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
32221 };
32222
32223 if value.len() > 100 {
32224 return Err(::fidl_next::DecodeError::VectorTooLong {
32225 size: value.len() as u64,
32226 limit: 100,
32227 });
32228 }
32229
32230 Ok(())
32231 }
32232
32233 2 => {
32234 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
32235 slot.as_mut(),
32236 decoder,
32237 (),
32238 )?;
32239
32240 Ok(())
32241 }
32242
32243 3 => {
32244 ::fidl_next::WireEnvelope::decode_as::<
32245 ___D,
32246 ::fidl_next::WireString<'static>,
32247 >(slot.as_mut(), decoder, 100)?;
32248
32249 let value = unsafe {
32250 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
32251 };
32252
32253 if value.len() > 100 {
32254 return Err(::fidl_next::DecodeError::VectorTooLong {
32255 size: value.len() as u64,
32256 limit: 100,
32257 });
32258 }
32259
32260 Ok(())
32261 }
32262
32263 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
32264 }
32265 })
32266 }
32267 }
32268
32269 impl<'de> RunnerRegistration<'de> {
32270 pub fn source_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
32271 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
32272 }
32273
32274 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
32275 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
32276 }
32277
32278 pub fn target_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
32279 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
32280 }
32281 }
32282
32283 impl<'de> ::core::fmt::Debug for RunnerRegistration<'de> {
32284 fn fmt(
32285 &self,
32286 f: &mut ::core::fmt::Formatter<'_>,
32287 ) -> ::core::result::Result<(), ::core::fmt::Error> {
32288 f.debug_struct("RunnerRegistration")
32289 .field("source_name", &self.source_name())
32290 .field("source", &self.source())
32291 .field("target_name", &self.target_name())
32292 .finish()
32293 }
32294 }
32295
32296 impl<'de> ::fidl_next::IntoNatural for RunnerRegistration<'de> {
32297 type Natural = crate::natural::RunnerRegistration;
32298 }
32299
32300 impl ::fidl_next::Unconstrained for RunnerRegistration<'_> {}
32301
32302 #[repr(C)]
32304 pub struct ResolverRegistration<'de> {
32305 pub(crate) table: ::fidl_next::WireTable<'de>,
32306 }
32307
32308 impl<'de> Drop for ResolverRegistration<'de> {
32309 fn drop(&mut self) {
32310 let _ = self.table.get(1).map(|envelope| unsafe {
32311 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
32312 });
32313
32314 let _ = self
32315 .table
32316 .get(2)
32317 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
32318
32319 let _ = self.table.get(3).map(|envelope| unsafe {
32320 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
32321 });
32322 }
32323 }
32324
32325 unsafe impl ::fidl_next::Wire for ResolverRegistration<'static> {
32326 type Owned<'de> = ResolverRegistration<'de>;
32327
32328 #[inline]
32329 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
32330 ::fidl_next::munge!(let Self { table } = out);
32331 ::fidl_next::WireTable::zero_padding(table);
32332 }
32333 }
32334
32335 unsafe impl<___D> ::fidl_next::Decode<___D> for ResolverRegistration<'static>
32336 where
32337 ___D: ::fidl_next::Decoder + ?Sized,
32338 {
32339 fn decode(
32340 slot: ::fidl_next::Slot<'_, Self>,
32341 decoder: &mut ___D,
32342 _: (),
32343 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
32344 ::fidl_next::munge!(let Self { table } = slot);
32345
32346 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
32347 match ordinal {
32348 0 => unsafe { ::core::hint::unreachable_unchecked() },
32349
32350 1 => {
32351 ::fidl_next::WireEnvelope::decode_as::<
32352 ___D,
32353 ::fidl_next::WireString<'static>,
32354 >(slot.as_mut(), decoder, 100)?;
32355
32356 let value = unsafe {
32357 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
32358 };
32359
32360 if value.len() > 100 {
32361 return Err(::fidl_next::DecodeError::VectorTooLong {
32362 size: value.len() as u64,
32363 limit: 100,
32364 });
32365 }
32366
32367 Ok(())
32368 }
32369
32370 2 => {
32371 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
32372 slot.as_mut(),
32373 decoder,
32374 (),
32375 )?;
32376
32377 Ok(())
32378 }
32379
32380 3 => {
32381 ::fidl_next::WireEnvelope::decode_as::<
32382 ___D,
32383 ::fidl_next::WireString<'static>,
32384 >(slot.as_mut(), decoder, 100)?;
32385
32386 let value = unsafe {
32387 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
32388 };
32389
32390 if value.len() > 100 {
32391 return Err(::fidl_next::DecodeError::VectorTooLong {
32392 size: value.len() as u64,
32393 limit: 100,
32394 });
32395 }
32396
32397 Ok(())
32398 }
32399
32400 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
32401 }
32402 })
32403 }
32404 }
32405
32406 impl<'de> ResolverRegistration<'de> {
32407 pub fn resolver(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
32408 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
32409 }
32410
32411 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
32412 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
32413 }
32414
32415 pub fn scheme(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
32416 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
32417 }
32418 }
32419
32420 impl<'de> ::core::fmt::Debug for ResolverRegistration<'de> {
32421 fn fmt(
32422 &self,
32423 f: &mut ::core::fmt::Formatter<'_>,
32424 ) -> ::core::result::Result<(), ::core::fmt::Error> {
32425 f.debug_struct("ResolverRegistration")
32426 .field("resolver", &self.resolver())
32427 .field("source", &self.source())
32428 .field("scheme", &self.scheme())
32429 .finish()
32430 }
32431 }
32432
32433 impl<'de> ::fidl_next::IntoNatural for ResolverRegistration<'de> {
32434 type Natural = crate::natural::ResolverRegistration;
32435 }
32436
32437 impl ::fidl_next::Unconstrained for ResolverRegistration<'_> {}
32438
32439 #[repr(C)]
32441 pub struct DebugProtocolRegistration<'de> {
32442 pub(crate) table: ::fidl_next::WireTable<'de>,
32443 }
32444
32445 impl<'de> Drop for DebugProtocolRegistration<'de> {
32446 fn drop(&mut self) {
32447 let _ = self
32448 .table
32449 .get(1)
32450 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Ref<'de>>() });
32451
32452 let _ = self.table.get(2).map(|envelope| unsafe {
32453 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
32454 });
32455
32456 let _ = self.table.get(3).map(|envelope| unsafe {
32457 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
32458 });
32459 }
32460 }
32461
32462 unsafe impl ::fidl_next::Wire for DebugProtocolRegistration<'static> {
32463 type Owned<'de> = DebugProtocolRegistration<'de>;
32464
32465 #[inline]
32466 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
32467 ::fidl_next::munge!(let Self { table } = out);
32468 ::fidl_next::WireTable::zero_padding(table);
32469 }
32470 }
32471
32472 unsafe impl<___D> ::fidl_next::Decode<___D> for DebugProtocolRegistration<'static>
32473 where
32474 ___D: ::fidl_next::Decoder + ?Sized,
32475 {
32476 fn decode(
32477 slot: ::fidl_next::Slot<'_, Self>,
32478 decoder: &mut ___D,
32479 _: (),
32480 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
32481 ::fidl_next::munge!(let Self { table } = slot);
32482
32483 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
32484 match ordinal {
32485 0 => unsafe { ::core::hint::unreachable_unchecked() },
32486
32487 1 => {
32488 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Ref<'static>>(
32489 slot.as_mut(),
32490 decoder,
32491 (),
32492 )?;
32493
32494 Ok(())
32495 }
32496
32497 2 => {
32498 ::fidl_next::WireEnvelope::decode_as::<
32499 ___D,
32500 ::fidl_next::WireString<'static>,
32501 >(slot.as_mut(), decoder, 100)?;
32502
32503 let value = unsafe {
32504 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
32505 };
32506
32507 if value.len() > 100 {
32508 return Err(::fidl_next::DecodeError::VectorTooLong {
32509 size: value.len() as u64,
32510 limit: 100,
32511 });
32512 }
32513
32514 Ok(())
32515 }
32516
32517 3 => {
32518 ::fidl_next::WireEnvelope::decode_as::<
32519 ___D,
32520 ::fidl_next::WireString<'static>,
32521 >(slot.as_mut(), decoder, 100)?;
32522
32523 let value = unsafe {
32524 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
32525 };
32526
32527 if value.len() > 100 {
32528 return Err(::fidl_next::DecodeError::VectorTooLong {
32529 size: value.len() as u64,
32530 limit: 100,
32531 });
32532 }
32533
32534 Ok(())
32535 }
32536
32537 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
32538 }
32539 })
32540 }
32541 }
32542
32543 impl<'de> DebugProtocolRegistration<'de> {
32544 pub fn source(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
32545 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
32546 }
32547
32548 pub fn source_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
32549 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
32550 }
32551
32552 pub fn target_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
32553 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
32554 }
32555 }
32556
32557 impl<'de> ::core::fmt::Debug for DebugProtocolRegistration<'de> {
32558 fn fmt(
32559 &self,
32560 f: &mut ::core::fmt::Formatter<'_>,
32561 ) -> ::core::result::Result<(), ::core::fmt::Error> {
32562 f.debug_struct("DebugProtocolRegistration")
32563 .field("source", &self.source())
32564 .field("source_name", &self.source_name())
32565 .field("target_name", &self.target_name())
32566 .finish()
32567 }
32568 }
32569
32570 impl<'de> ::fidl_next::IntoNatural for DebugProtocolRegistration<'de> {
32571 type Natural = crate::natural::DebugProtocolRegistration;
32572 }
32573
32574 impl ::fidl_next::Unconstrained for DebugProtocolRegistration<'_> {}
32575
32576 #[repr(transparent)]
32578 pub struct DebugRegistration<'de> {
32579 pub(crate) raw: ::fidl_next::RawWireUnion,
32580 pub(crate) _phantom: ::core::marker::PhantomData<&'de mut [::fidl_next::Chunk]>,
32581 }
32582
32583 impl<'de> Drop for DebugRegistration<'de> {
32584 fn drop(&mut self) {
32585 match self.raw.ordinal() {
32586 1 => {
32587 let _ = unsafe {
32588 self.raw
32589 .get()
32590 .read_unchecked::<crate::wire::DebugProtocolRegistration<'de>>()
32591 };
32592 }
32593
32594 _ => (),
32595 }
32596 }
32597 }
32598
32599 unsafe impl ::fidl_next::Wire for DebugRegistration<'static> {
32600 type Owned<'de> = DebugRegistration<'de>;
32601
32602 #[inline]
32603 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
32604 ::fidl_next::munge!(let Self { raw, _phantom: _ } = out);
32605 ::fidl_next::RawWireUnion::zero_padding(raw);
32606 }
32607 }
32608
32609 pub mod debug_registration {
32610 pub enum Ref<'de> {
32611 Protocol(&'de crate::wire::DebugProtocolRegistration<'de>),
32612
32613 UnknownOrdinal_(u64),
32614 }
32615 }
32616
32617 impl<'de> DebugRegistration<'de> {
32618 pub fn as_ref(&self) -> crate::wire::debug_registration::Ref<'_> {
32619 match self.raw.ordinal() {
32620 1 => crate::wire::debug_registration::Ref::Protocol(unsafe {
32621 self.raw.get().deref_unchecked::<crate::wire::DebugProtocolRegistration<'_>>()
32622 }),
32623
32624 unknown => crate::wire::debug_registration::Ref::UnknownOrdinal_(unknown),
32625 }
32626 }
32627 }
32628
32629 unsafe impl<___D> ::fidl_next::Decode<___D> for DebugRegistration<'static>
32630 where
32631 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
32632 ___D: ::fidl_next::Decoder,
32633 {
32634 fn decode(
32635 mut slot: ::fidl_next::Slot<'_, Self>,
32636 decoder: &mut ___D,
32637 _: (),
32638 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
32639 ::fidl_next::munge!(let Self { mut raw, _phantom: _ } = slot.as_mut());
32640 match ::fidl_next::RawWireUnion::encoded_ordinal(raw.as_mut()) {
32641 1 => ::fidl_next::RawWireUnion::decode_as::<
32642 ___D,
32643 crate::wire::DebugProtocolRegistration<'static>,
32644 >(raw, decoder, ())?,
32645
32646 _ => ::fidl_next::RawWireUnion::decode_unknown(raw, decoder)?,
32647 }
32648
32649 Ok(())
32650 }
32651 }
32652
32653 impl<'de> ::core::fmt::Debug for DebugRegistration<'de> {
32654 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
32655 match self.raw.ordinal() {
32656 1 => unsafe {
32657 self.raw
32658 .get()
32659 .deref_unchecked::<crate::wire::DebugProtocolRegistration<'_>>()
32660 .fmt(f)
32661 },
32662 _ => unsafe { ::core::hint::unreachable_unchecked() },
32663 }
32664 }
32665 }
32666
32667 impl<'de> ::fidl_next::IntoNatural for DebugRegistration<'de> {
32668 type Natural = crate::natural::DebugRegistration;
32669 }
32670
32671 impl ::fidl_next::Unconstrained for DebugRegistration<'static> {}
32672
32673 #[repr(C)]
32675 pub struct Environment<'de> {
32676 pub(crate) table: ::fidl_next::WireTable<'de>,
32677 }
32678
32679 impl<'de> Drop for Environment<'de> {
32680 fn drop(&mut self) {
32681 let _ = self.table.get(1).map(|envelope| unsafe {
32682 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
32683 });
32684
32685 let _ = self.table.get(2).map(|envelope| unsafe {
32686 envelope.read_unchecked::<crate::wire::EnvironmentExtends>()
32687 });
32688
32689 let _ = self.table.get(3)
32690 .map(|envelope| unsafe {
32691 envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::RunnerRegistration<'de>>>()
32692 });
32693
32694 let _ = self.table.get(4)
32695 .map(|envelope| unsafe {
32696 envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::ResolverRegistration<'de>>>()
32697 });
32698
32699 let _ = self.table.get(5)
32700 .map(|envelope| unsafe {
32701 envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::DebugRegistration<'de>>>()
32702 });
32703
32704 let _ = self
32705 .table
32706 .get(6)
32707 .map(|envelope| unsafe { envelope.read_unchecked::<::fidl_next::WireU32>() });
32708 }
32709 }
32710
32711 unsafe impl ::fidl_next::Wire for Environment<'static> {
32712 type Owned<'de> = Environment<'de>;
32713
32714 #[inline]
32715 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
32716 ::fidl_next::munge!(let Self { table } = out);
32717 ::fidl_next::WireTable::zero_padding(table);
32718 }
32719 }
32720
32721 unsafe impl<___D> ::fidl_next::Decode<___D> for Environment<'static>
32722 where
32723 ___D: ::fidl_next::Decoder + ?Sized,
32724 {
32725 fn decode(
32726 slot: ::fidl_next::Slot<'_, Self>,
32727 decoder: &mut ___D,
32728 _: (),
32729 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
32730 ::fidl_next::munge!(let Self { table } = slot);
32731
32732 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
32733 match ordinal {
32734 0 => unsafe { ::core::hint::unreachable_unchecked() },
32735
32736 1 => {
32737 ::fidl_next::WireEnvelope::decode_as::<
32738 ___D,
32739 ::fidl_next::WireString<'static>,
32740 >(slot.as_mut(), decoder, 100)?;
32741
32742 let value = unsafe {
32743 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
32744 };
32745
32746 if value.len() > 100 {
32747 return Err(::fidl_next::DecodeError::VectorTooLong {
32748 size: value.len() as u64,
32749 limit: 100,
32750 });
32751 }
32752
32753 Ok(())
32754 }
32755
32756 2 => {
32757 ::fidl_next::WireEnvelope::decode_as::<
32758 ___D,
32759 crate::wire::EnvironmentExtends,
32760 >(slot.as_mut(), decoder, ())?;
32761
32762 Ok(())
32763 }
32764
32765 3 => {
32766 ::fidl_next::WireEnvelope::decode_as::<
32767 ___D,
32768 ::fidl_next::WireVector<
32769 'static,
32770 crate::wire::RunnerRegistration<'static>,
32771 >,
32772 >(slot.as_mut(), decoder, (4294967295, ()))?;
32773
32774 Ok(())
32775 }
32776
32777 4 => {
32778 ::fidl_next::WireEnvelope::decode_as::<
32779 ___D,
32780 ::fidl_next::WireVector<
32781 'static,
32782 crate::wire::ResolverRegistration<'static>,
32783 >,
32784 >(slot.as_mut(), decoder, (4294967295, ()))?;
32785
32786 Ok(())
32787 }
32788
32789 5 => {
32790 ::fidl_next::WireEnvelope::decode_as::<
32791 ___D,
32792 ::fidl_next::WireVector<
32793 'static,
32794 crate::wire::DebugRegistration<'static>,
32795 >,
32796 >(slot.as_mut(), decoder, (4294967295, ()))?;
32797
32798 Ok(())
32799 }
32800
32801 6 => {
32802 ::fidl_next::WireEnvelope::decode_as::<___D, ::fidl_next::WireU32>(
32803 slot.as_mut(),
32804 decoder,
32805 (),
32806 )?;
32807
32808 Ok(())
32809 }
32810
32811 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
32812 }
32813 })
32814 }
32815 }
32816
32817 impl<'de> Environment<'de> {
32818 pub fn name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
32819 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
32820 }
32821
32822 pub fn extends(&self) -> ::core::option::Option<&crate::wire::EnvironmentExtends> {
32823 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
32824 }
32825
32826 pub fn runners(
32827 &self,
32828 ) -> ::core::option::Option<
32829 &::fidl_next::WireVector<'de, crate::wire::RunnerRegistration<'de>>,
32830 > {
32831 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
32832 }
32833
32834 pub fn resolvers(
32835 &self,
32836 ) -> ::core::option::Option<
32837 &::fidl_next::WireVector<'de, crate::wire::ResolverRegistration<'de>>,
32838 > {
32839 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
32840 }
32841
32842 pub fn debug_capabilities(
32843 &self,
32844 ) -> ::core::option::Option<
32845 &::fidl_next::WireVector<'de, crate::wire::DebugRegistration<'de>>,
32846 > {
32847 unsafe { Some(self.table.get(5)?.deref_unchecked()) }
32848 }
32849
32850 pub fn stop_timeout_ms(&self) -> ::core::option::Option<&::fidl_next::WireU32> {
32851 unsafe { Some(self.table.get(6)?.deref_unchecked()) }
32852 }
32853 }
32854
32855 impl<'de> ::core::fmt::Debug for Environment<'de> {
32856 fn fmt(
32857 &self,
32858 f: &mut ::core::fmt::Formatter<'_>,
32859 ) -> ::core::result::Result<(), ::core::fmt::Error> {
32860 f.debug_struct("Environment")
32861 .field("name", &self.name())
32862 .field("extends", &self.extends())
32863 .field("runners", &self.runners())
32864 .field("resolvers", &self.resolvers())
32865 .field("debug_capabilities", &self.debug_capabilities())
32866 .field("stop_timeout_ms", &self.stop_timeout_ms())
32867 .finish()
32868 }
32869 }
32870
32871 impl<'de> ::fidl_next::IntoNatural for Environment<'de> {
32872 type Natural = crate::natural::Environment;
32873 }
32874
32875 impl ::fidl_next::Unconstrained for Environment<'_> {}
32876
32877 #[repr(C)]
32879 pub struct ConfigSourceCapabilities<'de> {
32880 pub(crate) table: ::fidl_next::WireTable<'de>,
32881 }
32882
32883 impl<'de> Drop for ConfigSourceCapabilities<'de> {
32884 fn drop(&mut self) {}
32885 }
32886
32887 unsafe impl ::fidl_next::Wire for ConfigSourceCapabilities<'static> {
32888 type Owned<'de> = ConfigSourceCapabilities<'de>;
32889
32890 #[inline]
32891 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
32892 ::fidl_next::munge!(let Self { table } = out);
32893 ::fidl_next::WireTable::zero_padding(table);
32894 }
32895 }
32896
32897 unsafe impl<___D> ::fidl_next::Decode<___D> for ConfigSourceCapabilities<'static>
32898 where
32899 ___D: ::fidl_next::Decoder + ?Sized,
32900 {
32901 fn decode(
32902 slot: ::fidl_next::Slot<'_, Self>,
32903 decoder: &mut ___D,
32904 _: (),
32905 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
32906 ::fidl_next::munge!(let Self { table } = slot);
32907
32908 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
32909 match ordinal {
32910 0 => unsafe { ::core::hint::unreachable_unchecked() },
32911
32912 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
32913 }
32914 })
32915 }
32916 }
32917
32918 impl<'de> ConfigSourceCapabilities<'de> {}
32919
32920 impl<'de> ::core::fmt::Debug for ConfigSourceCapabilities<'de> {
32921 fn fmt(
32922 &self,
32923 f: &mut ::core::fmt::Formatter<'_>,
32924 ) -> ::core::result::Result<(), ::core::fmt::Error> {
32925 f.debug_struct("ConfigSourceCapabilities").finish()
32926 }
32927 }
32928
32929 impl<'de> ::fidl_next::IntoNatural for ConfigSourceCapabilities<'de> {
32930 type Natural = crate::natural::ConfigSourceCapabilities;
32931 }
32932
32933 impl ::fidl_next::Unconstrained for ConfigSourceCapabilities<'_> {}
32934
32935 #[repr(transparent)]
32937 pub struct ConfigValueSource<'de> {
32938 pub(crate) raw: ::fidl_next::RawWireUnion,
32939 pub(crate) _phantom: ::core::marker::PhantomData<&'de mut [::fidl_next::Chunk]>,
32940 }
32941
32942 impl<'de> Drop for ConfigValueSource<'de> {
32943 fn drop(&mut self) {
32944 match self.raw.ordinal() {
32945 1 => {
32946 let _ =
32947 unsafe { self.raw.get().read_unchecked::<::fidl_next::WireString<'de>>() };
32948 }
32949
32950 2 => {
32951 let _ = unsafe {
32952 self.raw
32953 .get()
32954 .read_unchecked::<crate::wire::ConfigSourceCapabilities<'de>>()
32955 };
32956 }
32957
32958 _ => (),
32959 }
32960 }
32961 }
32962
32963 unsafe impl ::fidl_next::Wire for ConfigValueSource<'static> {
32964 type Owned<'de> = ConfigValueSource<'de>;
32965
32966 #[inline]
32967 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
32968 ::fidl_next::munge!(let Self { raw, _phantom: _ } = out);
32969 ::fidl_next::RawWireUnion::zero_padding(raw);
32970 }
32971 }
32972
32973 pub mod config_value_source {
32974 pub enum Ref<'de> {
32975 PackagePath(&'de ::fidl_next::WireString<'de>),
32976
32977 Capabilities(&'de crate::wire::ConfigSourceCapabilities<'de>),
32978
32979 UnknownOrdinal_(u64),
32980 }
32981 }
32982
32983 impl<'de> ConfigValueSource<'de> {
32984 pub fn as_ref(&self) -> crate::wire::config_value_source::Ref<'_> {
32985 match self.raw.ordinal() {
32986 1 => crate::wire::config_value_source::Ref::PackagePath(unsafe {
32987 self.raw.get().deref_unchecked::<::fidl_next::WireString<'_>>()
32988 }),
32989
32990 2 => crate::wire::config_value_source::Ref::Capabilities(unsafe {
32991 self.raw.get().deref_unchecked::<crate::wire::ConfigSourceCapabilities<'_>>()
32992 }),
32993
32994 unknown => crate::wire::config_value_source::Ref::UnknownOrdinal_(unknown),
32995 }
32996 }
32997 }
32998
32999 unsafe impl<___D> ::fidl_next::Decode<___D> for ConfigValueSource<'static>
33000 where
33001 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
33002 ___D: ::fidl_next::Decoder,
33003 {
33004 fn decode(
33005 mut slot: ::fidl_next::Slot<'_, Self>,
33006 decoder: &mut ___D,
33007 _: (),
33008 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
33009 ::fidl_next::munge!(let Self { mut raw, _phantom: _ } = slot.as_mut());
33010 match ::fidl_next::RawWireUnion::encoded_ordinal(raw.as_mut()) {
33011 1 => {
33012 ::fidl_next::RawWireUnion::decode_as::<___D, ::fidl_next::WireString<'static>>(
33013 raw, decoder, 4294967295,
33014 )?
33015 }
33016
33017 2 => ::fidl_next::RawWireUnion::decode_as::<
33018 ___D,
33019 crate::wire::ConfigSourceCapabilities<'static>,
33020 >(raw, decoder, ())?,
33021
33022 _ => ::fidl_next::RawWireUnion::decode_unknown(raw, decoder)?,
33023 }
33024
33025 Ok(())
33026 }
33027 }
33028
33029 impl<'de> ::core::fmt::Debug for ConfigValueSource<'de> {
33030 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
33031 match self.raw.ordinal() {
33032 1 => unsafe {
33033 self.raw.get().deref_unchecked::<::fidl_next::WireString<'_>>().fmt(f)
33034 },
33035 2 => unsafe {
33036 self.raw
33037 .get()
33038 .deref_unchecked::<crate::wire::ConfigSourceCapabilities<'_>>()
33039 .fmt(f)
33040 },
33041 _ => unsafe { ::core::hint::unreachable_unchecked() },
33042 }
33043 }
33044 }
33045
33046 impl<'de> ::fidl_next::IntoNatural for ConfigValueSource<'de> {
33047 type Natural = crate::natural::ConfigValueSource;
33048 }
33049
33050 impl ::fidl_next::Unconstrained for ConfigValueSource<'static> {}
33051
33052 #[repr(C)]
33054 pub struct ConfigSchema<'de> {
33055 pub(crate) table: ::fidl_next::WireTable<'de>,
33056 }
33057
33058 impl<'de> Drop for ConfigSchema<'de> {
33059 fn drop(&mut self) {
33060 let _ = self.table.get(1)
33061 .map(|envelope| unsafe {
33062 envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::ConfigField<'de>>>()
33063 });
33064
33065 let _ = self.table.get(2).map(|envelope| unsafe {
33066 envelope.read_unchecked::<crate::wire::ConfigChecksum<'de>>()
33067 });
33068
33069 let _ = self.table.get(3).map(|envelope| unsafe {
33070 envelope.read_unchecked::<crate::wire::ConfigValueSource<'de>>()
33071 });
33072 }
33073 }
33074
33075 unsafe impl ::fidl_next::Wire for ConfigSchema<'static> {
33076 type Owned<'de> = ConfigSchema<'de>;
33077
33078 #[inline]
33079 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
33080 ::fidl_next::munge!(let Self { table } = out);
33081 ::fidl_next::WireTable::zero_padding(table);
33082 }
33083 }
33084
33085 unsafe impl<___D> ::fidl_next::Decode<___D> for ConfigSchema<'static>
33086 where
33087 ___D: ::fidl_next::Decoder + ?Sized,
33088 {
33089 fn decode(
33090 slot: ::fidl_next::Slot<'_, Self>,
33091 decoder: &mut ___D,
33092 _: (),
33093 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
33094 ::fidl_next::munge!(let Self { table } = slot);
33095
33096 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
33097 match ordinal {
33098 0 => unsafe { ::core::hint::unreachable_unchecked() },
33099
33100 1 => {
33101 ::fidl_next::WireEnvelope::decode_as::<
33102 ___D,
33103 ::fidl_next::WireVector<'static, crate::wire::ConfigField<'static>>,
33104 >(slot.as_mut(), decoder, (4294967295, ()))?;
33105
33106 Ok(())
33107 }
33108
33109 2 => {
33110 ::fidl_next::WireEnvelope::decode_as::<
33111 ___D,
33112 crate::wire::ConfigChecksum<'static>,
33113 >(slot.as_mut(), decoder, ())?;
33114
33115 Ok(())
33116 }
33117
33118 3 => {
33119 ::fidl_next::WireEnvelope::decode_as::<
33120 ___D,
33121 crate::wire::ConfigValueSource<'static>,
33122 >(slot.as_mut(), decoder, ())?;
33123
33124 Ok(())
33125 }
33126
33127 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
33128 }
33129 })
33130 }
33131 }
33132
33133 impl<'de> ConfigSchema<'de> {
33134 pub fn fields(
33135 &self,
33136 ) -> ::core::option::Option<&::fidl_next::WireVector<'de, crate::wire::ConfigField<'de>>>
33137 {
33138 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
33139 }
33140
33141 pub fn checksum(&self) -> ::core::option::Option<&crate::wire::ConfigChecksum<'de>> {
33142 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
33143 }
33144
33145 pub fn value_source(&self) -> ::core::option::Option<&crate::wire::ConfigValueSource<'de>> {
33146 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
33147 }
33148 }
33149
33150 impl<'de> ::core::fmt::Debug for ConfigSchema<'de> {
33151 fn fmt(
33152 &self,
33153 f: &mut ::core::fmt::Formatter<'_>,
33154 ) -> ::core::result::Result<(), ::core::fmt::Error> {
33155 f.debug_struct("ConfigSchema")
33156 .field("fields", &self.fields())
33157 .field("checksum", &self.checksum())
33158 .field("value_source", &self.value_source())
33159 .finish()
33160 }
33161 }
33162
33163 impl<'de> ::fidl_next::IntoNatural for ConfigSchema<'de> {
33164 type Natural = crate::natural::ConfigSchema;
33165 }
33166
33167 impl ::fidl_next::Unconstrained for ConfigSchema<'_> {}
33168
33169 #[repr(C)]
33171 pub struct Component<'de> {
33172 pub(crate) table: ::fidl_next::WireTable<'de>,
33173 }
33174
33175 impl<'de> Drop for Component<'de> {
33176 fn drop(&mut self) {
33177 let _ = self
33178 .table
33179 .get(1)
33180 .map(|envelope| unsafe { envelope.read_unchecked::<crate::wire::Program<'de>>() });
33181
33182 let _ = self.table.get(2).map(|envelope| unsafe {
33183 envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::Use<'de>>>()
33184 });
33185
33186 let _ = self.table.get(3).map(|envelope| unsafe {
33187 envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::Expose<'de>>>()
33188 });
33189
33190 let _ = self.table.get(4).map(|envelope| unsafe {
33191 envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::Offer<'de>>>()
33192 });
33193
33194 let _ = self.table.get(5)
33195 .map(|envelope| unsafe {
33196 envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::Capability<'de>>>()
33197 });
33198
33199 let _ = self.table.get(6).map(|envelope| unsafe {
33200 envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::Child<'de>>>()
33201 });
33202
33203 let _ = self.table.get(7)
33204 .map(|envelope| unsafe {
33205 envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::Collection<'de>>>()
33206 });
33207
33208 let _ = self.table.get(8)
33209 .map(|envelope| unsafe {
33210 envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::Environment<'de>>>()
33211 });
33212
33213 let _ = self.table.get(9).map(|envelope| unsafe {
33214 envelope.read_unchecked::<::fidl_next_common_fuchsia_data::wire::Dictionary<'de>>()
33215 });
33216
33217 let _ = self.table.get(10).map(|envelope| unsafe {
33218 envelope.read_unchecked::<crate::wire::ConfigSchema<'de>>()
33219 });
33220
33221 let _ = self.table.get(11).map(|envelope| unsafe {
33222 envelope.read_unchecked::<crate::wire::DebugInfo<'de>>()
33223 });
33224 }
33225 }
33226
33227 unsafe impl ::fidl_next::Wire for Component<'static> {
33228 type Owned<'de> = Component<'de>;
33229
33230 #[inline]
33231 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
33232 ::fidl_next::munge!(let Self { table } = out);
33233 ::fidl_next::WireTable::zero_padding(table);
33234 }
33235 }
33236
33237 unsafe impl<___D> ::fidl_next::Decode<___D> for Component<'static>
33238 where
33239 ___D: ::fidl_next::Decoder + ?Sized,
33240 {
33241 fn decode(
33242 slot: ::fidl_next::Slot<'_, Self>,
33243 decoder: &mut ___D,
33244 _: (),
33245 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
33246 ::fidl_next::munge!(let Self { table } = slot);
33247
33248 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
33249 match ordinal {
33250 0 => unsafe { ::core::hint::unreachable_unchecked() },
33251
33252 1 => {
33253 ::fidl_next::WireEnvelope::decode_as::<___D, crate::wire::Program<'static>>(
33254 slot.as_mut(),
33255 decoder,
33256 (),
33257 )?;
33258
33259 Ok(())
33260 }
33261
33262 2 => {
33263 ::fidl_next::WireEnvelope::decode_as::<
33264 ___D,
33265 ::fidl_next::WireVector<'static, crate::wire::Use<'static>>,
33266 >(slot.as_mut(), decoder, (4294967295, ()))?;
33267
33268 Ok(())
33269 }
33270
33271 3 => {
33272 ::fidl_next::WireEnvelope::decode_as::<
33273 ___D,
33274 ::fidl_next::WireVector<'static, crate::wire::Expose<'static>>,
33275 >(slot.as_mut(), decoder, (4294967295, ()))?;
33276
33277 Ok(())
33278 }
33279
33280 4 => {
33281 ::fidl_next::WireEnvelope::decode_as::<
33282 ___D,
33283 ::fidl_next::WireVector<'static, crate::wire::Offer<'static>>,
33284 >(slot.as_mut(), decoder, (4294967295, ()))?;
33285
33286 Ok(())
33287 }
33288
33289 5 => {
33290 ::fidl_next::WireEnvelope::decode_as::<
33291 ___D,
33292 ::fidl_next::WireVector<'static, crate::wire::Capability<'static>>,
33293 >(slot.as_mut(), decoder, (4294967295, ()))?;
33294
33295 Ok(())
33296 }
33297
33298 6 => {
33299 ::fidl_next::WireEnvelope::decode_as::<
33300 ___D,
33301 ::fidl_next::WireVector<'static, crate::wire::Child<'static>>,
33302 >(slot.as_mut(), decoder, (4294967295, ()))?;
33303
33304 Ok(())
33305 }
33306
33307 7 => {
33308 ::fidl_next::WireEnvelope::decode_as::<
33309 ___D,
33310 ::fidl_next::WireVector<'static, crate::wire::Collection<'static>>,
33311 >(slot.as_mut(), decoder, (4294967295, ()))?;
33312
33313 Ok(())
33314 }
33315
33316 8 => {
33317 ::fidl_next::WireEnvelope::decode_as::<
33318 ___D,
33319 ::fidl_next::WireVector<'static, crate::wire::Environment<'static>>,
33320 >(slot.as_mut(), decoder, (4294967295, ()))?;
33321
33322 Ok(())
33323 }
33324
33325 9 => {
33326 ::fidl_next::WireEnvelope::decode_as::<
33327 ___D,
33328 ::fidl_next_common_fuchsia_data::wire::Dictionary<'static>,
33329 >(slot.as_mut(), decoder, ())?;
33330
33331 Ok(())
33332 }
33333
33334 10 => {
33335 ::fidl_next::WireEnvelope::decode_as::<
33336 ___D,
33337 crate::wire::ConfigSchema<'static>,
33338 >(slot.as_mut(), decoder, ())?;
33339
33340 Ok(())
33341 }
33342
33343 11 => {
33344 ::fidl_next::WireEnvelope::decode_as::<
33345 ___D,
33346 crate::wire::DebugInfo<'static>,
33347 >(slot.as_mut(), decoder, ())?;
33348
33349 Ok(())
33350 }
33351
33352 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
33353 }
33354 })
33355 }
33356 }
33357
33358 impl<'de> Component<'de> {
33359 pub fn program(&self) -> ::core::option::Option<&crate::wire::Program<'de>> {
33360 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
33361 }
33362
33363 pub fn uses(
33364 &self,
33365 ) -> ::core::option::Option<&::fidl_next::WireVector<'de, crate::wire::Use<'de>>> {
33366 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
33367 }
33368
33369 pub fn exposes(
33370 &self,
33371 ) -> ::core::option::Option<&::fidl_next::WireVector<'de, crate::wire::Expose<'de>>>
33372 {
33373 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
33374 }
33375
33376 pub fn offers(
33377 &self,
33378 ) -> ::core::option::Option<&::fidl_next::WireVector<'de, crate::wire::Offer<'de>>>
33379 {
33380 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
33381 }
33382
33383 pub fn capabilities(
33384 &self,
33385 ) -> ::core::option::Option<&::fidl_next::WireVector<'de, crate::wire::Capability<'de>>>
33386 {
33387 unsafe { Some(self.table.get(5)?.deref_unchecked()) }
33388 }
33389
33390 pub fn children(
33391 &self,
33392 ) -> ::core::option::Option<&::fidl_next::WireVector<'de, crate::wire::Child<'de>>>
33393 {
33394 unsafe { Some(self.table.get(6)?.deref_unchecked()) }
33395 }
33396
33397 pub fn collections(
33398 &self,
33399 ) -> ::core::option::Option<&::fidl_next::WireVector<'de, crate::wire::Collection<'de>>>
33400 {
33401 unsafe { Some(self.table.get(7)?.deref_unchecked()) }
33402 }
33403
33404 pub fn environments(
33405 &self,
33406 ) -> ::core::option::Option<&::fidl_next::WireVector<'de, crate::wire::Environment<'de>>>
33407 {
33408 unsafe { Some(self.table.get(8)?.deref_unchecked()) }
33409 }
33410
33411 pub fn facets(
33412 &self,
33413 ) -> ::core::option::Option<&::fidl_next_common_fuchsia_data::wire::Dictionary<'de>>
33414 {
33415 unsafe { Some(self.table.get(9)?.deref_unchecked()) }
33416 }
33417
33418 pub fn config(&self) -> ::core::option::Option<&crate::wire::ConfigSchema<'de>> {
33419 unsafe { Some(self.table.get(10)?.deref_unchecked()) }
33420 }
33421
33422 pub fn debug_info(&self) -> ::core::option::Option<&crate::wire::DebugInfo<'de>> {
33423 unsafe { Some(self.table.get(11)?.deref_unchecked()) }
33424 }
33425 }
33426
33427 impl<'de> ::core::fmt::Debug for Component<'de> {
33428 fn fmt(
33429 &self,
33430 f: &mut ::core::fmt::Formatter<'_>,
33431 ) -> ::core::result::Result<(), ::core::fmt::Error> {
33432 f.debug_struct("Component")
33433 .field("program", &self.program())
33434 .field("uses", &self.uses())
33435 .field("exposes", &self.exposes())
33436 .field("offers", &self.offers())
33437 .field("capabilities", &self.capabilities())
33438 .field("children", &self.children())
33439 .field("collections", &self.collections())
33440 .field("environments", &self.environments())
33441 .field("facets", &self.facets())
33442 .field("config", &self.config())
33443 .field("debug_info", &self.debug_info())
33444 .finish()
33445 }
33446 }
33447
33448 impl<'de> ::fidl_next::IntoNatural for Component<'de> {
33449 type Natural = crate::natural::Component;
33450 }
33451
33452 impl ::fidl_next::Unconstrained for Component<'_> {}
33453
33454 #[repr(C)]
33456 pub struct ConfigValueSpec<'de> {
33457 pub(crate) table: ::fidl_next::WireTable<'de>,
33458 }
33459
33460 impl<'de> Drop for ConfigValueSpec<'de> {
33461 fn drop(&mut self) {
33462 let _ = self.table.get(1).map(|envelope| unsafe {
33463 envelope.read_unchecked::<crate::wire::ConfigValue<'de>>()
33464 });
33465 }
33466 }
33467
33468 unsafe impl ::fidl_next::Wire for ConfigValueSpec<'static> {
33469 type Owned<'de> = ConfigValueSpec<'de>;
33470
33471 #[inline]
33472 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
33473 ::fidl_next::munge!(let Self { table } = out);
33474 ::fidl_next::WireTable::zero_padding(table);
33475 }
33476 }
33477
33478 unsafe impl<___D> ::fidl_next::Decode<___D> for ConfigValueSpec<'static>
33479 where
33480 ___D: ::fidl_next::Decoder + ?Sized,
33481 {
33482 fn decode(
33483 slot: ::fidl_next::Slot<'_, Self>,
33484 decoder: &mut ___D,
33485 _: (),
33486 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
33487 ::fidl_next::munge!(let Self { table } = slot);
33488
33489 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
33490 match ordinal {
33491 0 => unsafe { ::core::hint::unreachable_unchecked() },
33492
33493 1 => {
33494 ::fidl_next::WireEnvelope::decode_as::<
33495 ___D,
33496 crate::wire::ConfigValue<'static>,
33497 >(slot.as_mut(), decoder, ())?;
33498
33499 Ok(())
33500 }
33501
33502 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
33503 }
33504 })
33505 }
33506 }
33507
33508 impl<'de> ConfigValueSpec<'de> {
33509 pub fn value(&self) -> ::core::option::Option<&crate::wire::ConfigValue<'de>> {
33510 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
33511 }
33512 }
33513
33514 impl<'de> ::core::fmt::Debug for ConfigValueSpec<'de> {
33515 fn fmt(
33516 &self,
33517 f: &mut ::core::fmt::Formatter<'_>,
33518 ) -> ::core::result::Result<(), ::core::fmt::Error> {
33519 f.debug_struct("ConfigValueSpec").field("value", &self.value()).finish()
33520 }
33521 }
33522
33523 impl<'de> ::fidl_next::IntoNatural for ConfigValueSpec<'de> {
33524 type Natural = crate::natural::ConfigValueSpec;
33525 }
33526
33527 impl ::fidl_next::Unconstrained for ConfigValueSpec<'_> {}
33528
33529 #[repr(C)]
33531 pub struct ConfigValuesData<'de> {
33532 pub(crate) table: ::fidl_next::WireTable<'de>,
33533 }
33534
33535 impl<'de> Drop for ConfigValuesData<'de> {
33536 fn drop(&mut self) {
33537 let _ = self.table.get(1)
33538 .map(|envelope| unsafe {
33539 envelope.read_unchecked::<::fidl_next::WireVector<'de, crate::wire::ConfigValueSpec<'de>>>()
33540 });
33541
33542 let _ = self.table.get(2).map(|envelope| unsafe {
33543 envelope.read_unchecked::<crate::wire::ConfigChecksum<'de>>()
33544 });
33545 }
33546 }
33547
33548 unsafe impl ::fidl_next::Wire for ConfigValuesData<'static> {
33549 type Owned<'de> = ConfigValuesData<'de>;
33550
33551 #[inline]
33552 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
33553 ::fidl_next::munge!(let Self { table } = out);
33554 ::fidl_next::WireTable::zero_padding(table);
33555 }
33556 }
33557
33558 unsafe impl<___D> ::fidl_next::Decode<___D> for ConfigValuesData<'static>
33559 where
33560 ___D: ::fidl_next::Decoder + ?Sized,
33561 {
33562 fn decode(
33563 slot: ::fidl_next::Slot<'_, Self>,
33564 decoder: &mut ___D,
33565 _: (),
33566 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
33567 ::fidl_next::munge!(let Self { table } = slot);
33568
33569 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
33570 match ordinal {
33571 0 => unsafe { ::core::hint::unreachable_unchecked() },
33572
33573 1 => {
33574 ::fidl_next::WireEnvelope::decode_as::<
33575 ___D,
33576 ::fidl_next::WireVector<'static, crate::wire::ConfigValueSpec<'static>>,
33577 >(slot.as_mut(), decoder, (4294967295, ()))?;
33578
33579 Ok(())
33580 }
33581
33582 2 => {
33583 ::fidl_next::WireEnvelope::decode_as::<
33584 ___D,
33585 crate::wire::ConfigChecksum<'static>,
33586 >(slot.as_mut(), decoder, ())?;
33587
33588 Ok(())
33589 }
33590
33591 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
33592 }
33593 })
33594 }
33595 }
33596
33597 impl<'de> ConfigValuesData<'de> {
33598 pub fn values(
33599 &self,
33600 ) -> ::core::option::Option<&::fidl_next::WireVector<'de, crate::wire::ConfigValueSpec<'de>>>
33601 {
33602 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
33603 }
33604
33605 pub fn checksum(&self) -> ::core::option::Option<&crate::wire::ConfigChecksum<'de>> {
33606 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
33607 }
33608 }
33609
33610 impl<'de> ::core::fmt::Debug for ConfigValuesData<'de> {
33611 fn fmt(
33612 &self,
33613 f: &mut ::core::fmt::Formatter<'_>,
33614 ) -> ::core::result::Result<(), ::core::fmt::Error> {
33615 f.debug_struct("ConfigValuesData")
33616 .field("values", &self.values())
33617 .field("checksum", &self.checksum())
33618 .finish()
33619 }
33620 }
33621
33622 impl<'de> ::fidl_next::IntoNatural for ConfigValuesData<'de> {
33623 type Natural = crate::natural::ConfigValuesData;
33624 }
33625
33626 impl ::fidl_next::Unconstrained for ConfigValuesData<'_> {}
33627
33628 #[repr(C)]
33630 pub struct EventSubscription<'de> {
33631 pub(crate) table: ::fidl_next::WireTable<'de>,
33632 }
33633
33634 impl<'de> Drop for EventSubscription<'de> {
33635 fn drop(&mut self) {
33636 let _ = self.table.get(1).map(|envelope| unsafe {
33637 envelope.read_unchecked::<::fidl_next::WireString<'de>>()
33638 });
33639 }
33640 }
33641
33642 unsafe impl ::fidl_next::Wire for EventSubscription<'static> {
33643 type Owned<'de> = EventSubscription<'de>;
33644
33645 #[inline]
33646 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
33647 ::fidl_next::munge!(let Self { table } = out);
33648 ::fidl_next::WireTable::zero_padding(table);
33649 }
33650 }
33651
33652 unsafe impl<___D> ::fidl_next::Decode<___D> for EventSubscription<'static>
33653 where
33654 ___D: ::fidl_next::Decoder + ?Sized,
33655 {
33656 fn decode(
33657 slot: ::fidl_next::Slot<'_, Self>,
33658 decoder: &mut ___D,
33659 _: (),
33660 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
33661 ::fidl_next::munge!(let Self { table } = slot);
33662
33663 ::fidl_next::WireTable::decode_with(table, decoder, |ordinal, mut slot, decoder| {
33664 match ordinal {
33665 0 => unsafe { ::core::hint::unreachable_unchecked() },
33666
33667 1 => {
33668 ::fidl_next::WireEnvelope::decode_as::<
33669 ___D,
33670 ::fidl_next::WireString<'static>,
33671 >(slot.as_mut(), decoder, 100)?;
33672
33673 let value = unsafe {
33674 slot.deref_unchecked().deref_unchecked::<::fidl_next::WireString<'_>>()
33675 };
33676
33677 if value.len() > 100 {
33678 return Err(::fidl_next::DecodeError::VectorTooLong {
33679 size: value.len() as u64,
33680 limit: 100,
33681 });
33682 }
33683
33684 Ok(())
33685 }
33686
33687 _ => ::fidl_next::WireEnvelope::decode_unknown(slot, decoder),
33688 }
33689 })
33690 }
33691 }
33692
33693 impl<'de> EventSubscription<'de> {
33694 pub fn event_name(&self) -> ::core::option::Option<&::fidl_next::WireString<'de>> {
33695 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
33696 }
33697 }
33698
33699 impl<'de> ::core::fmt::Debug for EventSubscription<'de> {
33700 fn fmt(
33701 &self,
33702 f: &mut ::core::fmt::Formatter<'_>,
33703 ) -> ::core::result::Result<(), ::core::fmt::Error> {
33704 f.debug_struct("EventSubscription").field("event_name", &self.event_name()).finish()
33705 }
33706 }
33707
33708 impl<'de> ::fidl_next::IntoNatural for EventSubscription<'de> {
33709 type Natural = crate::natural::EventSubscription;
33710 }
33711
33712 impl ::fidl_next::Unconstrained for EventSubscription<'_> {}
33713
33714 #[repr(transparent)]
33716 pub struct LayoutParameter<'de> {
33717 pub(crate) raw: ::fidl_next::RawWireUnion,
33718 pub(crate) _phantom: ::core::marker::PhantomData<&'de mut [::fidl_next::Chunk]>,
33719 }
33720
33721 impl<'de> Drop for LayoutParameter<'de> {
33722 fn drop(&mut self) {
33723 match self.raw.ordinal() {
33724 1 => {
33725 let _ =
33726 unsafe { self.raw.get().read_unchecked::<crate::wire::ConfigType<'de>>() };
33727 }
33728
33729 _ => (),
33730 }
33731 }
33732 }
33733
33734 unsafe impl ::fidl_next::Wire for LayoutParameter<'static> {
33735 type Owned<'de> = LayoutParameter<'de>;
33736
33737 #[inline]
33738 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
33739 ::fidl_next::munge!(let Self { raw, _phantom: _ } = out);
33740 ::fidl_next::RawWireUnion::zero_padding(raw);
33741 }
33742 }
33743
33744 pub mod layout_parameter {
33745 pub enum Ref<'de> {
33746 NestedType(&'de crate::wire::ConfigType<'de>),
33747
33748 UnknownOrdinal_(u64),
33749 }
33750 }
33751
33752 impl<'de> LayoutParameter<'de> {
33753 pub fn as_ref(&self) -> crate::wire::layout_parameter::Ref<'_> {
33754 match self.raw.ordinal() {
33755 1 => crate::wire::layout_parameter::Ref::NestedType(unsafe {
33756 self.raw.get().deref_unchecked::<crate::wire::ConfigType<'_>>()
33757 }),
33758
33759 unknown => crate::wire::layout_parameter::Ref::UnknownOrdinal_(unknown),
33760 }
33761 }
33762 }
33763
33764 unsafe impl<___D> ::fidl_next::Decode<___D> for LayoutParameter<'static>
33765 where
33766 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
33767 ___D: ::fidl_next::Decoder,
33768 {
33769 fn decode(
33770 mut slot: ::fidl_next::Slot<'_, Self>,
33771 decoder: &mut ___D,
33772 _: (),
33773 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
33774 ::fidl_next::munge!(let Self { mut raw, _phantom: _ } = slot.as_mut());
33775 match ::fidl_next::RawWireUnion::encoded_ordinal(raw.as_mut()) {
33776 1 => {
33777 ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::ConfigType<'static>>(
33778 raw,
33779 decoder,
33780 (),
33781 )?
33782 }
33783
33784 _ => ::fidl_next::RawWireUnion::decode_unknown(raw, decoder)?,
33785 }
33786
33787 Ok(())
33788 }
33789 }
33790
33791 impl<'de> ::core::fmt::Debug for LayoutParameter<'de> {
33792 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
33793 match self.raw.ordinal() {
33794 1 => unsafe {
33795 self.raw.get().deref_unchecked::<crate::wire::ConfigType<'_>>().fmt(f)
33796 },
33797 _ => unsafe { ::core::hint::unreachable_unchecked() },
33798 }
33799 }
33800 }
33801
33802 impl<'de> ::fidl_next::IntoNatural for LayoutParameter<'de> {
33803 type Natural = crate::natural::LayoutParameter;
33804 }
33805
33806 impl ::fidl_next::Unconstrained for LayoutParameter<'static> {}
33807
33808 #[derive(Debug)]
33810 #[repr(C)]
33811 pub struct ResolvedConfigField<'de> {
33812 pub key: ::fidl_next::WireString<'de>,
33813
33814 pub value: crate::wire::ConfigValue<'de>,
33815 }
33816
33817 static_assertions::const_assert_eq!(std::mem::size_of::<ResolvedConfigField<'_>>(), 32);
33818 static_assertions::const_assert_eq!(std::mem::align_of::<ResolvedConfigField<'_>>(), 8);
33819
33820 static_assertions::const_assert_eq!(std::mem::offset_of!(ResolvedConfigField<'_>, key), 0);
33821
33822 static_assertions::const_assert_eq!(std::mem::offset_of!(ResolvedConfigField<'_>, value), 16);
33823
33824 unsafe impl ::fidl_next::Wire for ResolvedConfigField<'static> {
33825 type Owned<'de> = ResolvedConfigField<'de>;
33826
33827 #[inline]
33828 fn zero_padding(out_: &mut ::core::mem::MaybeUninit<Self>) {
33829 ::fidl_next::munge! {
33830 let Self {
33831
33832 key,
33833 value,
33834
33835 } = &mut *out_;
33836 }
33837
33838 ::fidl_next::Wire::zero_padding(key);
33839
33840 ::fidl_next::Wire::zero_padding(value);
33841 }
33842 }
33843
33844 unsafe impl<___D> ::fidl_next::Decode<___D> for ResolvedConfigField<'static>
33845 where
33846 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
33847 ___D: ::fidl_next::Decoder,
33848 {
33849 fn decode(
33850 slot_: ::fidl_next::Slot<'_, Self>,
33851 decoder_: &mut ___D,
33852 _: (),
33853 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
33854 ::fidl_next::munge! {
33855 let Self {
33856
33857 mut key,
33858 mut value,
33859
33860 } = slot_;
33861 }
33862
33863 let _field = key.as_mut();
33864 ::fidl_next::Constrained::validate(_field, 4294967295)?;
33865 ::fidl_next::Decode::decode(key.as_mut(), decoder_, 4294967295)?;
33866
33867 let _field = value.as_mut();
33868
33869 ::fidl_next::Decode::decode(value.as_mut(), decoder_, ())?;
33870
33871 Ok(())
33872 }
33873 }
33874
33875 impl<'de> ::fidl_next::IntoNatural for ResolvedConfigField<'de> {
33876 type Natural = crate::natural::ResolvedConfigField;
33877 }
33878
33879 impl ::fidl_next::Unconstrained for ResolvedConfigField<'static> {}
33880
33881 #[derive(Debug)]
33883 #[repr(C)]
33884 pub struct ResolvedConfig<'de> {
33885 pub fields: ::fidl_next::WireVector<'de, crate::wire::ResolvedConfigField<'de>>,
33886
33887 pub checksum: crate::wire::ConfigChecksum<'de>,
33888 }
33889
33890 static_assertions::const_assert_eq!(std::mem::size_of::<ResolvedConfig<'_>>(), 32);
33891 static_assertions::const_assert_eq!(std::mem::align_of::<ResolvedConfig<'_>>(), 8);
33892
33893 static_assertions::const_assert_eq!(std::mem::offset_of!(ResolvedConfig<'_>, fields), 0);
33894
33895 static_assertions::const_assert_eq!(std::mem::offset_of!(ResolvedConfig<'_>, checksum), 16);
33896
33897 unsafe impl ::fidl_next::Wire for ResolvedConfig<'static> {
33898 type Owned<'de> = ResolvedConfig<'de>;
33899
33900 #[inline]
33901 fn zero_padding(out_: &mut ::core::mem::MaybeUninit<Self>) {
33902 ::fidl_next::munge! {
33903 let Self {
33904
33905 fields,
33906 checksum,
33907
33908 } = &mut *out_;
33909 }
33910
33911 ::fidl_next::Wire::zero_padding(fields);
33912
33913 ::fidl_next::Wire::zero_padding(checksum);
33914 }
33915 }
33916
33917 unsafe impl<___D> ::fidl_next::Decode<___D> for ResolvedConfig<'static>
33918 where
33919 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
33920 ___D: ::fidl_next::Decoder,
33921 {
33922 fn decode(
33923 slot_: ::fidl_next::Slot<'_, Self>,
33924 decoder_: &mut ___D,
33925 _: (),
33926 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
33927 ::fidl_next::munge! {
33928 let Self {
33929
33930 mut fields,
33931 mut checksum,
33932
33933 } = slot_;
33934 }
33935
33936 let _field = fields.as_mut();
33937 ::fidl_next::Constrained::validate(_field, (4294967295, ()))?;
33938 ::fidl_next::Decode::decode(fields.as_mut(), decoder_, (4294967295, ()))?;
33939
33940 let _field = checksum.as_mut();
33941
33942 ::fidl_next::Decode::decode(checksum.as_mut(), decoder_, ())?;
33943
33944 Ok(())
33945 }
33946 }
33947
33948 impl<'de> ::fidl_next::IntoNatural for ResolvedConfig<'de> {
33949 type Natural = crate::natural::ResolvedConfig;
33950 }
33951
33952 impl ::fidl_next::Unconstrained for ResolvedConfig<'static> {}
33953}
33954
33955pub mod wire_optional {
33956
33957 #[repr(transparent)]
33958 pub struct ConfigSingleValue<'de> {
33959 pub(crate) raw: ::fidl_next::RawWireUnion,
33960 pub(crate) _phantom: ::core::marker::PhantomData<&'de mut [::fidl_next::Chunk]>,
33961 }
33962
33963 unsafe impl ::fidl_next::Wire for ConfigSingleValue<'static> {
33964 type Owned<'de> = ConfigSingleValue<'de>;
33965
33966 #[inline]
33967 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
33968 ::fidl_next::munge!(let Self { raw, _phantom: _ } = out);
33969 ::fidl_next::RawWireUnion::zero_padding(raw);
33970 }
33971 }
33972
33973 impl<'de> ConfigSingleValue<'de> {
33974 pub fn is_some(&self) -> bool {
33975 self.raw.is_some()
33976 }
33977
33978 pub fn is_none(&self) -> bool {
33979 self.raw.is_none()
33980 }
33981
33982 pub fn as_ref(&self) -> ::core::option::Option<&crate::wire::ConfigSingleValue<'de>> {
33983 if self.is_some() { Some(unsafe { &*(self as *const Self).cast() }) } else { None }
33984 }
33985
33986 pub fn into_option(self) -> ::core::option::Option<crate::wire::ConfigSingleValue<'de>> {
33987 if self.is_some() {
33988 Some(crate::wire::ConfigSingleValue {
33989 raw: self.raw,
33990 _phantom: ::core::marker::PhantomData,
33991 })
33992 } else {
33993 None
33994 }
33995 }
33996 }
33997
33998 unsafe impl<___D> ::fidl_next::Decode<___D> for ConfigSingleValue<'static>
33999 where
34000 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
34001 ___D: ::fidl_next::Decoder,
34002 {
34003 fn decode(
34004 mut slot: ::fidl_next::Slot<'_, Self>,
34005 decoder: &mut ___D,
34006 _: (),
34007 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
34008 ::fidl_next::munge!(let Self { mut raw, _phantom: _ } = slot.as_mut());
34009 match ::fidl_next::RawWireUnion::encoded_ordinal(raw.as_mut()) {
34010 1 => ::fidl_next::RawWireUnion::decode_as::<___D, bool>(raw, decoder, ())?,
34011
34012 2 => ::fidl_next::RawWireUnion::decode_as::<___D, u8>(raw, decoder, ())?,
34013
34014 3 => ::fidl_next::RawWireUnion::decode_as::<___D, ::fidl_next::WireU16>(
34015 raw,
34016 decoder,
34017 (),
34018 )?,
34019
34020 4 => ::fidl_next::RawWireUnion::decode_as::<___D, ::fidl_next::WireU32>(
34021 raw,
34022 decoder,
34023 (),
34024 )?,
34025
34026 5 => ::fidl_next::RawWireUnion::decode_as::<___D, ::fidl_next::WireU64>(
34027 raw,
34028 decoder,
34029 (),
34030 )?,
34031
34032 6 => ::fidl_next::RawWireUnion::decode_as::<___D, i8>(raw, decoder, ())?,
34033
34034 7 => ::fidl_next::RawWireUnion::decode_as::<___D, ::fidl_next::WireI16>(
34035 raw,
34036 decoder,
34037 (),
34038 )?,
34039
34040 8 => ::fidl_next::RawWireUnion::decode_as::<___D, ::fidl_next::WireI32>(
34041 raw,
34042 decoder,
34043 (),
34044 )?,
34045
34046 9 => ::fidl_next::RawWireUnion::decode_as::<___D, ::fidl_next::WireI64>(
34047 raw,
34048 decoder,
34049 (),
34050 )?,
34051
34052 10 => {
34053 ::fidl_next::RawWireUnion::decode_as::<___D, ::fidl_next::WireString<'static>>(
34054 raw, decoder, 4294967295,
34055 )?
34056 }
34057
34058 0 => ::fidl_next::RawWireUnion::decode_absent(raw)?,
34059 _ => ::fidl_next::RawWireUnion::decode_unknown(raw, decoder)?,
34060 }
34061
34062 Ok(())
34063 }
34064 }
34065
34066 impl<'de> ::core::fmt::Debug for ConfigSingleValue<'de> {
34067 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
34068 self.as_ref().fmt(f)
34069 }
34070 }
34071
34072 impl<'de> ::fidl_next::IntoNatural for ConfigSingleValue<'de> {
34073 type Natural = ::core::option::Option<crate::natural::ConfigSingleValue>;
34074 }
34075
34076 impl ::fidl_next::Unconstrained for ConfigSingleValue<'static> {}
34077
34078 #[repr(transparent)]
34079 pub struct ConfigVectorValue<'de> {
34080 pub(crate) raw: ::fidl_next::RawWireUnion,
34081 pub(crate) _phantom: ::core::marker::PhantomData<&'de mut [::fidl_next::Chunk]>,
34082 }
34083
34084 unsafe impl ::fidl_next::Wire for ConfigVectorValue<'static> {
34085 type Owned<'de> = ConfigVectorValue<'de>;
34086
34087 #[inline]
34088 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
34089 ::fidl_next::munge!(let Self { raw, _phantom: _ } = out);
34090 ::fidl_next::RawWireUnion::zero_padding(raw);
34091 }
34092 }
34093
34094 impl<'de> ConfigVectorValue<'de> {
34095 pub fn is_some(&self) -> bool {
34096 self.raw.is_some()
34097 }
34098
34099 pub fn is_none(&self) -> bool {
34100 self.raw.is_none()
34101 }
34102
34103 pub fn as_ref(&self) -> ::core::option::Option<&crate::wire::ConfigVectorValue<'de>> {
34104 if self.is_some() { Some(unsafe { &*(self as *const Self).cast() }) } else { None }
34105 }
34106
34107 pub fn into_option(self) -> ::core::option::Option<crate::wire::ConfigVectorValue<'de>> {
34108 if self.is_some() {
34109 Some(crate::wire::ConfigVectorValue {
34110 raw: self.raw,
34111 _phantom: ::core::marker::PhantomData,
34112 })
34113 } else {
34114 None
34115 }
34116 }
34117 }
34118
34119 unsafe impl<___D> ::fidl_next::Decode<___D> for ConfigVectorValue<'static>
34120 where
34121 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
34122 ___D: ::fidl_next::Decoder,
34123 {
34124 fn decode(
34125 mut slot: ::fidl_next::Slot<'_, Self>,
34126 decoder: &mut ___D,
34127 _: (),
34128 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
34129 ::fidl_next::munge!(let Self { mut raw, _phantom: _ } = slot.as_mut());
34130 match ::fidl_next::RawWireUnion::encoded_ordinal(raw.as_mut()) {
34131 1 => ::fidl_next::RawWireUnion::decode_as::<
34132 ___D,
34133 ::fidl_next::WireVector<'static, bool>,
34134 >(raw, decoder, (4294967295, ()))?,
34135
34136 2 => ::fidl_next::RawWireUnion::decode_as::<
34137 ___D,
34138 ::fidl_next::WireVector<'static, u8>,
34139 >(raw, decoder, (4294967295, ()))?,
34140
34141 3 => ::fidl_next::RawWireUnion::decode_as::<
34142 ___D,
34143 ::fidl_next::WireVector<'static, ::fidl_next::WireU16>,
34144 >(raw, decoder, (4294967295, ()))?,
34145
34146 4 => ::fidl_next::RawWireUnion::decode_as::<
34147 ___D,
34148 ::fidl_next::WireVector<'static, ::fidl_next::WireU32>,
34149 >(raw, decoder, (4294967295, ()))?,
34150
34151 5 => ::fidl_next::RawWireUnion::decode_as::<
34152 ___D,
34153 ::fidl_next::WireVector<'static, ::fidl_next::WireU64>,
34154 >(raw, decoder, (4294967295, ()))?,
34155
34156 6 => ::fidl_next::RawWireUnion::decode_as::<
34157 ___D,
34158 ::fidl_next::WireVector<'static, i8>,
34159 >(raw, decoder, (4294967295, ()))?,
34160
34161 7 => ::fidl_next::RawWireUnion::decode_as::<
34162 ___D,
34163 ::fidl_next::WireVector<'static, ::fidl_next::WireI16>,
34164 >(raw, decoder, (4294967295, ()))?,
34165
34166 8 => ::fidl_next::RawWireUnion::decode_as::<
34167 ___D,
34168 ::fidl_next::WireVector<'static, ::fidl_next::WireI32>,
34169 >(raw, decoder, (4294967295, ()))?,
34170
34171 9 => ::fidl_next::RawWireUnion::decode_as::<
34172 ___D,
34173 ::fidl_next::WireVector<'static, ::fidl_next::WireI64>,
34174 >(raw, decoder, (4294967295, ()))?,
34175
34176 10 => ::fidl_next::RawWireUnion::decode_as::<
34177 ___D,
34178 ::fidl_next::WireVector<'static, ::fidl_next::WireString<'static>>,
34179 >(raw, decoder, (4294967295, 4294967295))?,
34180
34181 0 => ::fidl_next::RawWireUnion::decode_absent(raw)?,
34182 _ => ::fidl_next::RawWireUnion::decode_unknown(raw, decoder)?,
34183 }
34184
34185 Ok(())
34186 }
34187 }
34188
34189 impl<'de> ::core::fmt::Debug for ConfigVectorValue<'de> {
34190 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
34191 self.as_ref().fmt(f)
34192 }
34193 }
34194
34195 impl<'de> ::fidl_next::IntoNatural for ConfigVectorValue<'de> {
34196 type Natural = ::core::option::Option<crate::natural::ConfigVectorValue>;
34197 }
34198
34199 impl ::fidl_next::Unconstrained for ConfigVectorValue<'static> {}
34200
34201 #[repr(transparent)]
34202 pub struct ConfigValue<'de> {
34203 pub(crate) raw: ::fidl_next::RawWireUnion,
34204 pub(crate) _phantom: ::core::marker::PhantomData<&'de mut [::fidl_next::Chunk]>,
34205 }
34206
34207 unsafe impl ::fidl_next::Wire for ConfigValue<'static> {
34208 type Owned<'de> = ConfigValue<'de>;
34209
34210 #[inline]
34211 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
34212 ::fidl_next::munge!(let Self { raw, _phantom: _ } = out);
34213 ::fidl_next::RawWireUnion::zero_padding(raw);
34214 }
34215 }
34216
34217 impl<'de> ConfigValue<'de> {
34218 pub fn is_some(&self) -> bool {
34219 self.raw.is_some()
34220 }
34221
34222 pub fn is_none(&self) -> bool {
34223 self.raw.is_none()
34224 }
34225
34226 pub fn as_ref(&self) -> ::core::option::Option<&crate::wire::ConfigValue<'de>> {
34227 if self.is_some() { Some(unsafe { &*(self as *const Self).cast() }) } else { None }
34228 }
34229
34230 pub fn into_option(self) -> ::core::option::Option<crate::wire::ConfigValue<'de>> {
34231 if self.is_some() {
34232 Some(crate::wire::ConfigValue {
34233 raw: self.raw,
34234 _phantom: ::core::marker::PhantomData,
34235 })
34236 } else {
34237 None
34238 }
34239 }
34240 }
34241
34242 unsafe impl<___D> ::fidl_next::Decode<___D> for ConfigValue<'static>
34243 where
34244 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
34245 ___D: ::fidl_next::Decoder,
34246 {
34247 fn decode(
34248 mut slot: ::fidl_next::Slot<'_, Self>,
34249 decoder: &mut ___D,
34250 _: (),
34251 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
34252 ::fidl_next::munge!(let Self { mut raw, _phantom: _ } = slot.as_mut());
34253 match ::fidl_next::RawWireUnion::encoded_ordinal(raw.as_mut()) {
34254 1 => ::fidl_next::RawWireUnion::decode_as::<
34255 ___D,
34256 crate::wire::ConfigSingleValue<'static>,
34257 >(raw, decoder, ())?,
34258
34259 2 => ::fidl_next::RawWireUnion::decode_as::<
34260 ___D,
34261 crate::wire::ConfigVectorValue<'static>,
34262 >(raw, decoder, ())?,
34263
34264 0 => ::fidl_next::RawWireUnion::decode_absent(raw)?,
34265 _ => ::fidl_next::RawWireUnion::decode_unknown(raw, decoder)?,
34266 }
34267
34268 Ok(())
34269 }
34270 }
34271
34272 impl<'de> ::core::fmt::Debug for ConfigValue<'de> {
34273 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
34274 self.as_ref().fmt(f)
34275 }
34276 }
34277
34278 impl<'de> ::fidl_next::IntoNatural for ConfigValue<'de> {
34279 type Natural = ::core::option::Option<crate::natural::ConfigValue>;
34280 }
34281
34282 impl ::fidl_next::Unconstrained for ConfigValue<'static> {}
34283
34284 #[repr(transparent)]
34285 pub struct Ref<'de> {
34286 pub(crate) raw: ::fidl_next::RawWireUnion,
34287 pub(crate) _phantom: ::core::marker::PhantomData<&'de mut [::fidl_next::Chunk]>,
34288 }
34289
34290 unsafe impl ::fidl_next::Wire for Ref<'static> {
34291 type Owned<'de> = Ref<'de>;
34292
34293 #[inline]
34294 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
34295 ::fidl_next::munge!(let Self { raw, _phantom: _ } = out);
34296 ::fidl_next::RawWireUnion::zero_padding(raw);
34297 }
34298 }
34299
34300 impl<'de> Ref<'de> {
34301 pub fn is_some(&self) -> bool {
34302 self.raw.is_some()
34303 }
34304
34305 pub fn is_none(&self) -> bool {
34306 self.raw.is_none()
34307 }
34308
34309 pub fn as_ref(&self) -> ::core::option::Option<&crate::wire::Ref<'de>> {
34310 if self.is_some() { Some(unsafe { &*(self as *const Self).cast() }) } else { None }
34311 }
34312
34313 pub fn into_option(self) -> ::core::option::Option<crate::wire::Ref<'de>> {
34314 if self.is_some() {
34315 Some(crate::wire::Ref { raw: self.raw, _phantom: ::core::marker::PhantomData })
34316 } else {
34317 None
34318 }
34319 }
34320 }
34321
34322 unsafe impl<___D> ::fidl_next::Decode<___D> for Ref<'static>
34323 where
34324 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
34325 ___D: ::fidl_next::Decoder,
34326 {
34327 fn decode(
34328 mut slot: ::fidl_next::Slot<'_, Self>,
34329 decoder: &mut ___D,
34330 _: (),
34331 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
34332 ::fidl_next::munge!(let Self { mut raw, _phantom: _ } = slot.as_mut());
34333 match ::fidl_next::RawWireUnion::encoded_ordinal(raw.as_mut()) {
34334 1 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::ParentRef>(
34335 raw,
34336 decoder,
34337 (),
34338 )?,
34339
34340 2 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::SelfRef>(
34341 raw,
34342 decoder,
34343 (),
34344 )?,
34345
34346 3 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::ChildRef<'static>>(
34347 raw,
34348 decoder,
34349 (),
34350 )?,
34351
34352 4 => ::fidl_next::RawWireUnion::decode_as::<
34353 ___D,
34354 crate::wire::CollectionRef<'static>,
34355 >(raw, decoder, ())?,
34356
34357 5 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::FrameworkRef>(
34358 raw,
34359 decoder,
34360 (),
34361 )?,
34362
34363 6 => ::fidl_next::RawWireUnion::decode_as::<
34364 ___D,
34365 crate::wire::CapabilityRef<'static>,
34366 >(raw, decoder, ())?,
34367
34368 7 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::DebugRef>(
34369 raw,
34370 decoder,
34371 (),
34372 )?,
34373
34374 8 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::VoidRef>(
34375 raw,
34376 decoder,
34377 (),
34378 )?,
34379
34380 9 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::EnvironmentRef>(
34381 raw,
34382 decoder,
34383 (),
34384 )?,
34385
34386 0 => ::fidl_next::RawWireUnion::decode_absent(raw)?,
34387 _ => ::fidl_next::RawWireUnion::decode_unknown(raw, decoder)?,
34388 }
34389
34390 Ok(())
34391 }
34392 }
34393
34394 impl<'de> ::core::fmt::Debug for Ref<'de> {
34395 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
34396 self.as_ref().fmt(f)
34397 }
34398 }
34399
34400 impl<'de> ::fidl_next::IntoNatural for Ref<'de> {
34401 type Natural = ::core::option::Option<crate::natural::Ref>;
34402 }
34403
34404 impl ::fidl_next::Unconstrained for Ref<'static> {}
34405
34406 #[repr(transparent)]
34407 pub struct Capability<'de> {
34408 pub(crate) raw: ::fidl_next::RawWireUnion,
34409 pub(crate) _phantom: ::core::marker::PhantomData<&'de mut [::fidl_next::Chunk]>,
34410 }
34411
34412 unsafe impl ::fidl_next::Wire for Capability<'static> {
34413 type Owned<'de> = Capability<'de>;
34414
34415 #[inline]
34416 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
34417 ::fidl_next::munge!(let Self { raw, _phantom: _ } = out);
34418 ::fidl_next::RawWireUnion::zero_padding(raw);
34419 }
34420 }
34421
34422 impl<'de> Capability<'de> {
34423 pub fn is_some(&self) -> bool {
34424 self.raw.is_some()
34425 }
34426
34427 pub fn is_none(&self) -> bool {
34428 self.raw.is_none()
34429 }
34430
34431 pub fn as_ref(&self) -> ::core::option::Option<&crate::wire::Capability<'de>> {
34432 if self.is_some() { Some(unsafe { &*(self as *const Self).cast() }) } else { None }
34433 }
34434
34435 pub fn into_option(self) -> ::core::option::Option<crate::wire::Capability<'de>> {
34436 if self.is_some() {
34437 Some(crate::wire::Capability {
34438 raw: self.raw,
34439 _phantom: ::core::marker::PhantomData,
34440 })
34441 } else {
34442 None
34443 }
34444 }
34445 }
34446
34447 unsafe impl<___D> ::fidl_next::Decode<___D> for Capability<'static>
34448 where
34449 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
34450 ___D: ::fidl_next::Decoder,
34451 {
34452 fn decode(
34453 mut slot: ::fidl_next::Slot<'_, Self>,
34454 decoder: &mut ___D,
34455 _: (),
34456 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
34457 ::fidl_next::munge!(let Self { mut raw, _phantom: _ } = slot.as_mut());
34458 match ::fidl_next::RawWireUnion::encoded_ordinal(raw.as_mut()) {
34459 1 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::Service<'static>>(
34460 raw,
34461 decoder,
34462 (),
34463 )?,
34464
34465 2 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::Protocol<'static>>(
34466 raw,
34467 decoder,
34468 (),
34469 )?,
34470
34471 3 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::Directory<'static>>(
34472 raw,
34473 decoder,
34474 (),
34475 )?,
34476
34477 4 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::Storage<'static>>(
34478 raw,
34479 decoder,
34480 (),
34481 )?,
34482
34483 5 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::Runner<'static>>(
34484 raw,
34485 decoder,
34486 (),
34487 )?,
34488
34489 6 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::Resolver<'static>>(
34490 raw,
34491 decoder,
34492 (),
34493 )?,
34494
34495 8 => {
34496 ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::EventStream<'static>>(
34497 raw,
34498 decoder,
34499 (),
34500 )?
34501 }
34502
34503 9 => {
34504 ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::Dictionary<'static>>(
34505 raw,
34506 decoder,
34507 (),
34508 )?
34509 }
34510
34511 10 => ::fidl_next::RawWireUnion::decode_as::<
34512 ___D,
34513 crate::wire::Configuration<'static>,
34514 >(raw, decoder, ())?,
34515
34516 0 => ::fidl_next::RawWireUnion::decode_absent(raw)?,
34517 _ => ::fidl_next::RawWireUnion::decode_unknown(raw, decoder)?,
34518 }
34519
34520 Ok(())
34521 }
34522 }
34523
34524 impl<'de> ::core::fmt::Debug for Capability<'de> {
34525 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
34526 self.as_ref().fmt(f)
34527 }
34528 }
34529
34530 impl<'de> ::fidl_next::IntoNatural for Capability<'de> {
34531 type Natural = ::core::option::Option<crate::natural::Capability>;
34532 }
34533
34534 impl ::fidl_next::Unconstrained for Capability<'static> {}
34535
34536 #[repr(transparent)]
34537 pub struct LayoutConstraint<'de> {
34538 pub(crate) raw: ::fidl_next::RawWireUnion,
34539 pub(crate) _phantom: ::core::marker::PhantomData<&'de mut [::fidl_next::Chunk]>,
34540 }
34541
34542 unsafe impl ::fidl_next::Wire for LayoutConstraint<'static> {
34543 type Owned<'de> = LayoutConstraint<'de>;
34544
34545 #[inline]
34546 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
34547 ::fidl_next::munge!(let Self { raw, _phantom: _ } = out);
34548 ::fidl_next::RawWireUnion::zero_padding(raw);
34549 }
34550 }
34551
34552 impl<'de> LayoutConstraint<'de> {
34553 pub fn is_some(&self) -> bool {
34554 self.raw.is_some()
34555 }
34556
34557 pub fn is_none(&self) -> bool {
34558 self.raw.is_none()
34559 }
34560
34561 pub fn as_ref(&self) -> ::core::option::Option<&crate::wire::LayoutConstraint<'de>> {
34562 if self.is_some() { Some(unsafe { &*(self as *const Self).cast() }) } else { None }
34563 }
34564
34565 pub fn into_option(self) -> ::core::option::Option<crate::wire::LayoutConstraint<'de>> {
34566 if self.is_some() {
34567 Some(crate::wire::LayoutConstraint {
34568 raw: self.raw,
34569 _phantom: ::core::marker::PhantomData,
34570 })
34571 } else {
34572 None
34573 }
34574 }
34575 }
34576
34577 unsafe impl<___D> ::fidl_next::Decode<___D> for LayoutConstraint<'static>
34578 where
34579 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
34580 ___D: ::fidl_next::Decoder,
34581 {
34582 fn decode(
34583 mut slot: ::fidl_next::Slot<'_, Self>,
34584 decoder: &mut ___D,
34585 _: (),
34586 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
34587 ::fidl_next::munge!(let Self { mut raw, _phantom: _ } = slot.as_mut());
34588 match ::fidl_next::RawWireUnion::encoded_ordinal(raw.as_mut()) {
34589 1 => ::fidl_next::RawWireUnion::decode_as::<___D, ::fidl_next::WireU32>(
34590 raw,
34591 decoder,
34592 (),
34593 )?,
34594
34595 0 => ::fidl_next::RawWireUnion::decode_absent(raw)?,
34596 _ => ::fidl_next::RawWireUnion::decode_unknown(raw, decoder)?,
34597 }
34598
34599 Ok(())
34600 }
34601 }
34602
34603 impl<'de> ::core::fmt::Debug for LayoutConstraint<'de> {
34604 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
34605 self.as_ref().fmt(f)
34606 }
34607 }
34608
34609 impl<'de> ::fidl_next::IntoNatural for LayoutConstraint<'de> {
34610 type Natural = ::core::option::Option<crate::natural::LayoutConstraint>;
34611 }
34612
34613 impl ::fidl_next::Unconstrained for LayoutConstraint<'static> {}
34614
34615 #[repr(transparent)]
34616 pub struct ConfigChecksum<'de> {
34617 pub(crate) raw: ::fidl_next::RawWireUnion,
34618 pub(crate) _phantom: ::core::marker::PhantomData<&'de mut [::fidl_next::Chunk]>,
34619 }
34620
34621 unsafe impl ::fidl_next::Wire for ConfigChecksum<'static> {
34622 type Owned<'de> = ConfigChecksum<'de>;
34623
34624 #[inline]
34625 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
34626 ::fidl_next::munge!(let Self { raw, _phantom: _ } = out);
34627 ::fidl_next::RawWireUnion::zero_padding(raw);
34628 }
34629 }
34630
34631 impl<'de> ConfigChecksum<'de> {
34632 pub fn is_some(&self) -> bool {
34633 self.raw.is_some()
34634 }
34635
34636 pub fn is_none(&self) -> bool {
34637 self.raw.is_none()
34638 }
34639
34640 pub fn as_ref(&self) -> ::core::option::Option<&crate::wire::ConfigChecksum<'de>> {
34641 if self.is_some() { Some(unsafe { &*(self as *const Self).cast() }) } else { None }
34642 }
34643
34644 pub fn into_option(self) -> ::core::option::Option<crate::wire::ConfigChecksum<'de>> {
34645 if self.is_some() {
34646 Some(crate::wire::ConfigChecksum {
34647 raw: self.raw,
34648 _phantom: ::core::marker::PhantomData,
34649 })
34650 } else {
34651 None
34652 }
34653 }
34654 }
34655
34656 unsafe impl<___D> ::fidl_next::Decode<___D> for ConfigChecksum<'static>
34657 where
34658 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
34659 ___D: ::fidl_next::Decoder,
34660 {
34661 fn decode(
34662 mut slot: ::fidl_next::Slot<'_, Self>,
34663 decoder: &mut ___D,
34664 _: (),
34665 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
34666 ::fidl_next::munge!(let Self { mut raw, _phantom: _ } = slot.as_mut());
34667 match ::fidl_next::RawWireUnion::encoded_ordinal(raw.as_mut()) {
34668 1 => ::fidl_next::RawWireUnion::decode_as::<___D, [u8; 32]>(raw, decoder, ())?,
34669
34670 0 => ::fidl_next::RawWireUnion::decode_absent(raw)?,
34671 _ => ::fidl_next::RawWireUnion::decode_unknown(raw, decoder)?,
34672 }
34673
34674 Ok(())
34675 }
34676 }
34677
34678 impl<'de> ::core::fmt::Debug for ConfigChecksum<'de> {
34679 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
34680 self.as_ref().fmt(f)
34681 }
34682 }
34683
34684 impl<'de> ::fidl_next::IntoNatural for ConfigChecksum<'de> {
34685 type Natural = ::core::option::Option<crate::natural::ConfigChecksum>;
34686 }
34687
34688 impl ::fidl_next::Unconstrained for ConfigChecksum<'static> {}
34689
34690 #[repr(transparent)]
34691 pub struct Use<'de> {
34692 pub(crate) raw: ::fidl_next::RawWireUnion,
34693 pub(crate) _phantom: ::core::marker::PhantomData<&'de mut [::fidl_next::Chunk]>,
34694 }
34695
34696 unsafe impl ::fidl_next::Wire for Use<'static> {
34697 type Owned<'de> = Use<'de>;
34698
34699 #[inline]
34700 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
34701 ::fidl_next::munge!(let Self { raw, _phantom: _ } = out);
34702 ::fidl_next::RawWireUnion::zero_padding(raw);
34703 }
34704 }
34705
34706 impl<'de> Use<'de> {
34707 pub fn is_some(&self) -> bool {
34708 self.raw.is_some()
34709 }
34710
34711 pub fn is_none(&self) -> bool {
34712 self.raw.is_none()
34713 }
34714
34715 pub fn as_ref(&self) -> ::core::option::Option<&crate::wire::Use<'de>> {
34716 if self.is_some() { Some(unsafe { &*(self as *const Self).cast() }) } else { None }
34717 }
34718
34719 pub fn into_option(self) -> ::core::option::Option<crate::wire::Use<'de>> {
34720 if self.is_some() {
34721 Some(crate::wire::Use { raw: self.raw, _phantom: ::core::marker::PhantomData })
34722 } else {
34723 None
34724 }
34725 }
34726 }
34727
34728 unsafe impl<___D> ::fidl_next::Decode<___D> for Use<'static>
34729 where
34730 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
34731 ___D: ::fidl_next::Decoder,
34732 {
34733 fn decode(
34734 mut slot: ::fidl_next::Slot<'_, Self>,
34735 decoder: &mut ___D,
34736 _: (),
34737 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
34738 ::fidl_next::munge!(let Self { mut raw, _phantom: _ } = slot.as_mut());
34739 match ::fidl_next::RawWireUnion::encoded_ordinal(raw.as_mut()) {
34740 1 => {
34741 ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::UseService<'static>>(
34742 raw,
34743 decoder,
34744 (),
34745 )?
34746 }
34747
34748 2 => {
34749 ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::UseProtocol<'static>>(
34750 raw,
34751 decoder,
34752 (),
34753 )?
34754 }
34755
34756 3 => ::fidl_next::RawWireUnion::decode_as::<
34757 ___D,
34758 crate::wire::UseDirectory<'static>,
34759 >(raw, decoder, ())?,
34760
34761 4 => {
34762 ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::UseStorage<'static>>(
34763 raw,
34764 decoder,
34765 (),
34766 )?
34767 }
34768
34769 7 => ::fidl_next::RawWireUnion::decode_as::<
34770 ___D,
34771 crate::wire::UseEventStream<'static>,
34772 >(raw, decoder, ())?,
34773
34774 8 => ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::UseRunner<'static>>(
34775 raw,
34776 decoder,
34777 (),
34778 )?,
34779
34780 9 => ::fidl_next::RawWireUnion::decode_as::<
34781 ___D,
34782 crate::wire::UseConfiguration<'static>,
34783 >(raw, decoder, ())?,
34784
34785 10 => ::fidl_next::RawWireUnion::decode_as::<
34786 ___D,
34787 crate::wire::UseDictionary<'static>,
34788 >(raw, decoder, ())?,
34789
34790 0 => ::fidl_next::RawWireUnion::decode_absent(raw)?,
34791 _ => ::fidl_next::RawWireUnion::decode_unknown(raw, decoder)?,
34792 }
34793
34794 Ok(())
34795 }
34796 }
34797
34798 impl<'de> ::core::fmt::Debug for Use<'de> {
34799 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
34800 self.as_ref().fmt(f)
34801 }
34802 }
34803
34804 impl<'de> ::fidl_next::IntoNatural for Use<'de> {
34805 type Natural = ::core::option::Option<crate::natural::Use>;
34806 }
34807
34808 impl ::fidl_next::Unconstrained for Use<'static> {}
34809
34810 #[repr(transparent)]
34811 pub struct Expose<'de> {
34812 pub(crate) raw: ::fidl_next::RawWireUnion,
34813 pub(crate) _phantom: ::core::marker::PhantomData<&'de mut [::fidl_next::Chunk]>,
34814 }
34815
34816 unsafe impl ::fidl_next::Wire for Expose<'static> {
34817 type Owned<'de> = Expose<'de>;
34818
34819 #[inline]
34820 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
34821 ::fidl_next::munge!(let Self { raw, _phantom: _ } = out);
34822 ::fidl_next::RawWireUnion::zero_padding(raw);
34823 }
34824 }
34825
34826 impl<'de> Expose<'de> {
34827 pub fn is_some(&self) -> bool {
34828 self.raw.is_some()
34829 }
34830
34831 pub fn is_none(&self) -> bool {
34832 self.raw.is_none()
34833 }
34834
34835 pub fn as_ref(&self) -> ::core::option::Option<&crate::wire::Expose<'de>> {
34836 if self.is_some() { Some(unsafe { &*(self as *const Self).cast() }) } else { None }
34837 }
34838
34839 pub fn into_option(self) -> ::core::option::Option<crate::wire::Expose<'de>> {
34840 if self.is_some() {
34841 Some(crate::wire::Expose { raw: self.raw, _phantom: ::core::marker::PhantomData })
34842 } else {
34843 None
34844 }
34845 }
34846 }
34847
34848 unsafe impl<___D> ::fidl_next::Decode<___D> for Expose<'static>
34849 where
34850 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
34851 ___D: ::fidl_next::Decoder,
34852 {
34853 fn decode(
34854 mut slot: ::fidl_next::Slot<'_, Self>,
34855 decoder: &mut ___D,
34856 _: (),
34857 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
34858 ::fidl_next::munge!(let Self { mut raw, _phantom: _ } = slot.as_mut());
34859 match ::fidl_next::RawWireUnion::encoded_ordinal(raw.as_mut()) {
34860 1 => ::fidl_next::RawWireUnion::decode_as::<
34861 ___D,
34862 crate::wire::ExposeService<'static>,
34863 >(raw, decoder, ())?,
34864
34865 2 => ::fidl_next::RawWireUnion::decode_as::<
34866 ___D,
34867 crate::wire::ExposeProtocol<'static>,
34868 >(raw, decoder, ())?,
34869
34870 3 => ::fidl_next::RawWireUnion::decode_as::<
34871 ___D,
34872 crate::wire::ExposeDirectory<'static>,
34873 >(raw, decoder, ())?,
34874
34875 4 => ::fidl_next::RawWireUnion::decode_as::<
34876 ___D,
34877 crate::wire::ExposeRunner<'static>,
34878 >(raw, decoder, ())?,
34879
34880 5 => ::fidl_next::RawWireUnion::decode_as::<
34881 ___D,
34882 crate::wire::ExposeResolver<'static>,
34883 >(raw, decoder, ())?,
34884
34885 7 => ::fidl_next::RawWireUnion::decode_as::<
34886 ___D,
34887 crate::wire::ExposeDictionary<'static>,
34888 >(raw, decoder, ())?,
34889
34890 8 => ::fidl_next::RawWireUnion::decode_as::<
34891 ___D,
34892 crate::wire::ExposeConfiguration<'static>,
34893 >(raw, decoder, ())?,
34894
34895 0 => ::fidl_next::RawWireUnion::decode_absent(raw)?,
34896 _ => ::fidl_next::RawWireUnion::decode_unknown(raw, decoder)?,
34897 }
34898
34899 Ok(())
34900 }
34901 }
34902
34903 impl<'de> ::core::fmt::Debug for Expose<'de> {
34904 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
34905 self.as_ref().fmt(f)
34906 }
34907 }
34908
34909 impl<'de> ::fidl_next::IntoNatural for Expose<'de> {
34910 type Natural = ::core::option::Option<crate::natural::Expose>;
34911 }
34912
34913 impl ::fidl_next::Unconstrained for Expose<'static> {}
34914
34915 #[repr(transparent)]
34916 pub struct Offer<'de> {
34917 pub(crate) raw: ::fidl_next::RawWireUnion,
34918 pub(crate) _phantom: ::core::marker::PhantomData<&'de mut [::fidl_next::Chunk]>,
34919 }
34920
34921 unsafe impl ::fidl_next::Wire for Offer<'static> {
34922 type Owned<'de> = Offer<'de>;
34923
34924 #[inline]
34925 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
34926 ::fidl_next::munge!(let Self { raw, _phantom: _ } = out);
34927 ::fidl_next::RawWireUnion::zero_padding(raw);
34928 }
34929 }
34930
34931 impl<'de> Offer<'de> {
34932 pub fn is_some(&self) -> bool {
34933 self.raw.is_some()
34934 }
34935
34936 pub fn is_none(&self) -> bool {
34937 self.raw.is_none()
34938 }
34939
34940 pub fn as_ref(&self) -> ::core::option::Option<&crate::wire::Offer<'de>> {
34941 if self.is_some() { Some(unsafe { &*(self as *const Self).cast() }) } else { None }
34942 }
34943
34944 pub fn into_option(self) -> ::core::option::Option<crate::wire::Offer<'de>> {
34945 if self.is_some() {
34946 Some(crate::wire::Offer { raw: self.raw, _phantom: ::core::marker::PhantomData })
34947 } else {
34948 None
34949 }
34950 }
34951 }
34952
34953 unsafe impl<___D> ::fidl_next::Decode<___D> for Offer<'static>
34954 where
34955 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
34956 ___D: ::fidl_next::Decoder,
34957 {
34958 fn decode(
34959 mut slot: ::fidl_next::Slot<'_, Self>,
34960 decoder: &mut ___D,
34961 _: (),
34962 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
34963 ::fidl_next::munge!(let Self { mut raw, _phantom: _ } = slot.as_mut());
34964 match ::fidl_next::RawWireUnion::encoded_ordinal(raw.as_mut()) {
34965 1 => ::fidl_next::RawWireUnion::decode_as::<
34966 ___D,
34967 crate::wire::OfferService<'static>,
34968 >(raw, decoder, ())?,
34969
34970 2 => ::fidl_next::RawWireUnion::decode_as::<
34971 ___D,
34972 crate::wire::OfferProtocol<'static>,
34973 >(raw, decoder, ())?,
34974
34975 3 => ::fidl_next::RawWireUnion::decode_as::<
34976 ___D,
34977 crate::wire::OfferDirectory<'static>,
34978 >(raw, decoder, ())?,
34979
34980 4 => ::fidl_next::RawWireUnion::decode_as::<
34981 ___D,
34982 crate::wire::OfferStorage<'static>,
34983 >(raw, decoder, ())?,
34984
34985 5 => {
34986 ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::OfferRunner<'static>>(
34987 raw,
34988 decoder,
34989 (),
34990 )?
34991 }
34992
34993 6 => ::fidl_next::RawWireUnion::decode_as::<
34994 ___D,
34995 crate::wire::OfferResolver<'static>,
34996 >(raw, decoder, ())?,
34997
34998 8 => ::fidl_next::RawWireUnion::decode_as::<
34999 ___D,
35000 crate::wire::OfferEventStream<'static>,
35001 >(raw, decoder, ())?,
35002
35003 9 => ::fidl_next::RawWireUnion::decode_as::<
35004 ___D,
35005 crate::wire::OfferDictionary<'static>,
35006 >(raw, decoder, ())?,
35007
35008 10 => ::fidl_next::RawWireUnion::decode_as::<
35009 ___D,
35010 crate::wire::OfferConfiguration<'static>,
35011 >(raw, decoder, ())?,
35012
35013 0 => ::fidl_next::RawWireUnion::decode_absent(raw)?,
35014 _ => ::fidl_next::RawWireUnion::decode_unknown(raw, decoder)?,
35015 }
35016
35017 Ok(())
35018 }
35019 }
35020
35021 impl<'de> ::core::fmt::Debug for Offer<'de> {
35022 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
35023 self.as_ref().fmt(f)
35024 }
35025 }
35026
35027 impl<'de> ::fidl_next::IntoNatural for Offer<'de> {
35028 type Natural = ::core::option::Option<crate::natural::Offer>;
35029 }
35030
35031 impl ::fidl_next::Unconstrained for Offer<'static> {}
35032
35033 #[repr(transparent)]
35034 pub struct DebugRegistration<'de> {
35035 pub(crate) raw: ::fidl_next::RawWireUnion,
35036 pub(crate) _phantom: ::core::marker::PhantomData<&'de mut [::fidl_next::Chunk]>,
35037 }
35038
35039 unsafe impl ::fidl_next::Wire for DebugRegistration<'static> {
35040 type Owned<'de> = DebugRegistration<'de>;
35041
35042 #[inline]
35043 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
35044 ::fidl_next::munge!(let Self { raw, _phantom: _ } = out);
35045 ::fidl_next::RawWireUnion::zero_padding(raw);
35046 }
35047 }
35048
35049 impl<'de> DebugRegistration<'de> {
35050 pub fn is_some(&self) -> bool {
35051 self.raw.is_some()
35052 }
35053
35054 pub fn is_none(&self) -> bool {
35055 self.raw.is_none()
35056 }
35057
35058 pub fn as_ref(&self) -> ::core::option::Option<&crate::wire::DebugRegistration<'de>> {
35059 if self.is_some() { Some(unsafe { &*(self as *const Self).cast() }) } else { None }
35060 }
35061
35062 pub fn into_option(self) -> ::core::option::Option<crate::wire::DebugRegistration<'de>> {
35063 if self.is_some() {
35064 Some(crate::wire::DebugRegistration {
35065 raw: self.raw,
35066 _phantom: ::core::marker::PhantomData,
35067 })
35068 } else {
35069 None
35070 }
35071 }
35072 }
35073
35074 unsafe impl<___D> ::fidl_next::Decode<___D> for DebugRegistration<'static>
35075 where
35076 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
35077 ___D: ::fidl_next::Decoder,
35078 {
35079 fn decode(
35080 mut slot: ::fidl_next::Slot<'_, Self>,
35081 decoder: &mut ___D,
35082 _: (),
35083 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
35084 ::fidl_next::munge!(let Self { mut raw, _phantom: _ } = slot.as_mut());
35085 match ::fidl_next::RawWireUnion::encoded_ordinal(raw.as_mut()) {
35086 1 => ::fidl_next::RawWireUnion::decode_as::<
35087 ___D,
35088 crate::wire::DebugProtocolRegistration<'static>,
35089 >(raw, decoder, ())?,
35090
35091 0 => ::fidl_next::RawWireUnion::decode_absent(raw)?,
35092 _ => ::fidl_next::RawWireUnion::decode_unknown(raw, decoder)?,
35093 }
35094
35095 Ok(())
35096 }
35097 }
35098
35099 impl<'de> ::core::fmt::Debug for DebugRegistration<'de> {
35100 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
35101 self.as_ref().fmt(f)
35102 }
35103 }
35104
35105 impl<'de> ::fidl_next::IntoNatural for DebugRegistration<'de> {
35106 type Natural = ::core::option::Option<crate::natural::DebugRegistration>;
35107 }
35108
35109 impl ::fidl_next::Unconstrained for DebugRegistration<'static> {}
35110
35111 #[repr(transparent)]
35112 pub struct ConfigValueSource<'de> {
35113 pub(crate) raw: ::fidl_next::RawWireUnion,
35114 pub(crate) _phantom: ::core::marker::PhantomData<&'de mut [::fidl_next::Chunk]>,
35115 }
35116
35117 unsafe impl ::fidl_next::Wire for ConfigValueSource<'static> {
35118 type Owned<'de> = ConfigValueSource<'de>;
35119
35120 #[inline]
35121 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
35122 ::fidl_next::munge!(let Self { raw, _phantom: _ } = out);
35123 ::fidl_next::RawWireUnion::zero_padding(raw);
35124 }
35125 }
35126
35127 impl<'de> ConfigValueSource<'de> {
35128 pub fn is_some(&self) -> bool {
35129 self.raw.is_some()
35130 }
35131
35132 pub fn is_none(&self) -> bool {
35133 self.raw.is_none()
35134 }
35135
35136 pub fn as_ref(&self) -> ::core::option::Option<&crate::wire::ConfigValueSource<'de>> {
35137 if self.is_some() { Some(unsafe { &*(self as *const Self).cast() }) } else { None }
35138 }
35139
35140 pub fn into_option(self) -> ::core::option::Option<crate::wire::ConfigValueSource<'de>> {
35141 if self.is_some() {
35142 Some(crate::wire::ConfigValueSource {
35143 raw: self.raw,
35144 _phantom: ::core::marker::PhantomData,
35145 })
35146 } else {
35147 None
35148 }
35149 }
35150 }
35151
35152 unsafe impl<___D> ::fidl_next::Decode<___D> for ConfigValueSource<'static>
35153 where
35154 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
35155 ___D: ::fidl_next::Decoder,
35156 {
35157 fn decode(
35158 mut slot: ::fidl_next::Slot<'_, Self>,
35159 decoder: &mut ___D,
35160 _: (),
35161 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
35162 ::fidl_next::munge!(let Self { mut raw, _phantom: _ } = slot.as_mut());
35163 match ::fidl_next::RawWireUnion::encoded_ordinal(raw.as_mut()) {
35164 1 => {
35165 ::fidl_next::RawWireUnion::decode_as::<___D, ::fidl_next::WireString<'static>>(
35166 raw, decoder, 4294967295,
35167 )?
35168 }
35169
35170 2 => ::fidl_next::RawWireUnion::decode_as::<
35171 ___D,
35172 crate::wire::ConfigSourceCapabilities<'static>,
35173 >(raw, decoder, ())?,
35174
35175 0 => ::fidl_next::RawWireUnion::decode_absent(raw)?,
35176 _ => ::fidl_next::RawWireUnion::decode_unknown(raw, decoder)?,
35177 }
35178
35179 Ok(())
35180 }
35181 }
35182
35183 impl<'de> ::core::fmt::Debug for ConfigValueSource<'de> {
35184 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
35185 self.as_ref().fmt(f)
35186 }
35187 }
35188
35189 impl<'de> ::fidl_next::IntoNatural for ConfigValueSource<'de> {
35190 type Natural = ::core::option::Option<crate::natural::ConfigValueSource>;
35191 }
35192
35193 impl ::fidl_next::Unconstrained for ConfigValueSource<'static> {}
35194
35195 #[repr(transparent)]
35196 pub struct LayoutParameter<'de> {
35197 pub(crate) raw: ::fidl_next::RawWireUnion,
35198 pub(crate) _phantom: ::core::marker::PhantomData<&'de mut [::fidl_next::Chunk]>,
35199 }
35200
35201 unsafe impl ::fidl_next::Wire for LayoutParameter<'static> {
35202 type Owned<'de> = LayoutParameter<'de>;
35203
35204 #[inline]
35205 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
35206 ::fidl_next::munge!(let Self { raw, _phantom: _ } = out);
35207 ::fidl_next::RawWireUnion::zero_padding(raw);
35208 }
35209 }
35210
35211 impl<'de> LayoutParameter<'de> {
35212 pub fn is_some(&self) -> bool {
35213 self.raw.is_some()
35214 }
35215
35216 pub fn is_none(&self) -> bool {
35217 self.raw.is_none()
35218 }
35219
35220 pub fn as_ref(&self) -> ::core::option::Option<&crate::wire::LayoutParameter<'de>> {
35221 if self.is_some() { Some(unsafe { &*(self as *const Self).cast() }) } else { None }
35222 }
35223
35224 pub fn into_option(self) -> ::core::option::Option<crate::wire::LayoutParameter<'de>> {
35225 if self.is_some() {
35226 Some(crate::wire::LayoutParameter {
35227 raw: self.raw,
35228 _phantom: ::core::marker::PhantomData,
35229 })
35230 } else {
35231 None
35232 }
35233 }
35234 }
35235
35236 unsafe impl<___D> ::fidl_next::Decode<___D> for LayoutParameter<'static>
35237 where
35238 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
35239 ___D: ::fidl_next::Decoder,
35240 {
35241 fn decode(
35242 mut slot: ::fidl_next::Slot<'_, Self>,
35243 decoder: &mut ___D,
35244 _: (),
35245 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
35246 ::fidl_next::munge!(let Self { mut raw, _phantom: _ } = slot.as_mut());
35247 match ::fidl_next::RawWireUnion::encoded_ordinal(raw.as_mut()) {
35248 1 => {
35249 ::fidl_next::RawWireUnion::decode_as::<___D, crate::wire::ConfigType<'static>>(
35250 raw,
35251 decoder,
35252 (),
35253 )?
35254 }
35255
35256 0 => ::fidl_next::RawWireUnion::decode_absent(raw)?,
35257 _ => ::fidl_next::RawWireUnion::decode_unknown(raw, decoder)?,
35258 }
35259
35260 Ok(())
35261 }
35262 }
35263
35264 impl<'de> ::core::fmt::Debug for LayoutParameter<'de> {
35265 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
35266 self.as_ref().fmt(f)
35267 }
35268 }
35269
35270 impl<'de> ::fidl_next::IntoNatural for LayoutParameter<'de> {
35271 type Natural = ::core::option::Option<crate::natural::LayoutParameter>;
35272 }
35273
35274 impl ::fidl_next::Unconstrained for LayoutParameter<'static> {}
35275}
35276
35277pub mod generic {
35278
35279 pub struct ParentRef {}
35280
35281 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ParentRef, ___E> for ParentRef
35282 where
35283 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
35284 {
35285 #[inline]
35286 fn encode(
35287 self,
35288 encoder_: &mut ___E,
35289 out_: &mut ::core::mem::MaybeUninit<crate::wire::ParentRef>,
35290 _: (),
35291 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
35292 ::fidl_next::munge! {
35293 let crate::wire::ParentRef {
35294
35295 _empty,
35296
35297
35298 } = out_;
35299 }
35300
35301 Ok(())
35302 }
35303 }
35304
35305 pub struct SelfRef {}
35306
35307 unsafe impl<___E> ::fidl_next::Encode<crate::wire::SelfRef, ___E> for SelfRef
35308 where
35309 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
35310 {
35311 #[inline]
35312 fn encode(
35313 self,
35314 encoder_: &mut ___E,
35315 out_: &mut ::core::mem::MaybeUninit<crate::wire::SelfRef>,
35316 _: (),
35317 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
35318 ::fidl_next::munge! {
35319 let crate::wire::SelfRef {
35320
35321 _empty,
35322
35323
35324 } = out_;
35325 }
35326
35327 Ok(())
35328 }
35329 }
35330
35331 pub struct ChildRef<T0, T1> {
35332 pub name: T0,
35333
35334 pub collection: T1,
35335 }
35336
35337 unsafe impl<___E, T0, T1> ::fidl_next::Encode<crate::wire::ChildRef<'static>, ___E>
35338 for ChildRef<T0, T1>
35339 where
35340 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
35341 ___E: ::fidl_next::Encoder,
35342 T0: ::fidl_next::Encode<::fidl_next::WireString<'static>, ___E>,
35343 T1: ::fidl_next::Encode<::fidl_next::WireOptionalString<'static>, ___E>,
35344 {
35345 #[inline]
35346 fn encode(
35347 self,
35348 encoder_: &mut ___E,
35349 out_: &mut ::core::mem::MaybeUninit<crate::wire::ChildRef<'static>>,
35350 _: (),
35351 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
35352 ::fidl_next::munge! {
35353 let crate::wire::ChildRef {
35354
35355 name,
35356 collection,
35357
35358 } = out_;
35359 }
35360
35361 ::fidl_next::Encode::encode(self.name, encoder_, name, 1024)?;
35362
35363 ::fidl_next::Encode::encode(self.collection, encoder_, collection, 100)?;
35364
35365 Ok(())
35366 }
35367 }
35368
35369 pub struct CollectionRef<T0> {
35370 pub name: T0,
35371 }
35372
35373 unsafe impl<___E, T0> ::fidl_next::Encode<crate::wire::CollectionRef<'static>, ___E>
35374 for CollectionRef<T0>
35375 where
35376 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
35377 ___E: ::fidl_next::Encoder,
35378 T0: ::fidl_next::Encode<::fidl_next::WireString<'static>, ___E>,
35379 {
35380 #[inline]
35381 fn encode(
35382 self,
35383 encoder_: &mut ___E,
35384 out_: &mut ::core::mem::MaybeUninit<crate::wire::CollectionRef<'static>>,
35385 _: (),
35386 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
35387 ::fidl_next::munge! {
35388 let crate::wire::CollectionRef {
35389
35390 name,
35391
35392 } = out_;
35393 }
35394
35395 ::fidl_next::Encode::encode(self.name, encoder_, name, 100)?;
35396
35397 Ok(())
35398 }
35399 }
35400
35401 pub struct FrameworkRef {}
35402
35403 unsafe impl<___E> ::fidl_next::Encode<crate::wire::FrameworkRef, ___E> for FrameworkRef
35404 where
35405 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
35406 {
35407 #[inline]
35408 fn encode(
35409 self,
35410 encoder_: &mut ___E,
35411 out_: &mut ::core::mem::MaybeUninit<crate::wire::FrameworkRef>,
35412 _: (),
35413 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
35414 ::fidl_next::munge! {
35415 let crate::wire::FrameworkRef {
35416
35417 _empty,
35418
35419
35420 } = out_;
35421 }
35422
35423 Ok(())
35424 }
35425 }
35426
35427 pub struct CapabilityRef<T0> {
35428 pub name: T0,
35429 }
35430
35431 unsafe impl<___E, T0> ::fidl_next::Encode<crate::wire::CapabilityRef<'static>, ___E>
35432 for CapabilityRef<T0>
35433 where
35434 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
35435 ___E: ::fidl_next::Encoder,
35436 T0: ::fidl_next::Encode<::fidl_next::WireString<'static>, ___E>,
35437 {
35438 #[inline]
35439 fn encode(
35440 self,
35441 encoder_: &mut ___E,
35442 out_: &mut ::core::mem::MaybeUninit<crate::wire::CapabilityRef<'static>>,
35443 _: (),
35444 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
35445 ::fidl_next::munge! {
35446 let crate::wire::CapabilityRef {
35447
35448 name,
35449
35450 } = out_;
35451 }
35452
35453 ::fidl_next::Encode::encode(self.name, encoder_, name, 100)?;
35454
35455 Ok(())
35456 }
35457 }
35458
35459 pub struct DebugRef {}
35460
35461 unsafe impl<___E> ::fidl_next::Encode<crate::wire::DebugRef, ___E> for DebugRef
35462 where
35463 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
35464 {
35465 #[inline]
35466 fn encode(
35467 self,
35468 encoder_: &mut ___E,
35469 out_: &mut ::core::mem::MaybeUninit<crate::wire::DebugRef>,
35470 _: (),
35471 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
35472 ::fidl_next::munge! {
35473 let crate::wire::DebugRef {
35474
35475 _empty,
35476
35477
35478 } = out_;
35479 }
35480
35481 Ok(())
35482 }
35483 }
35484
35485 pub struct VoidRef {}
35486
35487 unsafe impl<___E> ::fidl_next::Encode<crate::wire::VoidRef, ___E> for VoidRef
35488 where
35489 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
35490 {
35491 #[inline]
35492 fn encode(
35493 self,
35494 encoder_: &mut ___E,
35495 out_: &mut ::core::mem::MaybeUninit<crate::wire::VoidRef>,
35496 _: (),
35497 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
35498 ::fidl_next::munge! {
35499 let crate::wire::VoidRef {
35500
35501 _empty,
35502
35503
35504 } = out_;
35505 }
35506
35507 Ok(())
35508 }
35509 }
35510
35511 pub struct EnvironmentRef {}
35512
35513 unsafe impl<___E> ::fidl_next::Encode<crate::wire::EnvironmentRef, ___E> for EnvironmentRef
35514 where
35515 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
35516 {
35517 #[inline]
35518 fn encode(
35519 self,
35520 encoder_: &mut ___E,
35521 out_: &mut ::core::mem::MaybeUninit<crate::wire::EnvironmentRef>,
35522 _: (),
35523 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
35524 ::fidl_next::munge! {
35525 let crate::wire::EnvironmentRef {
35526
35527 _empty,
35528
35529
35530 } = out_;
35531 }
35532
35533 Ok(())
35534 }
35535 }
35536
35537 pub struct NameMapping<T0, T1> {
35538 pub source_name: T0,
35539
35540 pub target_name: T1,
35541 }
35542
35543 unsafe impl<___E, T0, T1> ::fidl_next::Encode<crate::wire::NameMapping<'static>, ___E>
35544 for NameMapping<T0, T1>
35545 where
35546 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
35547 ___E: ::fidl_next::Encoder,
35548 T0: ::fidl_next::Encode<::fidl_next::WireString<'static>, ___E>,
35549 T1: ::fidl_next::Encode<::fidl_next::WireString<'static>, ___E>,
35550 {
35551 #[inline]
35552 fn encode(
35553 self,
35554 encoder_: &mut ___E,
35555 out_: &mut ::core::mem::MaybeUninit<crate::wire::NameMapping<'static>>,
35556 _: (),
35557 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
35558 ::fidl_next::munge! {
35559 let crate::wire::NameMapping {
35560
35561 source_name,
35562 target_name,
35563
35564 } = out_;
35565 }
35566
35567 ::fidl_next::Encode::encode(self.source_name, encoder_, source_name, 100)?;
35568
35569 ::fidl_next::Encode::encode(self.target_name, encoder_, target_name, 100)?;
35570
35571 Ok(())
35572 }
35573 }
35574
35575 pub struct ConfigType<T0, T1, T2> {
35576 pub layout: T0,
35577
35578 pub parameters: T1,
35579
35580 pub constraints: T2,
35581 }
35582
35583 unsafe impl<___E, T0, T1, T2> ::fidl_next::Encode<crate::wire::ConfigType<'static>, ___E>
35584 for ConfigType<T0, T1, T2>
35585 where
35586 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
35587 ___E: ::fidl_next::Encoder,
35588 T0: ::fidl_next::Encode<crate::wire::ConfigTypeLayout, ___E>,
35589 T1: ::fidl_next::Encode<
35590 ::fidl_next::WireOptionalVector<'static, crate::wire::LayoutParameter<'static>>,
35591 ___E,
35592 >,
35593 T2: ::fidl_next::Encode<
35594 ::fidl_next::WireVector<'static, crate::wire::LayoutConstraint<'static>>,
35595 ___E,
35596 >,
35597 {
35598 #[inline]
35599 fn encode(
35600 self,
35601 encoder_: &mut ___E,
35602 out_: &mut ::core::mem::MaybeUninit<crate::wire::ConfigType<'static>>,
35603 _: (),
35604 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
35605 ::fidl_next::munge! {
35606 let crate::wire::ConfigType {
35607
35608 layout,
35609 parameters,
35610 constraints,
35611
35612 } = out_;
35613 }
35614
35615 ::fidl_next::Encode::encode(self.layout, encoder_, layout, ())?;
35616
35617 ::fidl_next::Encode::encode(self.parameters, encoder_, parameters, (4294967295, ()))?;
35618
35619 ::fidl_next::Encode::encode(self.constraints, encoder_, constraints, (4294967295, ()))?;
35620
35621 Ok(())
35622 }
35623 }
35624
35625 pub struct ResolvedConfigField<T0, T1> {
35626 pub key: T0,
35627
35628 pub value: T1,
35629 }
35630
35631 unsafe impl<___E, T0, T1> ::fidl_next::Encode<crate::wire::ResolvedConfigField<'static>, ___E>
35632 for ResolvedConfigField<T0, T1>
35633 where
35634 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
35635 ___E: ::fidl_next::Encoder,
35636 T0: ::fidl_next::Encode<::fidl_next::WireString<'static>, ___E>,
35637 T1: ::fidl_next::Encode<crate::wire::ConfigValue<'static>, ___E>,
35638 {
35639 #[inline]
35640 fn encode(
35641 self,
35642 encoder_: &mut ___E,
35643 out_: &mut ::core::mem::MaybeUninit<crate::wire::ResolvedConfigField<'static>>,
35644 _: (),
35645 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
35646 ::fidl_next::munge! {
35647 let crate::wire::ResolvedConfigField {
35648
35649 key,
35650 value,
35651
35652 } = out_;
35653 }
35654
35655 ::fidl_next::Encode::encode(self.key, encoder_, key, 4294967295)?;
35656
35657 ::fidl_next::Encode::encode(self.value, encoder_, value, ())?;
35658
35659 Ok(())
35660 }
35661 }
35662
35663 pub struct ResolvedConfig<T0, T1> {
35664 pub fields: T0,
35665
35666 pub checksum: T1,
35667 }
35668
35669 unsafe impl<___E, T0, T1> ::fidl_next::Encode<crate::wire::ResolvedConfig<'static>, ___E>
35670 for ResolvedConfig<T0, T1>
35671 where
35672 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
35673 ___E: ::fidl_next::Encoder,
35674 T0: ::fidl_next::Encode<
35675 ::fidl_next::WireVector<'static, crate::wire::ResolvedConfigField<'static>>,
35676 ___E,
35677 >,
35678 T1: ::fidl_next::Encode<crate::wire::ConfigChecksum<'static>, ___E>,
35679 {
35680 #[inline]
35681 fn encode(
35682 self,
35683 encoder_: &mut ___E,
35684 out_: &mut ::core::mem::MaybeUninit<crate::wire::ResolvedConfig<'static>>,
35685 _: (),
35686 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
35687 ::fidl_next::munge! {
35688 let crate::wire::ResolvedConfig {
35689
35690 fields,
35691 checksum,
35692
35693 } = out_;
35694 }
35695
35696 ::fidl_next::Encode::encode(self.fields, encoder_, fields, (4294967295, ()))?;
35697
35698 ::fidl_next::Encode::encode(self.checksum, encoder_, checksum, ())?;
35699
35700 Ok(())
35701 }
35702 }
35703}
35704
35705pub use self::natural::*;
35706
35707#[doc = " Config keys can only consist of these many bytes\n"]
35708pub const CONFIG_KEY_MAX_SIZE: u32 = 64 as u32;
35709
35710pub const MAX_NAME_LENGTH: u32 = 100 as u32;
35711
35712pub const MAX_PATH_LENGTH: u32 = 1024 as u32;
35713
35714pub const MAX_CHILD_NAME_LENGTH: u32 = 1024 as u32;
35715
35716pub const MAX_URL_SCHEME_LENGTH: u32 = 100 as u32;
35717
35718pub const MAX_MONIKER_LENGTH: u32 = 4096 as u32;
35719
35720#[doc = " The maximum number of EventSubscriptions in an EventStream.\n"]
35721pub const MAX_NUM_EVENT_STREAM_SUBSCRIPTIONS: u64 = 100 as u64;
35722
35723pub mod compat {
35725
35726 impl ::fidl_next::CompatFrom<crate::AllowedOffers>
35727 for ::fidl_fuchsia_component_decl::AllowedOffers
35728 {
35729 fn compat_from(value: crate::AllowedOffers) -> Self {
35730 match value {
35731 crate::AllowedOffers::StaticOnly => Self::StaticOnly,
35732
35733 crate::AllowedOffers::StaticAndDynamic => Self::StaticAndDynamic,
35734 }
35735 }
35736 }
35737
35738 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::AllowedOffers>
35739 for crate::AllowedOffers
35740 {
35741 fn compat_from(value: ::fidl_fuchsia_component_decl::AllowedOffers) -> Self {
35742 match value {
35743 ::fidl_fuchsia_component_decl::AllowedOffers::StaticOnly => Self::StaticOnly,
35744
35745 ::fidl_fuchsia_component_decl::AllowedOffers::StaticAndDynamic => {
35746 Self::StaticAndDynamic
35747 }
35748 }
35749 }
35750 }
35751
35752 impl ::fidl_next::CompatFrom<crate::Availability> for ::fidl_fuchsia_component_decl::Availability {
35753 fn compat_from(value: crate::Availability) -> Self {
35754 match value {
35755 crate::Availability::Required => Self::Required,
35756
35757 crate::Availability::Optional => Self::Optional,
35758
35759 crate::Availability::SameAsTarget => Self::SameAsTarget,
35760
35761 crate::Availability::Transitional => Self::Transitional,
35762 }
35763 }
35764 }
35765
35766 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::Availability> for crate::Availability {
35767 fn compat_from(value: ::fidl_fuchsia_component_decl::Availability) -> Self {
35768 match value {
35769 ::fidl_fuchsia_component_decl::Availability::Required => Self::Required,
35770
35771 ::fidl_fuchsia_component_decl::Availability::Optional => Self::Optional,
35772
35773 ::fidl_fuchsia_component_decl::Availability::SameAsTarget => Self::SameAsTarget,
35774
35775 ::fidl_fuchsia_component_decl::Availability::Transitional => Self::Transitional,
35776 }
35777 }
35778 }
35779
35780 impl ::fidl_next::CompatFrom<crate::Service> for ::fidl_fuchsia_component_decl::Service {
35781 fn compat_from(value: crate::Service) -> Self {
35782 Self {
35783 name: ::fidl_next::CompatFrom::compat_from(value.name),
35784
35785 source_path: ::fidl_next::CompatFrom::compat_from(value.source_path),
35786
35787 __source_breaking: ::fidl::marker::SourceBreaking,
35788 }
35789 }
35790 }
35791
35792 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::Service> for crate::Service {
35793 fn compat_from(value: ::fidl_fuchsia_component_decl::Service) -> Self {
35794 Self {
35795 name: ::fidl_next::CompatFrom::compat_from(value.name),
35796
35797 source_path: ::fidl_next::CompatFrom::compat_from(value.source_path),
35798 }
35799 }
35800 }
35801
35802 impl ::fidl_next::CompatFrom<crate::Directory> for ::fidl_fuchsia_component_decl::Directory {
35803 fn compat_from(value: crate::Directory) -> Self {
35804 Self {
35805 name: ::fidl_next::CompatFrom::compat_from(value.name),
35806
35807 source_path: ::fidl_next::CompatFrom::compat_from(value.source_path),
35808
35809 rights: ::fidl_next::CompatFrom::compat_from(value.rights),
35810
35811 __source_breaking: ::fidl::marker::SourceBreaking,
35812 }
35813 }
35814 }
35815
35816 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::Directory> for crate::Directory {
35817 fn compat_from(value: ::fidl_fuchsia_component_decl::Directory) -> Self {
35818 Self {
35819 name: ::fidl_next::CompatFrom::compat_from(value.name),
35820
35821 source_path: ::fidl_next::CompatFrom::compat_from(value.source_path),
35822
35823 rights: ::fidl_next::CompatFrom::compat_from(value.rights),
35824 }
35825 }
35826 }
35827
35828 impl ::fidl_next::CompatFrom<crate::ParentRef> for ::fidl_fuchsia_component_decl::ParentRef {
35829 #[inline]
35830 fn compat_from(value: crate::ParentRef) -> Self {
35831 Self {}
35832 }
35833 }
35834
35835 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::ParentRef> for crate::ParentRef {
35836 #[inline]
35837 fn compat_from(value: ::fidl_fuchsia_component_decl::ParentRef) -> Self {
35838 Self {}
35839 }
35840 }
35841
35842 impl ::fidl_next::CompatFrom<crate::SelfRef> for ::fidl_fuchsia_component_decl::SelfRef {
35843 #[inline]
35844 fn compat_from(value: crate::SelfRef) -> Self {
35845 Self {}
35846 }
35847 }
35848
35849 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::SelfRef> for crate::SelfRef {
35850 #[inline]
35851 fn compat_from(value: ::fidl_fuchsia_component_decl::SelfRef) -> Self {
35852 Self {}
35853 }
35854 }
35855
35856 impl ::fidl_next::CompatFrom<crate::ChildRef> for ::fidl_fuchsia_component_decl::ChildRef {
35857 #[inline]
35858 fn compat_from(value: crate::ChildRef) -> Self {
35859 Self {
35860 name: ::fidl_next::CompatFrom::compat_from(value.name),
35861
35862 collection: ::fidl_next::CompatFrom::compat_from(value.collection),
35863 }
35864 }
35865 }
35866
35867 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::ChildRef> for crate::ChildRef {
35868 #[inline]
35869 fn compat_from(value: ::fidl_fuchsia_component_decl::ChildRef) -> Self {
35870 Self {
35871 name: ::fidl_next::CompatFrom::compat_from(value.name),
35872
35873 collection: ::fidl_next::CompatFrom::compat_from(value.collection),
35874 }
35875 }
35876 }
35877
35878 impl ::fidl_next::CompatFrom<crate::CollectionRef>
35879 for ::fidl_fuchsia_component_decl::CollectionRef
35880 {
35881 #[inline]
35882 fn compat_from(value: crate::CollectionRef) -> Self {
35883 Self { name: ::fidl_next::CompatFrom::compat_from(value.name) }
35884 }
35885 }
35886
35887 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::CollectionRef>
35888 for crate::CollectionRef
35889 {
35890 #[inline]
35891 fn compat_from(value: ::fidl_fuchsia_component_decl::CollectionRef) -> Self {
35892 Self { name: ::fidl_next::CompatFrom::compat_from(value.name) }
35893 }
35894 }
35895
35896 impl ::fidl_next::CompatFrom<crate::FrameworkRef> for ::fidl_fuchsia_component_decl::FrameworkRef {
35897 #[inline]
35898 fn compat_from(value: crate::FrameworkRef) -> Self {
35899 Self {}
35900 }
35901 }
35902
35903 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::FrameworkRef> for crate::FrameworkRef {
35904 #[inline]
35905 fn compat_from(value: ::fidl_fuchsia_component_decl::FrameworkRef) -> Self {
35906 Self {}
35907 }
35908 }
35909
35910 impl ::fidl_next::CompatFrom<crate::CapabilityRef>
35911 for ::fidl_fuchsia_component_decl::CapabilityRef
35912 {
35913 #[inline]
35914 fn compat_from(value: crate::CapabilityRef) -> Self {
35915 Self { name: ::fidl_next::CompatFrom::compat_from(value.name) }
35916 }
35917 }
35918
35919 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::CapabilityRef>
35920 for crate::CapabilityRef
35921 {
35922 #[inline]
35923 fn compat_from(value: ::fidl_fuchsia_component_decl::CapabilityRef) -> Self {
35924 Self { name: ::fidl_next::CompatFrom::compat_from(value.name) }
35925 }
35926 }
35927
35928 impl ::fidl_next::CompatFrom<crate::DebugRef> for ::fidl_fuchsia_component_decl::DebugRef {
35929 #[inline]
35930 fn compat_from(value: crate::DebugRef) -> Self {
35931 Self {}
35932 }
35933 }
35934
35935 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::DebugRef> for crate::DebugRef {
35936 #[inline]
35937 fn compat_from(value: ::fidl_fuchsia_component_decl::DebugRef) -> Self {
35938 Self {}
35939 }
35940 }
35941
35942 impl ::fidl_next::CompatFrom<crate::VoidRef> for ::fidl_fuchsia_component_decl::VoidRef {
35943 #[inline]
35944 fn compat_from(value: crate::VoidRef) -> Self {
35945 Self {}
35946 }
35947 }
35948
35949 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::VoidRef> for crate::VoidRef {
35950 #[inline]
35951 fn compat_from(value: ::fidl_fuchsia_component_decl::VoidRef) -> Self {
35952 Self {}
35953 }
35954 }
35955
35956 impl ::fidl_next::CompatFrom<crate::StorageId> for ::fidl_fuchsia_component_decl::StorageId {
35957 fn compat_from(value: crate::StorageId) -> Self {
35958 match value {
35959 crate::StorageId::StaticInstanceId => Self::StaticInstanceId,
35960
35961 crate::StorageId::StaticInstanceIdOrMoniker => Self::StaticInstanceIdOrMoniker,
35962 }
35963 }
35964 }
35965
35966 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::StorageId> for crate::StorageId {
35967 fn compat_from(value: ::fidl_fuchsia_component_decl::StorageId) -> Self {
35968 match value {
35969 ::fidl_fuchsia_component_decl::StorageId::StaticInstanceId => {
35970 Self::StaticInstanceId
35971 }
35972
35973 ::fidl_fuchsia_component_decl::StorageId::StaticInstanceIdOrMoniker => {
35974 Self::StaticInstanceIdOrMoniker
35975 }
35976 }
35977 }
35978 }
35979
35980 impl ::fidl_next::CompatFrom<crate::Runner> for ::fidl_fuchsia_component_decl::Runner {
35981 fn compat_from(value: crate::Runner) -> Self {
35982 Self {
35983 name: ::fidl_next::CompatFrom::compat_from(value.name),
35984
35985 source_path: ::fidl_next::CompatFrom::compat_from(value.source_path),
35986
35987 __source_breaking: ::fidl::marker::SourceBreaking,
35988 }
35989 }
35990 }
35991
35992 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::Runner> for crate::Runner {
35993 fn compat_from(value: ::fidl_fuchsia_component_decl::Runner) -> Self {
35994 Self {
35995 name: ::fidl_next::CompatFrom::compat_from(value.name),
35996
35997 source_path: ::fidl_next::CompatFrom::compat_from(value.source_path),
35998 }
35999 }
36000 }
36001
36002 impl ::fidl_next::CompatFrom<crate::Resolver> for ::fidl_fuchsia_component_decl::Resolver {
36003 fn compat_from(value: crate::Resolver) -> Self {
36004 Self {
36005 name: ::fidl_next::CompatFrom::compat_from(value.name),
36006
36007 source_path: ::fidl_next::CompatFrom::compat_from(value.source_path),
36008
36009 __source_breaking: ::fidl::marker::SourceBreaking,
36010 }
36011 }
36012 }
36013
36014 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::Resolver> for crate::Resolver {
36015 fn compat_from(value: ::fidl_fuchsia_component_decl::Resolver) -> Self {
36016 Self {
36017 name: ::fidl_next::CompatFrom::compat_from(value.name),
36018
36019 source_path: ::fidl_next::CompatFrom::compat_from(value.source_path),
36020 }
36021 }
36022 }
36023
36024 impl ::fidl_next::CompatFrom<crate::EventStream> for ::fidl_fuchsia_component_decl::EventStream {
36025 fn compat_from(value: crate::EventStream) -> Self {
36026 Self {
36027 name: ::fidl_next::CompatFrom::compat_from(value.name),
36028
36029 __source_breaking: ::fidl::marker::SourceBreaking,
36030 }
36031 }
36032 }
36033
36034 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::EventStream> for crate::EventStream {
36035 fn compat_from(value: ::fidl_fuchsia_component_decl::EventStream) -> Self {
36036 Self { name: ::fidl_next::CompatFrom::compat_from(value.name) }
36037 }
36038 }
36039
36040 impl ::fidl_next::CompatFrom<crate::ConfigSingleValue>
36041 for ::fidl_fuchsia_component_decl::ConfigSingleValue
36042 {
36043 fn compat_from(value: crate::ConfigSingleValue) -> Self {
36044 match value {
36045 crate::ConfigSingleValue::Bool(value) => {
36046 Self::Bool(::fidl_next::CompatFrom::compat_from(value))
36047 }
36048
36049 crate::ConfigSingleValue::Uint8(value) => {
36050 Self::Uint8(::fidl_next::CompatFrom::compat_from(value))
36051 }
36052
36053 crate::ConfigSingleValue::Uint16(value) => {
36054 Self::Uint16(::fidl_next::CompatFrom::compat_from(value))
36055 }
36056
36057 crate::ConfigSingleValue::Uint32(value) => {
36058 Self::Uint32(::fidl_next::CompatFrom::compat_from(value))
36059 }
36060
36061 crate::ConfigSingleValue::Uint64(value) => {
36062 Self::Uint64(::fidl_next::CompatFrom::compat_from(value))
36063 }
36064
36065 crate::ConfigSingleValue::Int8(value) => {
36066 Self::Int8(::fidl_next::CompatFrom::compat_from(value))
36067 }
36068
36069 crate::ConfigSingleValue::Int16(value) => {
36070 Self::Int16(::fidl_next::CompatFrom::compat_from(value))
36071 }
36072
36073 crate::ConfigSingleValue::Int32(value) => {
36074 Self::Int32(::fidl_next::CompatFrom::compat_from(value))
36075 }
36076
36077 crate::ConfigSingleValue::Int64(value) => {
36078 Self::Int64(::fidl_next::CompatFrom::compat_from(value))
36079 }
36080
36081 crate::ConfigSingleValue::String(value) => {
36082 Self::String(::fidl_next::CompatFrom::compat_from(value))
36083 }
36084
36085 crate::ConfigSingleValue::UnknownOrdinal_(unknown_ordinal) => {
36086 Self::__SourceBreaking { unknown_ordinal }
36087 }
36088 }
36089 }
36090 }
36091
36092 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::ConfigSingleValue>
36093 for crate::ConfigSingleValue
36094 {
36095 fn compat_from(value: ::fidl_fuchsia_component_decl::ConfigSingleValue) -> Self {
36096 match value {
36097 ::fidl_fuchsia_component_decl::ConfigSingleValue::Bool(value) => {
36098 Self::Bool(::fidl_next::CompatFrom::compat_from(value))
36099 }
36100
36101 ::fidl_fuchsia_component_decl::ConfigSingleValue::Uint8(value) => {
36102 Self::Uint8(::fidl_next::CompatFrom::compat_from(value))
36103 }
36104
36105 ::fidl_fuchsia_component_decl::ConfigSingleValue::Uint16(value) => {
36106 Self::Uint16(::fidl_next::CompatFrom::compat_from(value))
36107 }
36108
36109 ::fidl_fuchsia_component_decl::ConfigSingleValue::Uint32(value) => {
36110 Self::Uint32(::fidl_next::CompatFrom::compat_from(value))
36111 }
36112
36113 ::fidl_fuchsia_component_decl::ConfigSingleValue::Uint64(value) => {
36114 Self::Uint64(::fidl_next::CompatFrom::compat_from(value))
36115 }
36116
36117 ::fidl_fuchsia_component_decl::ConfigSingleValue::Int8(value) => {
36118 Self::Int8(::fidl_next::CompatFrom::compat_from(value))
36119 }
36120
36121 ::fidl_fuchsia_component_decl::ConfigSingleValue::Int16(value) => {
36122 Self::Int16(::fidl_next::CompatFrom::compat_from(value))
36123 }
36124
36125 ::fidl_fuchsia_component_decl::ConfigSingleValue::Int32(value) => {
36126 Self::Int32(::fidl_next::CompatFrom::compat_from(value))
36127 }
36128
36129 ::fidl_fuchsia_component_decl::ConfigSingleValue::Int64(value) => {
36130 Self::Int64(::fidl_next::CompatFrom::compat_from(value))
36131 }
36132
36133 ::fidl_fuchsia_component_decl::ConfigSingleValue::String(value) => {
36134 Self::String(::fidl_next::CompatFrom::compat_from(value))
36135 }
36136
36137 ::fidl_fuchsia_component_decl::ConfigSingleValue::__SourceBreaking {
36138 unknown_ordinal,
36139 } => Self::UnknownOrdinal_(unknown_ordinal),
36140 }
36141 }
36142 }
36143
36144 impl ::fidl_next::CompatFrom<crate::ConfigVectorValue>
36145 for ::fidl_fuchsia_component_decl::ConfigVectorValue
36146 {
36147 fn compat_from(value: crate::ConfigVectorValue) -> Self {
36148 match value {
36149 crate::ConfigVectorValue::BoolVector(value) => {
36150 Self::BoolVector(::fidl_next::CompatFrom::compat_from(value))
36151 }
36152
36153 crate::ConfigVectorValue::Uint8Vector(value) => {
36154 Self::Uint8Vector(::fidl_next::CompatFrom::compat_from(value))
36155 }
36156
36157 crate::ConfigVectorValue::Uint16Vector(value) => {
36158 Self::Uint16Vector(::fidl_next::CompatFrom::compat_from(value))
36159 }
36160
36161 crate::ConfigVectorValue::Uint32Vector(value) => {
36162 Self::Uint32Vector(::fidl_next::CompatFrom::compat_from(value))
36163 }
36164
36165 crate::ConfigVectorValue::Uint64Vector(value) => {
36166 Self::Uint64Vector(::fidl_next::CompatFrom::compat_from(value))
36167 }
36168
36169 crate::ConfigVectorValue::Int8Vector(value) => {
36170 Self::Int8Vector(::fidl_next::CompatFrom::compat_from(value))
36171 }
36172
36173 crate::ConfigVectorValue::Int16Vector(value) => {
36174 Self::Int16Vector(::fidl_next::CompatFrom::compat_from(value))
36175 }
36176
36177 crate::ConfigVectorValue::Int32Vector(value) => {
36178 Self::Int32Vector(::fidl_next::CompatFrom::compat_from(value))
36179 }
36180
36181 crate::ConfigVectorValue::Int64Vector(value) => {
36182 Self::Int64Vector(::fidl_next::CompatFrom::compat_from(value))
36183 }
36184
36185 crate::ConfigVectorValue::StringVector(value) => {
36186 Self::StringVector(::fidl_next::CompatFrom::compat_from(value))
36187 }
36188
36189 crate::ConfigVectorValue::UnknownOrdinal_(unknown_ordinal) => {
36190 Self::__SourceBreaking { unknown_ordinal }
36191 }
36192 }
36193 }
36194 }
36195
36196 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::ConfigVectorValue>
36197 for crate::ConfigVectorValue
36198 {
36199 fn compat_from(value: ::fidl_fuchsia_component_decl::ConfigVectorValue) -> Self {
36200 match value {
36201 ::fidl_fuchsia_component_decl::ConfigVectorValue::BoolVector(value) => {
36202 Self::BoolVector(::fidl_next::CompatFrom::compat_from(value))
36203 }
36204
36205 ::fidl_fuchsia_component_decl::ConfigVectorValue::Uint8Vector(value) => {
36206 Self::Uint8Vector(::fidl_next::CompatFrom::compat_from(value))
36207 }
36208
36209 ::fidl_fuchsia_component_decl::ConfigVectorValue::Uint16Vector(value) => {
36210 Self::Uint16Vector(::fidl_next::CompatFrom::compat_from(value))
36211 }
36212
36213 ::fidl_fuchsia_component_decl::ConfigVectorValue::Uint32Vector(value) => {
36214 Self::Uint32Vector(::fidl_next::CompatFrom::compat_from(value))
36215 }
36216
36217 ::fidl_fuchsia_component_decl::ConfigVectorValue::Uint64Vector(value) => {
36218 Self::Uint64Vector(::fidl_next::CompatFrom::compat_from(value))
36219 }
36220
36221 ::fidl_fuchsia_component_decl::ConfigVectorValue::Int8Vector(value) => {
36222 Self::Int8Vector(::fidl_next::CompatFrom::compat_from(value))
36223 }
36224
36225 ::fidl_fuchsia_component_decl::ConfigVectorValue::Int16Vector(value) => {
36226 Self::Int16Vector(::fidl_next::CompatFrom::compat_from(value))
36227 }
36228
36229 ::fidl_fuchsia_component_decl::ConfigVectorValue::Int32Vector(value) => {
36230 Self::Int32Vector(::fidl_next::CompatFrom::compat_from(value))
36231 }
36232
36233 ::fidl_fuchsia_component_decl::ConfigVectorValue::Int64Vector(value) => {
36234 Self::Int64Vector(::fidl_next::CompatFrom::compat_from(value))
36235 }
36236
36237 ::fidl_fuchsia_component_decl::ConfigVectorValue::StringVector(value) => {
36238 Self::StringVector(::fidl_next::CompatFrom::compat_from(value))
36239 }
36240
36241 ::fidl_fuchsia_component_decl::ConfigVectorValue::__SourceBreaking {
36242 unknown_ordinal,
36243 } => Self::UnknownOrdinal_(unknown_ordinal),
36244 }
36245 }
36246 }
36247
36248 impl ::fidl_next::CompatFrom<crate::ConfigValue> for ::fidl_fuchsia_component_decl::ConfigValue {
36249 fn compat_from(value: crate::ConfigValue) -> Self {
36250 match value {
36251 crate::ConfigValue::Single(value) => {
36252 Self::Single(::fidl_next::CompatFrom::compat_from(value))
36253 }
36254
36255 crate::ConfigValue::Vector(value) => {
36256 Self::Vector(::fidl_next::CompatFrom::compat_from(value))
36257 }
36258
36259 crate::ConfigValue::UnknownOrdinal_(unknown_ordinal) => {
36260 Self::__SourceBreaking { unknown_ordinal }
36261 }
36262 }
36263 }
36264 }
36265
36266 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::ConfigValue> for crate::ConfigValue {
36267 fn compat_from(value: ::fidl_fuchsia_component_decl::ConfigValue) -> Self {
36268 match value {
36269 ::fidl_fuchsia_component_decl::ConfigValue::Single(value) => {
36270 Self::Single(::fidl_next::CompatFrom::compat_from(value))
36271 }
36272
36273 ::fidl_fuchsia_component_decl::ConfigValue::Vector(value) => {
36274 Self::Vector(::fidl_next::CompatFrom::compat_from(value))
36275 }
36276
36277 ::fidl_fuchsia_component_decl::ConfigValue::__SourceBreaking {
36278 unknown_ordinal,
36279 } => Self::UnknownOrdinal_(unknown_ordinal),
36280 }
36281 }
36282 }
36283
36284 impl ::fidl_next::CompatFrom<crate::Configuration>
36285 for ::fidl_fuchsia_component_decl::Configuration
36286 {
36287 fn compat_from(value: crate::Configuration) -> Self {
36288 Self {
36289 name: ::fidl_next::CompatFrom::compat_from(value.name),
36290
36291 value: ::fidl_next::CompatFrom::compat_from(value.value),
36292
36293 __source_breaking: ::fidl::marker::SourceBreaking,
36294 }
36295 }
36296 }
36297
36298 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::Configuration>
36299 for crate::Configuration
36300 {
36301 fn compat_from(value: ::fidl_fuchsia_component_decl::Configuration) -> Self {
36302 Self {
36303 name: ::fidl_next::CompatFrom::compat_from(value.name),
36304
36305 value: ::fidl_next::CompatFrom::compat_from(value.value),
36306 }
36307 }
36308 }
36309
36310 impl ::fidl_next::CompatFrom<crate::DeliveryType> for ::fidl_fuchsia_component_decl::DeliveryType {
36311 fn compat_from(value: crate::DeliveryType) -> Self {
36312 match value {
36313 crate::DeliveryType::Immediate => Self::Immediate,
36314
36315 crate::DeliveryType::OnReadable => Self::OnReadable,
36316
36317 crate::DeliveryType::UnknownOrdinal_(unknown_ordinal) => {
36318 Self::__SourceBreaking { unknown_ordinal }
36319 }
36320 }
36321 }
36322 }
36323
36324 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::DeliveryType> for crate::DeliveryType {
36325 fn compat_from(value: ::fidl_fuchsia_component_decl::DeliveryType) -> Self {
36326 match value {
36327 ::fidl_fuchsia_component_decl::DeliveryType::Immediate => Self::Immediate,
36328
36329 ::fidl_fuchsia_component_decl::DeliveryType::OnReadable => Self::OnReadable,
36330
36331 ::fidl_fuchsia_component_decl::DeliveryType::__SourceBreaking {
36332 unknown_ordinal: value,
36333 } => Self::UnknownOrdinal_(value),
36334 }
36335 }
36336 }
36337
36338 impl ::fidl_next::CompatFrom<crate::Protocol> for ::fidl_fuchsia_component_decl::Protocol {
36339 fn compat_from(value: crate::Protocol) -> Self {
36340 Self {
36341 name: ::fidl_next::CompatFrom::compat_from(value.name),
36342
36343 source_path: ::fidl_next::CompatFrom::compat_from(value.source_path),
36344
36345 delivery: ::fidl_next::CompatFrom::compat_from(value.delivery),
36346
36347 __source_breaking: ::fidl::marker::SourceBreaking,
36348 }
36349 }
36350 }
36351
36352 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::Protocol> for crate::Protocol {
36353 fn compat_from(value: ::fidl_fuchsia_component_decl::Protocol) -> Self {
36354 Self {
36355 name: ::fidl_next::CompatFrom::compat_from(value.name),
36356
36357 source_path: ::fidl_next::CompatFrom::compat_from(value.source_path),
36358
36359 delivery: ::fidl_next::CompatFrom::compat_from(value.delivery),
36360 }
36361 }
36362 }
36363
36364 impl ::fidl_next::CompatFrom<crate::EnvironmentRef>
36365 for ::fidl_fuchsia_component_decl::EnvironmentRef
36366 {
36367 #[inline]
36368 fn compat_from(value: crate::EnvironmentRef) -> Self {
36369 Self {}
36370 }
36371 }
36372
36373 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::EnvironmentRef>
36374 for crate::EnvironmentRef
36375 {
36376 #[inline]
36377 fn compat_from(value: ::fidl_fuchsia_component_decl::EnvironmentRef) -> Self {
36378 Self {}
36379 }
36380 }
36381
36382 impl ::fidl_next::CompatFrom<crate::Ref> for ::fidl_fuchsia_component_decl::Ref {
36383 fn compat_from(value: crate::Ref) -> Self {
36384 match value {
36385 crate::Ref::Parent(value) => {
36386 Self::Parent(::fidl_next::CompatFrom::compat_from(value))
36387 }
36388
36389 crate::Ref::Self_(value) => {
36390 Self::Self_(::fidl_next::CompatFrom::compat_from(value))
36391 }
36392
36393 crate::Ref::Child(value) => {
36394 Self::Child(::fidl_next::CompatFrom::compat_from(value))
36395 }
36396
36397 crate::Ref::Collection(value) => {
36398 Self::Collection(::fidl_next::CompatFrom::compat_from(value))
36399 }
36400
36401 crate::Ref::Framework(value) => {
36402 Self::Framework(::fidl_next::CompatFrom::compat_from(value))
36403 }
36404
36405 crate::Ref::Capability(value) => {
36406 Self::Capability(::fidl_next::CompatFrom::compat_from(value))
36407 }
36408
36409 crate::Ref::Debug(value) => {
36410 Self::Debug(::fidl_next::CompatFrom::compat_from(value))
36411 }
36412
36413 crate::Ref::VoidType(value) => {
36414 Self::VoidType(::fidl_next::CompatFrom::compat_from(value))
36415 }
36416
36417 crate::Ref::Environment(value) => {
36418 Self::Environment(::fidl_next::CompatFrom::compat_from(value))
36419 }
36420
36421 crate::Ref::UnknownOrdinal_(unknown_ordinal) => {
36422 Self::__SourceBreaking { unknown_ordinal }
36423 }
36424 }
36425 }
36426 }
36427
36428 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::Ref> for crate::Ref {
36429 fn compat_from(value: ::fidl_fuchsia_component_decl::Ref) -> Self {
36430 match value {
36431 ::fidl_fuchsia_component_decl::Ref::Parent(value) => {
36432 Self::Parent(::fidl_next::CompatFrom::compat_from(value))
36433 }
36434
36435 ::fidl_fuchsia_component_decl::Ref::Self_(value) => {
36436 Self::Self_(::fidl_next::CompatFrom::compat_from(value))
36437 }
36438
36439 ::fidl_fuchsia_component_decl::Ref::Child(value) => {
36440 Self::Child(::fidl_next::CompatFrom::compat_from(value))
36441 }
36442
36443 ::fidl_fuchsia_component_decl::Ref::Collection(value) => {
36444 Self::Collection(::fidl_next::CompatFrom::compat_from(value))
36445 }
36446
36447 ::fidl_fuchsia_component_decl::Ref::Framework(value) => {
36448 Self::Framework(::fidl_next::CompatFrom::compat_from(value))
36449 }
36450
36451 ::fidl_fuchsia_component_decl::Ref::Capability(value) => {
36452 Self::Capability(::fidl_next::CompatFrom::compat_from(value))
36453 }
36454
36455 ::fidl_fuchsia_component_decl::Ref::Debug(value) => {
36456 Self::Debug(::fidl_next::CompatFrom::compat_from(value))
36457 }
36458
36459 ::fidl_fuchsia_component_decl::Ref::VoidType(value) => {
36460 Self::VoidType(::fidl_next::CompatFrom::compat_from(value))
36461 }
36462
36463 ::fidl_fuchsia_component_decl::Ref::Environment(value) => {
36464 Self::Environment(::fidl_next::CompatFrom::compat_from(value))
36465 }
36466
36467 ::fidl_fuchsia_component_decl::Ref::__SourceBreaking { unknown_ordinal } => {
36468 Self::UnknownOrdinal_(unknown_ordinal)
36469 }
36470 }
36471 }
36472 }
36473
36474 impl ::fidl_next::CompatFrom<crate::Storage> for ::fidl_fuchsia_component_decl::Storage {
36475 fn compat_from(value: crate::Storage) -> Self {
36476 Self {
36477 name: ::fidl_next::CompatFrom::compat_from(value.name),
36478
36479 source: ::fidl_next::CompatFrom::compat_from(value.source),
36480
36481 backing_dir: ::fidl_next::CompatFrom::compat_from(value.backing_dir),
36482
36483 subdir: ::fidl_next::CompatFrom::compat_from(value.subdir),
36484
36485 storage_id: ::fidl_next::CompatFrom::compat_from(value.storage_id),
36486
36487 __source_breaking: ::fidl::marker::SourceBreaking,
36488 }
36489 }
36490 }
36491
36492 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::Storage> for crate::Storage {
36493 fn compat_from(value: ::fidl_fuchsia_component_decl::Storage) -> Self {
36494 Self {
36495 name: ::fidl_next::CompatFrom::compat_from(value.name),
36496
36497 source: ::fidl_next::CompatFrom::compat_from(value.source),
36498
36499 backing_dir: ::fidl_next::CompatFrom::compat_from(value.backing_dir),
36500
36501 subdir: ::fidl_next::CompatFrom::compat_from(value.subdir),
36502
36503 storage_id: ::fidl_next::CompatFrom::compat_from(value.storage_id),
36504 }
36505 }
36506 }
36507
36508 impl ::fidl_next::CompatFrom<crate::Dictionary> for ::fidl_fuchsia_component_decl::Dictionary {
36509 fn compat_from(value: crate::Dictionary) -> Self {
36510 Self {
36511 name: ::fidl_next::CompatFrom::compat_from(value.name),
36512
36513 source: ::fidl_next::CompatFrom::compat_from(value.source),
36514
36515 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
36516
36517 source_path: ::fidl_next::CompatFrom::compat_from(value.source_path),
36518
36519 __source_breaking: ::fidl::marker::SourceBreaking,
36520 }
36521 }
36522 }
36523
36524 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::Dictionary> for crate::Dictionary {
36525 fn compat_from(value: ::fidl_fuchsia_component_decl::Dictionary) -> Self {
36526 Self {
36527 name: ::fidl_next::CompatFrom::compat_from(value.name),
36528
36529 source: ::fidl_next::CompatFrom::compat_from(value.source),
36530
36531 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
36532
36533 source_path: ::fidl_next::CompatFrom::compat_from(value.source_path),
36534 }
36535 }
36536 }
36537
36538 impl ::fidl_next::CompatFrom<crate::Capability> for ::fidl_fuchsia_component_decl::Capability {
36539 fn compat_from(value: crate::Capability) -> Self {
36540 match value {
36541 crate::Capability::Service(value) => {
36542 Self::Service(::fidl_next::CompatFrom::compat_from(value))
36543 }
36544
36545 crate::Capability::Protocol(value) => {
36546 Self::Protocol(::fidl_next::CompatFrom::compat_from(value))
36547 }
36548
36549 crate::Capability::Directory(value) => {
36550 Self::Directory(::fidl_next::CompatFrom::compat_from(value))
36551 }
36552
36553 crate::Capability::Storage(value) => {
36554 Self::Storage(::fidl_next::CompatFrom::compat_from(value))
36555 }
36556
36557 crate::Capability::Runner(value) => {
36558 Self::Runner(::fidl_next::CompatFrom::compat_from(value))
36559 }
36560
36561 crate::Capability::Resolver(value) => {
36562 Self::Resolver(::fidl_next::CompatFrom::compat_from(value))
36563 }
36564
36565 crate::Capability::EventStream(value) => {
36566 Self::EventStream(::fidl_next::CompatFrom::compat_from(value))
36567 }
36568
36569 crate::Capability::Dictionary(value) => {
36570 Self::Dictionary(::fidl_next::CompatFrom::compat_from(value))
36571 }
36572
36573 crate::Capability::Config(value) => {
36574 Self::Config(::fidl_next::CompatFrom::compat_from(value))
36575 }
36576
36577 crate::Capability::UnknownOrdinal_(unknown_ordinal) => {
36578 Self::__SourceBreaking { unknown_ordinal }
36579 }
36580 }
36581 }
36582 }
36583
36584 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::Capability> for crate::Capability {
36585 fn compat_from(value: ::fidl_fuchsia_component_decl::Capability) -> Self {
36586 match value {
36587 ::fidl_fuchsia_component_decl::Capability::Service(value) => {
36588 Self::Service(::fidl_next::CompatFrom::compat_from(value))
36589 }
36590
36591 ::fidl_fuchsia_component_decl::Capability::Protocol(value) => {
36592 Self::Protocol(::fidl_next::CompatFrom::compat_from(value))
36593 }
36594
36595 ::fidl_fuchsia_component_decl::Capability::Directory(value) => {
36596 Self::Directory(::fidl_next::CompatFrom::compat_from(value))
36597 }
36598
36599 ::fidl_fuchsia_component_decl::Capability::Storage(value) => {
36600 Self::Storage(::fidl_next::CompatFrom::compat_from(value))
36601 }
36602
36603 ::fidl_fuchsia_component_decl::Capability::Runner(value) => {
36604 Self::Runner(::fidl_next::CompatFrom::compat_from(value))
36605 }
36606
36607 ::fidl_fuchsia_component_decl::Capability::Resolver(value) => {
36608 Self::Resolver(::fidl_next::CompatFrom::compat_from(value))
36609 }
36610
36611 ::fidl_fuchsia_component_decl::Capability::EventStream(value) => {
36612 Self::EventStream(::fidl_next::CompatFrom::compat_from(value))
36613 }
36614
36615 ::fidl_fuchsia_component_decl::Capability::Dictionary(value) => {
36616 Self::Dictionary(::fidl_next::CompatFrom::compat_from(value))
36617 }
36618
36619 ::fidl_fuchsia_component_decl::Capability::Config(value) => {
36620 Self::Config(::fidl_next::CompatFrom::compat_from(value))
36621 }
36622
36623 ::fidl_fuchsia_component_decl::Capability::__SourceBreaking { unknown_ordinal } => {
36624 Self::UnknownOrdinal_(unknown_ordinal)
36625 }
36626 }
36627 }
36628 }
36629
36630 impl ::fidl_next::CompatFrom<crate::StartupMode> for ::fidl_fuchsia_component_decl::StartupMode {
36631 fn compat_from(value: crate::StartupMode) -> Self {
36632 match value {
36633 crate::StartupMode::Lazy => Self::Lazy,
36634
36635 crate::StartupMode::Eager => Self::Eager,
36636 }
36637 }
36638 }
36639
36640 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::StartupMode> for crate::StartupMode {
36641 fn compat_from(value: ::fidl_fuchsia_component_decl::StartupMode) -> Self {
36642 match value {
36643 ::fidl_fuchsia_component_decl::StartupMode::Lazy => Self::Lazy,
36644
36645 ::fidl_fuchsia_component_decl::StartupMode::Eager => Self::Eager,
36646 }
36647 }
36648 }
36649
36650 impl ::fidl_next::CompatFrom<crate::OnTerminate> for ::fidl_fuchsia_component_decl::OnTerminate {
36651 fn compat_from(value: crate::OnTerminate) -> Self {
36652 match value {
36653 crate::OnTerminate::None => Self::None,
36654
36655 crate::OnTerminate::Reboot => Self::Reboot,
36656 }
36657 }
36658 }
36659
36660 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::OnTerminate> for crate::OnTerminate {
36661 fn compat_from(value: ::fidl_fuchsia_component_decl::OnTerminate) -> Self {
36662 match value {
36663 ::fidl_fuchsia_component_decl::OnTerminate::None => Self::None,
36664
36665 ::fidl_fuchsia_component_decl::OnTerminate::Reboot => Self::Reboot,
36666 }
36667 }
36668 }
36669
36670 impl ::fidl_next::CompatFrom<crate::ConfigOverride>
36671 for ::fidl_fuchsia_component_decl::ConfigOverride
36672 {
36673 fn compat_from(value: crate::ConfigOverride) -> Self {
36674 Self {
36675 key: ::fidl_next::CompatFrom::compat_from(value.key),
36676
36677 value: ::fidl_next::CompatFrom::compat_from(value.value),
36678
36679 __source_breaking: ::fidl::marker::SourceBreaking,
36680 }
36681 }
36682 }
36683
36684 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::ConfigOverride>
36685 for crate::ConfigOverride
36686 {
36687 fn compat_from(value: ::fidl_fuchsia_component_decl::ConfigOverride) -> Self {
36688 Self {
36689 key: ::fidl_next::CompatFrom::compat_from(value.key),
36690
36691 value: ::fidl_next::CompatFrom::compat_from(value.value),
36692 }
36693 }
36694 }
36695
36696 impl ::fidl_next::CompatFrom<crate::Child> for ::fidl_fuchsia_component_decl::Child {
36697 fn compat_from(value: crate::Child) -> Self {
36698 Self {
36699 name: ::fidl_next::CompatFrom::compat_from(value.name),
36700
36701 url: ::fidl_next::CompatFrom::compat_from(value.url),
36702
36703 startup: ::fidl_next::CompatFrom::compat_from(value.startup),
36704
36705 environment: ::fidl_next::CompatFrom::compat_from(value.environment),
36706
36707 on_terminate: ::fidl_next::CompatFrom::compat_from(value.on_terminate),
36708
36709 config_overrides: ::fidl_next::CompatFrom::compat_from(value.config_overrides),
36710
36711 __source_breaking: ::fidl::marker::SourceBreaking,
36712 }
36713 }
36714 }
36715
36716 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::Child> for crate::Child {
36717 fn compat_from(value: ::fidl_fuchsia_component_decl::Child) -> Self {
36718 Self {
36719 name: ::fidl_next::CompatFrom::compat_from(value.name),
36720
36721 url: ::fidl_next::CompatFrom::compat_from(value.url),
36722
36723 startup: ::fidl_next::CompatFrom::compat_from(value.startup),
36724
36725 environment: ::fidl_next::CompatFrom::compat_from(value.environment),
36726
36727 on_terminate: ::fidl_next::CompatFrom::compat_from(value.on_terminate),
36728
36729 config_overrides: ::fidl_next::CompatFrom::compat_from(value.config_overrides),
36730 }
36731 }
36732 }
36733
36734 impl ::fidl_next::CompatFrom<crate::Durability> for ::fidl_fuchsia_component_decl::Durability {
36735 fn compat_from(value: crate::Durability) -> Self {
36736 match value {
36737 crate::Durability::Transient => Self::Transient,
36738
36739 crate::Durability::SingleRun => Self::SingleRun,
36740 }
36741 }
36742 }
36743
36744 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::Durability> for crate::Durability {
36745 fn compat_from(value: ::fidl_fuchsia_component_decl::Durability) -> Self {
36746 match value {
36747 ::fidl_fuchsia_component_decl::Durability::Transient => Self::Transient,
36748
36749 ::fidl_fuchsia_component_decl::Durability::SingleRun => Self::SingleRun,
36750 }
36751 }
36752 }
36753
36754 impl ::fidl_next::CompatFrom<crate::Collection> for ::fidl_fuchsia_component_decl::Collection {
36755 fn compat_from(value: crate::Collection) -> Self {
36756 Self {
36757 name: ::fidl_next::CompatFrom::compat_from(value.name),
36758
36759 durability: ::fidl_next::CompatFrom::compat_from(value.durability),
36760
36761 environment: ::fidl_next::CompatFrom::compat_from(value.environment),
36762
36763 allowed_offers: ::fidl_next::CompatFrom::compat_from(value.allowed_offers),
36764
36765 allow_long_names: ::fidl_next::CompatFrom::compat_from(value.allow_long_names),
36766
36767 persistent_storage: ::fidl_next::CompatFrom::compat_from(value.persistent_storage),
36768
36769 __source_breaking: ::fidl::marker::SourceBreaking,
36770 }
36771 }
36772 }
36773
36774 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::Collection> for crate::Collection {
36775 fn compat_from(value: ::fidl_fuchsia_component_decl::Collection) -> Self {
36776 Self {
36777 name: ::fidl_next::CompatFrom::compat_from(value.name),
36778
36779 durability: ::fidl_next::CompatFrom::compat_from(value.durability),
36780
36781 environment: ::fidl_next::CompatFrom::compat_from(value.environment),
36782
36783 allowed_offers: ::fidl_next::CompatFrom::compat_from(value.allowed_offers),
36784
36785 allow_long_names: ::fidl_next::CompatFrom::compat_from(value.allow_long_names),
36786
36787 persistent_storage: ::fidl_next::CompatFrom::compat_from(value.persistent_storage),
36788 }
36789 }
36790 }
36791
36792 impl ::fidl_next::CompatFrom<crate::DependencyType>
36793 for ::fidl_fuchsia_component_decl::DependencyType
36794 {
36795 fn compat_from(value: crate::DependencyType) -> Self {
36796 match value {
36797 crate::DependencyType::Strong => Self::Strong,
36798
36799 crate::DependencyType::Weak => Self::Weak,
36800 }
36801 }
36802 }
36803
36804 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::DependencyType>
36805 for crate::DependencyType
36806 {
36807 fn compat_from(value: ::fidl_fuchsia_component_decl::DependencyType) -> Self {
36808 match value {
36809 ::fidl_fuchsia_component_decl::DependencyType::Strong => Self::Strong,
36810
36811 ::fidl_fuchsia_component_decl::DependencyType::Weak => Self::Weak,
36812 }
36813 }
36814 }
36815
36816 impl ::fidl_next::CompatFrom<crate::NameMapping> for ::fidl_fuchsia_component_decl::NameMapping {
36817 #[inline]
36818 fn compat_from(value: crate::NameMapping) -> Self {
36819 Self {
36820 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
36821
36822 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
36823 }
36824 }
36825 }
36826
36827 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::NameMapping> for crate::NameMapping {
36828 #[inline]
36829 fn compat_from(value: ::fidl_fuchsia_component_decl::NameMapping) -> Self {
36830 Self {
36831 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
36832
36833 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
36834 }
36835 }
36836 }
36837
36838 impl ::fidl_next::CompatFrom<crate::EnvironmentExtends>
36839 for ::fidl_fuchsia_component_decl::EnvironmentExtends
36840 {
36841 fn compat_from(value: crate::EnvironmentExtends) -> Self {
36842 match value {
36843 crate::EnvironmentExtends::None => Self::None,
36844
36845 crate::EnvironmentExtends::Realm => Self::Realm,
36846 }
36847 }
36848 }
36849
36850 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::EnvironmentExtends>
36851 for crate::EnvironmentExtends
36852 {
36853 fn compat_from(value: ::fidl_fuchsia_component_decl::EnvironmentExtends) -> Self {
36854 match value {
36855 ::fidl_fuchsia_component_decl::EnvironmentExtends::None => Self::None,
36856
36857 ::fidl_fuchsia_component_decl::EnvironmentExtends::Realm => Self::Realm,
36858 }
36859 }
36860 }
36861
36862 impl ::fidl_next::CompatFrom<crate::ConfigTypeLayout>
36863 for ::fidl_fuchsia_component_decl::ConfigTypeLayout
36864 {
36865 fn compat_from(value: crate::ConfigTypeLayout) -> Self {
36866 match value {
36867 crate::ConfigTypeLayout::Bool => Self::Bool,
36868
36869 crate::ConfigTypeLayout::Uint8 => Self::Uint8,
36870
36871 crate::ConfigTypeLayout::Uint16 => Self::Uint16,
36872
36873 crate::ConfigTypeLayout::Uint32 => Self::Uint32,
36874
36875 crate::ConfigTypeLayout::Uint64 => Self::Uint64,
36876
36877 crate::ConfigTypeLayout::Int8 => Self::Int8,
36878
36879 crate::ConfigTypeLayout::Int16 => Self::Int16,
36880
36881 crate::ConfigTypeLayout::Int32 => Self::Int32,
36882
36883 crate::ConfigTypeLayout::Int64 => Self::Int64,
36884
36885 crate::ConfigTypeLayout::String => Self::String,
36886
36887 crate::ConfigTypeLayout::Vector => Self::Vector,
36888
36889 crate::ConfigTypeLayout::UnknownOrdinal_(unknown_ordinal) => {
36890 Self::__SourceBreaking { unknown_ordinal }
36891 }
36892 }
36893 }
36894 }
36895
36896 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::ConfigTypeLayout>
36897 for crate::ConfigTypeLayout
36898 {
36899 fn compat_from(value: ::fidl_fuchsia_component_decl::ConfigTypeLayout) -> Self {
36900 match value {
36901 ::fidl_fuchsia_component_decl::ConfigTypeLayout::Bool => Self::Bool,
36902
36903 ::fidl_fuchsia_component_decl::ConfigTypeLayout::Uint8 => Self::Uint8,
36904
36905 ::fidl_fuchsia_component_decl::ConfigTypeLayout::Uint16 => Self::Uint16,
36906
36907 ::fidl_fuchsia_component_decl::ConfigTypeLayout::Uint32 => Self::Uint32,
36908
36909 ::fidl_fuchsia_component_decl::ConfigTypeLayout::Uint64 => Self::Uint64,
36910
36911 ::fidl_fuchsia_component_decl::ConfigTypeLayout::Int8 => Self::Int8,
36912
36913 ::fidl_fuchsia_component_decl::ConfigTypeLayout::Int16 => Self::Int16,
36914
36915 ::fidl_fuchsia_component_decl::ConfigTypeLayout::Int32 => Self::Int32,
36916
36917 ::fidl_fuchsia_component_decl::ConfigTypeLayout::Int64 => Self::Int64,
36918
36919 ::fidl_fuchsia_component_decl::ConfigTypeLayout::String => Self::String,
36920
36921 ::fidl_fuchsia_component_decl::ConfigTypeLayout::Vector => Self::Vector,
36922
36923 ::fidl_fuchsia_component_decl::ConfigTypeLayout::__SourceBreaking {
36924 unknown_ordinal: value,
36925 } => Self::UnknownOrdinal_(value),
36926 }
36927 }
36928 }
36929
36930 impl ::fidl_next::CompatFrom<crate::LayoutConstraint>
36931 for ::fidl_fuchsia_component_decl::LayoutConstraint
36932 {
36933 fn compat_from(value: crate::LayoutConstraint) -> Self {
36934 match value {
36935 crate::LayoutConstraint::MaxSize(value) => {
36936 Self::MaxSize(::fidl_next::CompatFrom::compat_from(value))
36937 }
36938
36939 crate::LayoutConstraint::UnknownOrdinal_(unknown_ordinal) => {
36940 Self::__SourceBreaking { unknown_ordinal }
36941 }
36942 }
36943 }
36944 }
36945
36946 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::LayoutConstraint>
36947 for crate::LayoutConstraint
36948 {
36949 fn compat_from(value: ::fidl_fuchsia_component_decl::LayoutConstraint) -> Self {
36950 match value {
36951 ::fidl_fuchsia_component_decl::LayoutConstraint::MaxSize(value) => {
36952 Self::MaxSize(::fidl_next::CompatFrom::compat_from(value))
36953 }
36954
36955 ::fidl_fuchsia_component_decl::LayoutConstraint::__SourceBreaking {
36956 unknown_ordinal,
36957 } => Self::UnknownOrdinal_(unknown_ordinal),
36958 }
36959 }
36960 }
36961
36962 impl ::fidl_next::CompatFrom<crate::ConfigType> for ::fidl_fuchsia_component_decl::ConfigType {
36963 #[inline]
36964 fn compat_from(value: crate::ConfigType) -> Self {
36965 Self {
36966 layout: ::fidl_next::CompatFrom::compat_from(value.layout),
36967
36968 parameters: ::fidl_next::CompatFrom::compat_from(value.parameters),
36969
36970 constraints: ::fidl_next::CompatFrom::compat_from(value.constraints),
36971 }
36972 }
36973 }
36974
36975 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::ConfigType> for crate::ConfigType {
36976 #[inline]
36977 fn compat_from(value: ::fidl_fuchsia_component_decl::ConfigType) -> Self {
36978 Self {
36979 layout: ::fidl_next::CompatFrom::compat_from(value.layout),
36980
36981 parameters: ::fidl_next::CompatFrom::compat_from(value.parameters),
36982
36983 constraints: ::fidl_next::CompatFrom::compat_from(value.constraints),
36984 }
36985 }
36986 }
36987
36988 impl ::fidl_next::CompatFrom<crate::ConfigChecksum>
36989 for ::fidl_fuchsia_component_decl::ConfigChecksum
36990 {
36991 fn compat_from(value: crate::ConfigChecksum) -> Self {
36992 match value {
36993 crate::ConfigChecksum::Sha256(value) => {
36994 Self::Sha256(::fidl_next::CompatFrom::compat_from(value))
36995 }
36996
36997 crate::ConfigChecksum::UnknownOrdinal_(unknown_ordinal) => {
36998 Self::__SourceBreaking { unknown_ordinal }
36999 }
37000 }
37001 }
37002 }
37003
37004 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::ConfigChecksum>
37005 for crate::ConfigChecksum
37006 {
37007 fn compat_from(value: ::fidl_fuchsia_component_decl::ConfigChecksum) -> Self {
37008 match value {
37009 ::fidl_fuchsia_component_decl::ConfigChecksum::Sha256(value) => {
37010 Self::Sha256(::fidl_next::CompatFrom::compat_from(value))
37011 }
37012
37013 ::fidl_fuchsia_component_decl::ConfigChecksum::__SourceBreaking {
37014 unknown_ordinal,
37015 } => Self::UnknownOrdinal_(unknown_ordinal),
37016 }
37017 }
37018 }
37019
37020 impl ::fidl_next::CompatFrom<crate::UseStorage> for ::fidl_fuchsia_component_decl::UseStorage {
37021 fn compat_from(value: crate::UseStorage) -> Self {
37022 Self {
37023 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37024
37025 target_path: ::fidl_next::CompatFrom::compat_from(value.target_path),
37026
37027 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37028
37029 __source_breaking: ::fidl::marker::SourceBreaking,
37030 }
37031 }
37032 }
37033
37034 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::UseStorage> for crate::UseStorage {
37035 fn compat_from(value: ::fidl_fuchsia_component_decl::UseStorage) -> Self {
37036 Self {
37037 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37038
37039 target_path: ::fidl_next::CompatFrom::compat_from(value.target_path),
37040
37041 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37042 }
37043 }
37044 }
37045
37046 impl ::fidl_next::CompatFrom<crate::ConfigMutability>
37047 for ::fidl_fuchsia_component_decl::ConfigMutability
37048 {
37049 fn compat_from(value: crate::ConfigMutability) -> Self {
37050 Self::from_bits_retain(value.bits())
37051 }
37052 }
37053
37054 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::ConfigMutability>
37055 for crate::ConfigMutability
37056 {
37057 fn compat_from(value: ::fidl_fuchsia_component_decl::ConfigMutability) -> Self {
37058 Self::from_bits_retain(value.bits())
37059 }
37060 }
37061
37062 impl ::fidl_next::CompatFrom<crate::ConfigField> for ::fidl_fuchsia_component_decl::ConfigField {
37063 fn compat_from(value: crate::ConfigField) -> Self {
37064 Self {
37065 key: ::fidl_next::CompatFrom::compat_from(value.key),
37066
37067 type_: ::fidl_next::CompatFrom::compat_from(value.type_),
37068
37069 mutability: ::fidl_next::CompatFrom::compat_from(value.mutability),
37070
37071 __source_breaking: ::fidl::marker::SourceBreaking,
37072 }
37073 }
37074 }
37075
37076 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::ConfigField> for crate::ConfigField {
37077 fn compat_from(value: ::fidl_fuchsia_component_decl::ConfigField) -> Self {
37078 Self {
37079 key: ::fidl_next::CompatFrom::compat_from(value.key),
37080
37081 type_: ::fidl_next::CompatFrom::compat_from(value.type_),
37082
37083 mutability: ::fidl_next::CompatFrom::compat_from(value.mutability),
37084 }
37085 }
37086 }
37087
37088 impl ::fidl_next::CompatFrom<crate::Program> for ::fidl_fuchsia_component_decl::Program {
37089 fn compat_from(value: crate::Program) -> Self {
37090 Self {
37091 runner: ::fidl_next::CompatFrom::compat_from(value.runner),
37092
37093 info: ::fidl_next::CompatFrom::compat_from(value.info),
37094
37095 __source_breaking: ::fidl::marker::SourceBreaking,
37096 }
37097 }
37098 }
37099
37100 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::Program> for crate::Program {
37101 fn compat_from(value: ::fidl_fuchsia_component_decl::Program) -> Self {
37102 Self {
37103 runner: ::fidl_next::CompatFrom::compat_from(value.runner),
37104
37105 info: ::fidl_next::CompatFrom::compat_from(value.info),
37106 }
37107 }
37108 }
37109
37110 impl ::fidl_next::CompatFrom<crate::DebugInfo> for ::fidl_fuchsia_component_decl::DebugInfo {
37111 fn compat_from(value: crate::DebugInfo) -> Self {
37112 Self {
37113 manifest_sources: ::fidl_next::CompatFrom::compat_from(value.manifest_sources),
37114
37115 __source_breaking: ::fidl::marker::SourceBreaking,
37116 }
37117 }
37118 }
37119
37120 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::DebugInfo> for crate::DebugInfo {
37121 fn compat_from(value: ::fidl_fuchsia_component_decl::DebugInfo) -> Self {
37122 Self { manifest_sources: ::fidl_next::CompatFrom::compat_from(value.manifest_sources) }
37123 }
37124 }
37125
37126 impl ::fidl_next::CompatFrom<crate::UseService> for ::fidl_fuchsia_component_decl::UseService {
37127 fn compat_from(value: crate::UseService) -> Self {
37128 Self {
37129 source: ::fidl_next::CompatFrom::compat_from(value.source),
37130
37131 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37132
37133 target_path: ::fidl_next::CompatFrom::compat_from(value.target_path),
37134
37135 dependency_type: ::fidl_next::CompatFrom::compat_from(value.dependency_type),
37136
37137 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37138
37139 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37140
37141 __source_breaking: ::fidl::marker::SourceBreaking,
37142 }
37143 }
37144 }
37145
37146 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::UseService> for crate::UseService {
37147 fn compat_from(value: ::fidl_fuchsia_component_decl::UseService) -> Self {
37148 Self {
37149 source: ::fidl_next::CompatFrom::compat_from(value.source),
37150
37151 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37152
37153 target_path: ::fidl_next::CompatFrom::compat_from(value.target_path),
37154
37155 dependency_type: ::fidl_next::CompatFrom::compat_from(value.dependency_type),
37156
37157 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37158
37159 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37160 }
37161 }
37162 }
37163
37164 impl ::fidl_next::CompatFrom<crate::UseProtocol> for ::fidl_fuchsia_component_decl::UseProtocol {
37165 fn compat_from(value: crate::UseProtocol) -> Self {
37166 Self {
37167 source: ::fidl_next::CompatFrom::compat_from(value.source),
37168
37169 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37170
37171 target_path: ::fidl_next::CompatFrom::compat_from(value.target_path),
37172
37173 dependency_type: ::fidl_next::CompatFrom::compat_from(value.dependency_type),
37174
37175 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37176
37177 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37178
37179 numbered_handle: ::fidl_next::CompatFrom::compat_from(value.numbered_handle),
37180
37181 __source_breaking: ::fidl::marker::SourceBreaking,
37182 }
37183 }
37184 }
37185
37186 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::UseProtocol> for crate::UseProtocol {
37187 fn compat_from(value: ::fidl_fuchsia_component_decl::UseProtocol) -> Self {
37188 Self {
37189 source: ::fidl_next::CompatFrom::compat_from(value.source),
37190
37191 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37192
37193 target_path: ::fidl_next::CompatFrom::compat_from(value.target_path),
37194
37195 dependency_type: ::fidl_next::CompatFrom::compat_from(value.dependency_type),
37196
37197 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37198
37199 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37200
37201 numbered_handle: ::fidl_next::CompatFrom::compat_from(value.numbered_handle),
37202 }
37203 }
37204 }
37205
37206 impl ::fidl_next::CompatFrom<crate::UseDirectory> for ::fidl_fuchsia_component_decl::UseDirectory {
37207 fn compat_from(value: crate::UseDirectory) -> Self {
37208 Self {
37209 source: ::fidl_next::CompatFrom::compat_from(value.source),
37210
37211 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37212
37213 target_path: ::fidl_next::CompatFrom::compat_from(value.target_path),
37214
37215 rights: ::fidl_next::CompatFrom::compat_from(value.rights),
37216
37217 subdir: ::fidl_next::CompatFrom::compat_from(value.subdir),
37218
37219 dependency_type: ::fidl_next::CompatFrom::compat_from(value.dependency_type),
37220
37221 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37222
37223 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37224
37225 __source_breaking: ::fidl::marker::SourceBreaking,
37226 }
37227 }
37228 }
37229
37230 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::UseDirectory> for crate::UseDirectory {
37231 fn compat_from(value: ::fidl_fuchsia_component_decl::UseDirectory) -> Self {
37232 Self {
37233 source: ::fidl_next::CompatFrom::compat_from(value.source),
37234
37235 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37236
37237 target_path: ::fidl_next::CompatFrom::compat_from(value.target_path),
37238
37239 rights: ::fidl_next::CompatFrom::compat_from(value.rights),
37240
37241 subdir: ::fidl_next::CompatFrom::compat_from(value.subdir),
37242
37243 dependency_type: ::fidl_next::CompatFrom::compat_from(value.dependency_type),
37244
37245 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37246
37247 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37248 }
37249 }
37250 }
37251
37252 impl ::fidl_next::CompatFrom<crate::UseEventStream>
37253 for ::fidl_fuchsia_component_decl::UseEventStream
37254 {
37255 fn compat_from(value: crate::UseEventStream) -> Self {
37256 Self {
37257 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37258
37259 source: ::fidl_next::CompatFrom::compat_from(value.source),
37260
37261 scope: ::fidl_next::CompatFrom::compat_from(value.scope),
37262
37263 target_path: ::fidl_next::CompatFrom::compat_from(value.target_path),
37264
37265 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37266
37267 filter: ::fidl_next::CompatFrom::compat_from(value.filter),
37268
37269 __source_breaking: ::fidl::marker::SourceBreaking,
37270 }
37271 }
37272 }
37273
37274 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::UseEventStream>
37275 for crate::UseEventStream
37276 {
37277 fn compat_from(value: ::fidl_fuchsia_component_decl::UseEventStream) -> Self {
37278 Self {
37279 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37280
37281 source: ::fidl_next::CompatFrom::compat_from(value.source),
37282
37283 scope: ::fidl_next::CompatFrom::compat_from(value.scope),
37284
37285 target_path: ::fidl_next::CompatFrom::compat_from(value.target_path),
37286
37287 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37288
37289 filter: ::fidl_next::CompatFrom::compat_from(value.filter),
37290 }
37291 }
37292 }
37293
37294 impl ::fidl_next::CompatFrom<crate::UseRunner> for ::fidl_fuchsia_component_decl::UseRunner {
37295 fn compat_from(value: crate::UseRunner) -> Self {
37296 Self {
37297 source: ::fidl_next::CompatFrom::compat_from(value.source),
37298
37299 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37300
37301 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37302
37303 __source_breaking: ::fidl::marker::SourceBreaking,
37304 }
37305 }
37306 }
37307
37308 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::UseRunner> for crate::UseRunner {
37309 fn compat_from(value: ::fidl_fuchsia_component_decl::UseRunner) -> Self {
37310 Self {
37311 source: ::fidl_next::CompatFrom::compat_from(value.source),
37312
37313 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37314
37315 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37316 }
37317 }
37318 }
37319
37320 impl ::fidl_next::CompatFrom<crate::UseConfiguration>
37321 for ::fidl_fuchsia_component_decl::UseConfiguration
37322 {
37323 fn compat_from(value: crate::UseConfiguration) -> Self {
37324 Self {
37325 source: ::fidl_next::CompatFrom::compat_from(value.source),
37326
37327 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37328
37329 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
37330
37331 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37332
37333 type_: ::fidl_next::CompatFrom::compat_from(value.type_),
37334
37335 default: ::fidl_next::CompatFrom::compat_from(value.default),
37336
37337 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37338
37339 __source_breaking: ::fidl::marker::SourceBreaking,
37340 }
37341 }
37342 }
37343
37344 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::UseConfiguration>
37345 for crate::UseConfiguration
37346 {
37347 fn compat_from(value: ::fidl_fuchsia_component_decl::UseConfiguration) -> Self {
37348 Self {
37349 source: ::fidl_next::CompatFrom::compat_from(value.source),
37350
37351 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37352
37353 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
37354
37355 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37356
37357 type_: ::fidl_next::CompatFrom::compat_from(value.type_),
37358
37359 default: ::fidl_next::CompatFrom::compat_from(value.default),
37360
37361 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37362 }
37363 }
37364 }
37365
37366 impl ::fidl_next::CompatFrom<crate::UseDictionary>
37367 for ::fidl_fuchsia_component_decl::UseDictionary
37368 {
37369 fn compat_from(value: crate::UseDictionary) -> Self {
37370 Self {
37371 source: ::fidl_next::CompatFrom::compat_from(value.source),
37372
37373 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37374
37375 target_path: ::fidl_next::CompatFrom::compat_from(value.target_path),
37376
37377 dependency_type: ::fidl_next::CompatFrom::compat_from(value.dependency_type),
37378
37379 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37380
37381 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37382
37383 __source_breaking: ::fidl::marker::SourceBreaking,
37384 }
37385 }
37386 }
37387
37388 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::UseDictionary>
37389 for crate::UseDictionary
37390 {
37391 fn compat_from(value: ::fidl_fuchsia_component_decl::UseDictionary) -> Self {
37392 Self {
37393 source: ::fidl_next::CompatFrom::compat_from(value.source),
37394
37395 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37396
37397 target_path: ::fidl_next::CompatFrom::compat_from(value.target_path),
37398
37399 dependency_type: ::fidl_next::CompatFrom::compat_from(value.dependency_type),
37400
37401 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37402
37403 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37404 }
37405 }
37406 }
37407
37408 impl ::fidl_next::CompatFrom<crate::Use> for ::fidl_fuchsia_component_decl::Use {
37409 fn compat_from(value: crate::Use) -> Self {
37410 match value {
37411 crate::Use::Service(value) => {
37412 Self::Service(::fidl_next::CompatFrom::compat_from(value))
37413 }
37414
37415 crate::Use::Protocol(value) => {
37416 Self::Protocol(::fidl_next::CompatFrom::compat_from(value))
37417 }
37418
37419 crate::Use::Directory(value) => {
37420 Self::Directory(::fidl_next::CompatFrom::compat_from(value))
37421 }
37422
37423 crate::Use::Storage(value) => {
37424 Self::Storage(::fidl_next::CompatFrom::compat_from(value))
37425 }
37426
37427 crate::Use::EventStream(value) => {
37428 Self::EventStream(::fidl_next::CompatFrom::compat_from(value))
37429 }
37430
37431 crate::Use::Runner(value) => {
37432 Self::Runner(::fidl_next::CompatFrom::compat_from(value))
37433 }
37434
37435 crate::Use::Config(value) => {
37436 Self::Config(::fidl_next::CompatFrom::compat_from(value))
37437 }
37438
37439 crate::Use::Dictionary(value) => {
37440 Self::Dictionary(::fidl_next::CompatFrom::compat_from(value))
37441 }
37442
37443 crate::Use::UnknownOrdinal_(unknown_ordinal) => {
37444 Self::__SourceBreaking { unknown_ordinal }
37445 }
37446 }
37447 }
37448 }
37449
37450 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::Use> for crate::Use {
37451 fn compat_from(value: ::fidl_fuchsia_component_decl::Use) -> Self {
37452 match value {
37453 ::fidl_fuchsia_component_decl::Use::Service(value) => {
37454 Self::Service(::fidl_next::CompatFrom::compat_from(value))
37455 }
37456
37457 ::fidl_fuchsia_component_decl::Use::Protocol(value) => {
37458 Self::Protocol(::fidl_next::CompatFrom::compat_from(value))
37459 }
37460
37461 ::fidl_fuchsia_component_decl::Use::Directory(value) => {
37462 Self::Directory(::fidl_next::CompatFrom::compat_from(value))
37463 }
37464
37465 ::fidl_fuchsia_component_decl::Use::Storage(value) => {
37466 Self::Storage(::fidl_next::CompatFrom::compat_from(value))
37467 }
37468
37469 ::fidl_fuchsia_component_decl::Use::EventStream(value) => {
37470 Self::EventStream(::fidl_next::CompatFrom::compat_from(value))
37471 }
37472
37473 ::fidl_fuchsia_component_decl::Use::Runner(value) => {
37474 Self::Runner(::fidl_next::CompatFrom::compat_from(value))
37475 }
37476
37477 ::fidl_fuchsia_component_decl::Use::Config(value) => {
37478 Self::Config(::fidl_next::CompatFrom::compat_from(value))
37479 }
37480
37481 ::fidl_fuchsia_component_decl::Use::Dictionary(value) => {
37482 Self::Dictionary(::fidl_next::CompatFrom::compat_from(value))
37483 }
37484
37485 ::fidl_fuchsia_component_decl::Use::__SourceBreaking { unknown_ordinal } => {
37486 Self::UnknownOrdinal_(unknown_ordinal)
37487 }
37488 }
37489 }
37490 }
37491
37492 impl ::fidl_next::CompatFrom<crate::ExposeService>
37493 for ::fidl_fuchsia_component_decl::ExposeService
37494 {
37495 fn compat_from(value: crate::ExposeService) -> Self {
37496 Self {
37497 source: ::fidl_next::CompatFrom::compat_from(value.source),
37498
37499 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37500
37501 target: ::fidl_next::CompatFrom::compat_from(value.target),
37502
37503 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
37504
37505 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37506
37507 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37508
37509 __source_breaking: ::fidl::marker::SourceBreaking,
37510 }
37511 }
37512 }
37513
37514 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::ExposeService>
37515 for crate::ExposeService
37516 {
37517 fn compat_from(value: ::fidl_fuchsia_component_decl::ExposeService) -> Self {
37518 Self {
37519 source: ::fidl_next::CompatFrom::compat_from(value.source),
37520
37521 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37522
37523 target: ::fidl_next::CompatFrom::compat_from(value.target),
37524
37525 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
37526
37527 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37528
37529 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37530 }
37531 }
37532 }
37533
37534 impl ::fidl_next::CompatFrom<crate::ExposeProtocol>
37535 for ::fidl_fuchsia_component_decl::ExposeProtocol
37536 {
37537 fn compat_from(value: crate::ExposeProtocol) -> Self {
37538 Self {
37539 source: ::fidl_next::CompatFrom::compat_from(value.source),
37540
37541 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37542
37543 target: ::fidl_next::CompatFrom::compat_from(value.target),
37544
37545 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
37546
37547 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37548
37549 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37550
37551 __source_breaking: ::fidl::marker::SourceBreaking,
37552 }
37553 }
37554 }
37555
37556 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::ExposeProtocol>
37557 for crate::ExposeProtocol
37558 {
37559 fn compat_from(value: ::fidl_fuchsia_component_decl::ExposeProtocol) -> Self {
37560 Self {
37561 source: ::fidl_next::CompatFrom::compat_from(value.source),
37562
37563 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37564
37565 target: ::fidl_next::CompatFrom::compat_from(value.target),
37566
37567 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
37568
37569 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37570
37571 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37572 }
37573 }
37574 }
37575
37576 impl ::fidl_next::CompatFrom<crate::ExposeDirectory>
37577 for ::fidl_fuchsia_component_decl::ExposeDirectory
37578 {
37579 fn compat_from(value: crate::ExposeDirectory) -> Self {
37580 Self {
37581 source: ::fidl_next::CompatFrom::compat_from(value.source),
37582
37583 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37584
37585 target: ::fidl_next::CompatFrom::compat_from(value.target),
37586
37587 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
37588
37589 rights: ::fidl_next::CompatFrom::compat_from(value.rights),
37590
37591 subdir: ::fidl_next::CompatFrom::compat_from(value.subdir),
37592
37593 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37594
37595 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37596
37597 __source_breaking: ::fidl::marker::SourceBreaking,
37598 }
37599 }
37600 }
37601
37602 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::ExposeDirectory>
37603 for crate::ExposeDirectory
37604 {
37605 fn compat_from(value: ::fidl_fuchsia_component_decl::ExposeDirectory) -> Self {
37606 Self {
37607 source: ::fidl_next::CompatFrom::compat_from(value.source),
37608
37609 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37610
37611 target: ::fidl_next::CompatFrom::compat_from(value.target),
37612
37613 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
37614
37615 rights: ::fidl_next::CompatFrom::compat_from(value.rights),
37616
37617 subdir: ::fidl_next::CompatFrom::compat_from(value.subdir),
37618
37619 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37620
37621 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37622 }
37623 }
37624 }
37625
37626 impl ::fidl_next::CompatFrom<crate::ExposeRunner> for ::fidl_fuchsia_component_decl::ExposeRunner {
37627 fn compat_from(value: crate::ExposeRunner) -> Self {
37628 Self {
37629 source: ::fidl_next::CompatFrom::compat_from(value.source),
37630
37631 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37632
37633 target: ::fidl_next::CompatFrom::compat_from(value.target),
37634
37635 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
37636
37637 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37638
37639 __source_breaking: ::fidl::marker::SourceBreaking,
37640 }
37641 }
37642 }
37643
37644 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::ExposeRunner> for crate::ExposeRunner {
37645 fn compat_from(value: ::fidl_fuchsia_component_decl::ExposeRunner) -> Self {
37646 Self {
37647 source: ::fidl_next::CompatFrom::compat_from(value.source),
37648
37649 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37650
37651 target: ::fidl_next::CompatFrom::compat_from(value.target),
37652
37653 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
37654
37655 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37656 }
37657 }
37658 }
37659
37660 impl ::fidl_next::CompatFrom<crate::ExposeResolver>
37661 for ::fidl_fuchsia_component_decl::ExposeResolver
37662 {
37663 fn compat_from(value: crate::ExposeResolver) -> Self {
37664 Self {
37665 source: ::fidl_next::CompatFrom::compat_from(value.source),
37666
37667 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37668
37669 target: ::fidl_next::CompatFrom::compat_from(value.target),
37670
37671 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
37672
37673 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37674
37675 __source_breaking: ::fidl::marker::SourceBreaking,
37676 }
37677 }
37678 }
37679
37680 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::ExposeResolver>
37681 for crate::ExposeResolver
37682 {
37683 fn compat_from(value: ::fidl_fuchsia_component_decl::ExposeResolver) -> Self {
37684 Self {
37685 source: ::fidl_next::CompatFrom::compat_from(value.source),
37686
37687 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37688
37689 target: ::fidl_next::CompatFrom::compat_from(value.target),
37690
37691 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
37692
37693 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37694 }
37695 }
37696 }
37697
37698 impl ::fidl_next::CompatFrom<crate::ExposeDictionary>
37699 for ::fidl_fuchsia_component_decl::ExposeDictionary
37700 {
37701 fn compat_from(value: crate::ExposeDictionary) -> Self {
37702 Self {
37703 source: ::fidl_next::CompatFrom::compat_from(value.source),
37704
37705 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37706
37707 target: ::fidl_next::CompatFrom::compat_from(value.target),
37708
37709 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
37710
37711 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37712
37713 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37714
37715 __source_breaking: ::fidl::marker::SourceBreaking,
37716 }
37717 }
37718 }
37719
37720 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::ExposeDictionary>
37721 for crate::ExposeDictionary
37722 {
37723 fn compat_from(value: ::fidl_fuchsia_component_decl::ExposeDictionary) -> Self {
37724 Self {
37725 source: ::fidl_next::CompatFrom::compat_from(value.source),
37726
37727 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37728
37729 target: ::fidl_next::CompatFrom::compat_from(value.target),
37730
37731 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
37732
37733 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37734
37735 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37736 }
37737 }
37738 }
37739
37740 impl ::fidl_next::CompatFrom<crate::ExposeConfiguration>
37741 for ::fidl_fuchsia_component_decl::ExposeConfiguration
37742 {
37743 fn compat_from(value: crate::ExposeConfiguration) -> Self {
37744 Self {
37745 source: ::fidl_next::CompatFrom::compat_from(value.source),
37746
37747 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37748
37749 target: ::fidl_next::CompatFrom::compat_from(value.target),
37750
37751 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
37752
37753 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37754
37755 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37756
37757 __source_breaking: ::fidl::marker::SourceBreaking,
37758 }
37759 }
37760 }
37761
37762 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::ExposeConfiguration>
37763 for crate::ExposeConfiguration
37764 {
37765 fn compat_from(value: ::fidl_fuchsia_component_decl::ExposeConfiguration) -> Self {
37766 Self {
37767 source: ::fidl_next::CompatFrom::compat_from(value.source),
37768
37769 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37770
37771 target: ::fidl_next::CompatFrom::compat_from(value.target),
37772
37773 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
37774
37775 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37776
37777 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37778 }
37779 }
37780 }
37781
37782 impl ::fidl_next::CompatFrom<crate::Expose> for ::fidl_fuchsia_component_decl::Expose {
37783 fn compat_from(value: crate::Expose) -> Self {
37784 match value {
37785 crate::Expose::Service(value) => {
37786 Self::Service(::fidl_next::CompatFrom::compat_from(value))
37787 }
37788
37789 crate::Expose::Protocol(value) => {
37790 Self::Protocol(::fidl_next::CompatFrom::compat_from(value))
37791 }
37792
37793 crate::Expose::Directory(value) => {
37794 Self::Directory(::fidl_next::CompatFrom::compat_from(value))
37795 }
37796
37797 crate::Expose::Runner(value) => {
37798 Self::Runner(::fidl_next::CompatFrom::compat_from(value))
37799 }
37800
37801 crate::Expose::Resolver(value) => {
37802 Self::Resolver(::fidl_next::CompatFrom::compat_from(value))
37803 }
37804
37805 crate::Expose::Dictionary(value) => {
37806 Self::Dictionary(::fidl_next::CompatFrom::compat_from(value))
37807 }
37808
37809 crate::Expose::Config(value) => {
37810 Self::Config(::fidl_next::CompatFrom::compat_from(value))
37811 }
37812
37813 crate::Expose::UnknownOrdinal_(unknown_ordinal) => {
37814 Self::__SourceBreaking { unknown_ordinal }
37815 }
37816 }
37817 }
37818 }
37819
37820 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::Expose> for crate::Expose {
37821 fn compat_from(value: ::fidl_fuchsia_component_decl::Expose) -> Self {
37822 match value {
37823 ::fidl_fuchsia_component_decl::Expose::Service(value) => {
37824 Self::Service(::fidl_next::CompatFrom::compat_from(value))
37825 }
37826
37827 ::fidl_fuchsia_component_decl::Expose::Protocol(value) => {
37828 Self::Protocol(::fidl_next::CompatFrom::compat_from(value))
37829 }
37830
37831 ::fidl_fuchsia_component_decl::Expose::Directory(value) => {
37832 Self::Directory(::fidl_next::CompatFrom::compat_from(value))
37833 }
37834
37835 ::fidl_fuchsia_component_decl::Expose::Runner(value) => {
37836 Self::Runner(::fidl_next::CompatFrom::compat_from(value))
37837 }
37838
37839 ::fidl_fuchsia_component_decl::Expose::Resolver(value) => {
37840 Self::Resolver(::fidl_next::CompatFrom::compat_from(value))
37841 }
37842
37843 ::fidl_fuchsia_component_decl::Expose::Dictionary(value) => {
37844 Self::Dictionary(::fidl_next::CompatFrom::compat_from(value))
37845 }
37846
37847 ::fidl_fuchsia_component_decl::Expose::Config(value) => {
37848 Self::Config(::fidl_next::CompatFrom::compat_from(value))
37849 }
37850
37851 ::fidl_fuchsia_component_decl::Expose::__SourceBreaking { unknown_ordinal } => {
37852 Self::UnknownOrdinal_(unknown_ordinal)
37853 }
37854 }
37855 }
37856 }
37857
37858 impl ::fidl_next::CompatFrom<crate::OfferService> for ::fidl_fuchsia_component_decl::OfferService {
37859 fn compat_from(value: crate::OfferService) -> Self {
37860 Self {
37861 source: ::fidl_next::CompatFrom::compat_from(value.source),
37862
37863 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37864
37865 target: ::fidl_next::CompatFrom::compat_from(value.target),
37866
37867 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
37868
37869 source_instance_filter: ::fidl_next::CompatFrom::compat_from(
37870 value.source_instance_filter,
37871 ),
37872
37873 renamed_instances: ::fidl_next::CompatFrom::compat_from(value.renamed_instances),
37874
37875 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37876
37877 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37878
37879 dependency_type: ::fidl_next::CompatFrom::compat_from(value.dependency_type),
37880
37881 __source_breaking: ::fidl::marker::SourceBreaking,
37882 }
37883 }
37884 }
37885
37886 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::OfferService> for crate::OfferService {
37887 fn compat_from(value: ::fidl_fuchsia_component_decl::OfferService) -> Self {
37888 Self {
37889 source: ::fidl_next::CompatFrom::compat_from(value.source),
37890
37891 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37892
37893 target: ::fidl_next::CompatFrom::compat_from(value.target),
37894
37895 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
37896
37897 source_instance_filter: ::fidl_next::CompatFrom::compat_from(
37898 value.source_instance_filter,
37899 ),
37900
37901 renamed_instances: ::fidl_next::CompatFrom::compat_from(value.renamed_instances),
37902
37903 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37904
37905 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37906
37907 dependency_type: ::fidl_next::CompatFrom::compat_from(value.dependency_type),
37908 }
37909 }
37910 }
37911
37912 impl ::fidl_next::CompatFrom<crate::OfferProtocol>
37913 for ::fidl_fuchsia_component_decl::OfferProtocol
37914 {
37915 fn compat_from(value: crate::OfferProtocol) -> Self {
37916 Self {
37917 source: ::fidl_next::CompatFrom::compat_from(value.source),
37918
37919 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37920
37921 target: ::fidl_next::CompatFrom::compat_from(value.target),
37922
37923 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
37924
37925 dependency_type: ::fidl_next::CompatFrom::compat_from(value.dependency_type),
37926
37927 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37928
37929 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37930
37931 __source_breaking: ::fidl::marker::SourceBreaking,
37932 }
37933 }
37934 }
37935
37936 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::OfferProtocol>
37937 for crate::OfferProtocol
37938 {
37939 fn compat_from(value: ::fidl_fuchsia_component_decl::OfferProtocol) -> Self {
37940 Self {
37941 source: ::fidl_next::CompatFrom::compat_from(value.source),
37942
37943 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37944
37945 target: ::fidl_next::CompatFrom::compat_from(value.target),
37946
37947 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
37948
37949 dependency_type: ::fidl_next::CompatFrom::compat_from(value.dependency_type),
37950
37951 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37952
37953 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37954 }
37955 }
37956 }
37957
37958 impl ::fidl_next::CompatFrom<crate::OfferDirectory>
37959 for ::fidl_fuchsia_component_decl::OfferDirectory
37960 {
37961 fn compat_from(value: crate::OfferDirectory) -> Self {
37962 Self {
37963 source: ::fidl_next::CompatFrom::compat_from(value.source),
37964
37965 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37966
37967 target: ::fidl_next::CompatFrom::compat_from(value.target),
37968
37969 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
37970
37971 rights: ::fidl_next::CompatFrom::compat_from(value.rights),
37972
37973 subdir: ::fidl_next::CompatFrom::compat_from(value.subdir),
37974
37975 dependency_type: ::fidl_next::CompatFrom::compat_from(value.dependency_type),
37976
37977 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
37978
37979 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
37980
37981 __source_breaking: ::fidl::marker::SourceBreaking,
37982 }
37983 }
37984 }
37985
37986 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::OfferDirectory>
37987 for crate::OfferDirectory
37988 {
37989 fn compat_from(value: ::fidl_fuchsia_component_decl::OfferDirectory) -> Self {
37990 Self {
37991 source: ::fidl_next::CompatFrom::compat_from(value.source),
37992
37993 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
37994
37995 target: ::fidl_next::CompatFrom::compat_from(value.target),
37996
37997 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
37998
37999 rights: ::fidl_next::CompatFrom::compat_from(value.rights),
38000
38001 subdir: ::fidl_next::CompatFrom::compat_from(value.subdir),
38002
38003 dependency_type: ::fidl_next::CompatFrom::compat_from(value.dependency_type),
38004
38005 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
38006
38007 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
38008 }
38009 }
38010 }
38011
38012 impl ::fidl_next::CompatFrom<crate::OfferStorage> for ::fidl_fuchsia_component_decl::OfferStorage {
38013 fn compat_from(value: crate::OfferStorage) -> Self {
38014 Self {
38015 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
38016
38017 source: ::fidl_next::CompatFrom::compat_from(value.source),
38018
38019 target: ::fidl_next::CompatFrom::compat_from(value.target),
38020
38021 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
38022
38023 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
38024
38025 __source_breaking: ::fidl::marker::SourceBreaking,
38026 }
38027 }
38028 }
38029
38030 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::OfferStorage> for crate::OfferStorage {
38031 fn compat_from(value: ::fidl_fuchsia_component_decl::OfferStorage) -> Self {
38032 Self {
38033 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
38034
38035 source: ::fidl_next::CompatFrom::compat_from(value.source),
38036
38037 target: ::fidl_next::CompatFrom::compat_from(value.target),
38038
38039 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
38040
38041 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
38042 }
38043 }
38044 }
38045
38046 impl ::fidl_next::CompatFrom<crate::OfferRunner> for ::fidl_fuchsia_component_decl::OfferRunner {
38047 fn compat_from(value: crate::OfferRunner) -> Self {
38048 Self {
38049 source: ::fidl_next::CompatFrom::compat_from(value.source),
38050
38051 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
38052
38053 target: ::fidl_next::CompatFrom::compat_from(value.target),
38054
38055 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
38056
38057 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
38058
38059 __source_breaking: ::fidl::marker::SourceBreaking,
38060 }
38061 }
38062 }
38063
38064 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::OfferRunner> for crate::OfferRunner {
38065 fn compat_from(value: ::fidl_fuchsia_component_decl::OfferRunner) -> Self {
38066 Self {
38067 source: ::fidl_next::CompatFrom::compat_from(value.source),
38068
38069 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
38070
38071 target: ::fidl_next::CompatFrom::compat_from(value.target),
38072
38073 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
38074
38075 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
38076 }
38077 }
38078 }
38079
38080 impl ::fidl_next::CompatFrom<crate::OfferResolver>
38081 for ::fidl_fuchsia_component_decl::OfferResolver
38082 {
38083 fn compat_from(value: crate::OfferResolver) -> Self {
38084 Self {
38085 source: ::fidl_next::CompatFrom::compat_from(value.source),
38086
38087 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
38088
38089 target: ::fidl_next::CompatFrom::compat_from(value.target),
38090
38091 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
38092
38093 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
38094
38095 __source_breaking: ::fidl::marker::SourceBreaking,
38096 }
38097 }
38098 }
38099
38100 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::OfferResolver>
38101 for crate::OfferResolver
38102 {
38103 fn compat_from(value: ::fidl_fuchsia_component_decl::OfferResolver) -> Self {
38104 Self {
38105 source: ::fidl_next::CompatFrom::compat_from(value.source),
38106
38107 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
38108
38109 target: ::fidl_next::CompatFrom::compat_from(value.target),
38110
38111 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
38112
38113 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
38114 }
38115 }
38116 }
38117
38118 impl ::fidl_next::CompatFrom<crate::OfferEventStream>
38119 for ::fidl_fuchsia_component_decl::OfferEventStream
38120 {
38121 fn compat_from(value: crate::OfferEventStream) -> Self {
38122 Self {
38123 source: ::fidl_next::CompatFrom::compat_from(value.source),
38124
38125 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
38126
38127 scope: ::fidl_next::CompatFrom::compat_from(value.scope),
38128
38129 target: ::fidl_next::CompatFrom::compat_from(value.target),
38130
38131 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
38132
38133 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
38134
38135 __source_breaking: ::fidl::marker::SourceBreaking,
38136 }
38137 }
38138 }
38139
38140 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::OfferEventStream>
38141 for crate::OfferEventStream
38142 {
38143 fn compat_from(value: ::fidl_fuchsia_component_decl::OfferEventStream) -> Self {
38144 Self {
38145 source: ::fidl_next::CompatFrom::compat_from(value.source),
38146
38147 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
38148
38149 scope: ::fidl_next::CompatFrom::compat_from(value.scope),
38150
38151 target: ::fidl_next::CompatFrom::compat_from(value.target),
38152
38153 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
38154
38155 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
38156 }
38157 }
38158 }
38159
38160 impl ::fidl_next::CompatFrom<crate::OfferDictionary>
38161 for ::fidl_fuchsia_component_decl::OfferDictionary
38162 {
38163 fn compat_from(value: crate::OfferDictionary) -> Self {
38164 Self {
38165 source: ::fidl_next::CompatFrom::compat_from(value.source),
38166
38167 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
38168
38169 target: ::fidl_next::CompatFrom::compat_from(value.target),
38170
38171 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
38172
38173 dependency_type: ::fidl_next::CompatFrom::compat_from(value.dependency_type),
38174
38175 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
38176
38177 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
38178
38179 __source_breaking: ::fidl::marker::SourceBreaking,
38180 }
38181 }
38182 }
38183
38184 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::OfferDictionary>
38185 for crate::OfferDictionary
38186 {
38187 fn compat_from(value: ::fidl_fuchsia_component_decl::OfferDictionary) -> Self {
38188 Self {
38189 source: ::fidl_next::CompatFrom::compat_from(value.source),
38190
38191 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
38192
38193 target: ::fidl_next::CompatFrom::compat_from(value.target),
38194
38195 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
38196
38197 dependency_type: ::fidl_next::CompatFrom::compat_from(value.dependency_type),
38198
38199 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
38200
38201 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
38202 }
38203 }
38204 }
38205
38206 impl ::fidl_next::CompatFrom<crate::OfferConfiguration>
38207 for ::fidl_fuchsia_component_decl::OfferConfiguration
38208 {
38209 fn compat_from(value: crate::OfferConfiguration) -> Self {
38210 Self {
38211 source: ::fidl_next::CompatFrom::compat_from(value.source),
38212
38213 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
38214
38215 target: ::fidl_next::CompatFrom::compat_from(value.target),
38216
38217 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
38218
38219 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
38220
38221 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
38222
38223 __source_breaking: ::fidl::marker::SourceBreaking,
38224 }
38225 }
38226 }
38227
38228 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::OfferConfiguration>
38229 for crate::OfferConfiguration
38230 {
38231 fn compat_from(value: ::fidl_fuchsia_component_decl::OfferConfiguration) -> Self {
38232 Self {
38233 source: ::fidl_next::CompatFrom::compat_from(value.source),
38234
38235 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
38236
38237 target: ::fidl_next::CompatFrom::compat_from(value.target),
38238
38239 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
38240
38241 availability: ::fidl_next::CompatFrom::compat_from(value.availability),
38242
38243 source_dictionary: ::fidl_next::CompatFrom::compat_from(value.source_dictionary),
38244 }
38245 }
38246 }
38247
38248 impl ::fidl_next::CompatFrom<crate::Offer> for ::fidl_fuchsia_component_decl::Offer {
38249 fn compat_from(value: crate::Offer) -> Self {
38250 match value {
38251 crate::Offer::Service(value) => {
38252 Self::Service(::fidl_next::CompatFrom::compat_from(value))
38253 }
38254
38255 crate::Offer::Protocol(value) => {
38256 Self::Protocol(::fidl_next::CompatFrom::compat_from(value))
38257 }
38258
38259 crate::Offer::Directory(value) => {
38260 Self::Directory(::fidl_next::CompatFrom::compat_from(value))
38261 }
38262
38263 crate::Offer::Storage(value) => {
38264 Self::Storage(::fidl_next::CompatFrom::compat_from(value))
38265 }
38266
38267 crate::Offer::Runner(value) => {
38268 Self::Runner(::fidl_next::CompatFrom::compat_from(value))
38269 }
38270
38271 crate::Offer::Resolver(value) => {
38272 Self::Resolver(::fidl_next::CompatFrom::compat_from(value))
38273 }
38274
38275 crate::Offer::EventStream(value) => {
38276 Self::EventStream(::fidl_next::CompatFrom::compat_from(value))
38277 }
38278
38279 crate::Offer::Dictionary(value) => {
38280 Self::Dictionary(::fidl_next::CompatFrom::compat_from(value))
38281 }
38282
38283 crate::Offer::Config(value) => {
38284 Self::Config(::fidl_next::CompatFrom::compat_from(value))
38285 }
38286
38287 crate::Offer::UnknownOrdinal_(unknown_ordinal) => {
38288 Self::__SourceBreaking { unknown_ordinal }
38289 }
38290 }
38291 }
38292 }
38293
38294 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::Offer> for crate::Offer {
38295 fn compat_from(value: ::fidl_fuchsia_component_decl::Offer) -> Self {
38296 match value {
38297 ::fidl_fuchsia_component_decl::Offer::Service(value) => {
38298 Self::Service(::fidl_next::CompatFrom::compat_from(value))
38299 }
38300
38301 ::fidl_fuchsia_component_decl::Offer::Protocol(value) => {
38302 Self::Protocol(::fidl_next::CompatFrom::compat_from(value))
38303 }
38304
38305 ::fidl_fuchsia_component_decl::Offer::Directory(value) => {
38306 Self::Directory(::fidl_next::CompatFrom::compat_from(value))
38307 }
38308
38309 ::fidl_fuchsia_component_decl::Offer::Storage(value) => {
38310 Self::Storage(::fidl_next::CompatFrom::compat_from(value))
38311 }
38312
38313 ::fidl_fuchsia_component_decl::Offer::Runner(value) => {
38314 Self::Runner(::fidl_next::CompatFrom::compat_from(value))
38315 }
38316
38317 ::fidl_fuchsia_component_decl::Offer::Resolver(value) => {
38318 Self::Resolver(::fidl_next::CompatFrom::compat_from(value))
38319 }
38320
38321 ::fidl_fuchsia_component_decl::Offer::EventStream(value) => {
38322 Self::EventStream(::fidl_next::CompatFrom::compat_from(value))
38323 }
38324
38325 ::fidl_fuchsia_component_decl::Offer::Dictionary(value) => {
38326 Self::Dictionary(::fidl_next::CompatFrom::compat_from(value))
38327 }
38328
38329 ::fidl_fuchsia_component_decl::Offer::Config(value) => {
38330 Self::Config(::fidl_next::CompatFrom::compat_from(value))
38331 }
38332
38333 ::fidl_fuchsia_component_decl::Offer::__SourceBreaking { unknown_ordinal } => {
38334 Self::UnknownOrdinal_(unknown_ordinal)
38335 }
38336 }
38337 }
38338 }
38339
38340 impl ::fidl_next::CompatFrom<crate::RunnerRegistration>
38341 for ::fidl_fuchsia_component_decl::RunnerRegistration
38342 {
38343 fn compat_from(value: crate::RunnerRegistration) -> Self {
38344 Self {
38345 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
38346
38347 source: ::fidl_next::CompatFrom::compat_from(value.source),
38348
38349 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
38350
38351 __source_breaking: ::fidl::marker::SourceBreaking,
38352 }
38353 }
38354 }
38355
38356 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::RunnerRegistration>
38357 for crate::RunnerRegistration
38358 {
38359 fn compat_from(value: ::fidl_fuchsia_component_decl::RunnerRegistration) -> Self {
38360 Self {
38361 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
38362
38363 source: ::fidl_next::CompatFrom::compat_from(value.source),
38364
38365 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
38366 }
38367 }
38368 }
38369
38370 impl ::fidl_next::CompatFrom<crate::ResolverRegistration>
38371 for ::fidl_fuchsia_component_decl::ResolverRegistration
38372 {
38373 fn compat_from(value: crate::ResolverRegistration) -> Self {
38374 Self {
38375 resolver: ::fidl_next::CompatFrom::compat_from(value.resolver),
38376
38377 source: ::fidl_next::CompatFrom::compat_from(value.source),
38378
38379 scheme: ::fidl_next::CompatFrom::compat_from(value.scheme),
38380
38381 __source_breaking: ::fidl::marker::SourceBreaking,
38382 }
38383 }
38384 }
38385
38386 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::ResolverRegistration>
38387 for crate::ResolverRegistration
38388 {
38389 fn compat_from(value: ::fidl_fuchsia_component_decl::ResolverRegistration) -> Self {
38390 Self {
38391 resolver: ::fidl_next::CompatFrom::compat_from(value.resolver),
38392
38393 source: ::fidl_next::CompatFrom::compat_from(value.source),
38394
38395 scheme: ::fidl_next::CompatFrom::compat_from(value.scheme),
38396 }
38397 }
38398 }
38399
38400 impl ::fidl_next::CompatFrom<crate::DebugProtocolRegistration>
38401 for ::fidl_fuchsia_component_decl::DebugProtocolRegistration
38402 {
38403 fn compat_from(value: crate::DebugProtocolRegistration) -> Self {
38404 Self {
38405 source: ::fidl_next::CompatFrom::compat_from(value.source),
38406
38407 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
38408
38409 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
38410
38411 __source_breaking: ::fidl::marker::SourceBreaking,
38412 }
38413 }
38414 }
38415
38416 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::DebugProtocolRegistration>
38417 for crate::DebugProtocolRegistration
38418 {
38419 fn compat_from(value: ::fidl_fuchsia_component_decl::DebugProtocolRegistration) -> Self {
38420 Self {
38421 source: ::fidl_next::CompatFrom::compat_from(value.source),
38422
38423 source_name: ::fidl_next::CompatFrom::compat_from(value.source_name),
38424
38425 target_name: ::fidl_next::CompatFrom::compat_from(value.target_name),
38426 }
38427 }
38428 }
38429
38430 impl ::fidl_next::CompatFrom<crate::DebugRegistration>
38431 for ::fidl_fuchsia_component_decl::DebugRegistration
38432 {
38433 fn compat_from(value: crate::DebugRegistration) -> Self {
38434 match value {
38435 crate::DebugRegistration::Protocol(value) => {
38436 Self::Protocol(::fidl_next::CompatFrom::compat_from(value))
38437 }
38438
38439 crate::DebugRegistration::UnknownOrdinal_(unknown_ordinal) => {
38440 Self::__SourceBreaking { unknown_ordinal }
38441 }
38442 }
38443 }
38444 }
38445
38446 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::DebugRegistration>
38447 for crate::DebugRegistration
38448 {
38449 fn compat_from(value: ::fidl_fuchsia_component_decl::DebugRegistration) -> Self {
38450 match value {
38451 ::fidl_fuchsia_component_decl::DebugRegistration::Protocol(value) => {
38452 Self::Protocol(::fidl_next::CompatFrom::compat_from(value))
38453 }
38454
38455 ::fidl_fuchsia_component_decl::DebugRegistration::__SourceBreaking {
38456 unknown_ordinal,
38457 } => Self::UnknownOrdinal_(unknown_ordinal),
38458 }
38459 }
38460 }
38461
38462 impl ::fidl_next::CompatFrom<crate::Environment> for ::fidl_fuchsia_component_decl::Environment {
38463 fn compat_from(value: crate::Environment) -> Self {
38464 Self {
38465 name: ::fidl_next::CompatFrom::compat_from(value.name),
38466
38467 extends: ::fidl_next::CompatFrom::compat_from(value.extends),
38468
38469 runners: ::fidl_next::CompatFrom::compat_from(value.runners),
38470
38471 resolvers: ::fidl_next::CompatFrom::compat_from(value.resolvers),
38472
38473 debug_capabilities: ::fidl_next::CompatFrom::compat_from(value.debug_capabilities),
38474
38475 stop_timeout_ms: ::fidl_next::CompatFrom::compat_from(value.stop_timeout_ms),
38476
38477 __source_breaking: ::fidl::marker::SourceBreaking,
38478 }
38479 }
38480 }
38481
38482 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::Environment> for crate::Environment {
38483 fn compat_from(value: ::fidl_fuchsia_component_decl::Environment) -> Self {
38484 Self {
38485 name: ::fidl_next::CompatFrom::compat_from(value.name),
38486
38487 extends: ::fidl_next::CompatFrom::compat_from(value.extends),
38488
38489 runners: ::fidl_next::CompatFrom::compat_from(value.runners),
38490
38491 resolvers: ::fidl_next::CompatFrom::compat_from(value.resolvers),
38492
38493 debug_capabilities: ::fidl_next::CompatFrom::compat_from(value.debug_capabilities),
38494
38495 stop_timeout_ms: ::fidl_next::CompatFrom::compat_from(value.stop_timeout_ms),
38496 }
38497 }
38498 }
38499
38500 impl ::fidl_next::CompatFrom<crate::ConfigSourceCapabilities>
38501 for ::fidl_fuchsia_component_decl::ConfigSourceCapabilities
38502 {
38503 fn compat_from(value: crate::ConfigSourceCapabilities) -> Self {
38504 Self { __source_breaking: ::fidl::marker::SourceBreaking }
38505 }
38506 }
38507
38508 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::ConfigSourceCapabilities>
38509 for crate::ConfigSourceCapabilities
38510 {
38511 fn compat_from(value: ::fidl_fuchsia_component_decl::ConfigSourceCapabilities) -> Self {
38512 Self {}
38513 }
38514 }
38515
38516 impl ::fidl_next::CompatFrom<crate::ConfigValueSource>
38517 for ::fidl_fuchsia_component_decl::ConfigValueSource
38518 {
38519 fn compat_from(value: crate::ConfigValueSource) -> Self {
38520 match value {
38521 crate::ConfigValueSource::PackagePath(value) => {
38522 Self::PackagePath(::fidl_next::CompatFrom::compat_from(value))
38523 }
38524
38525 crate::ConfigValueSource::Capabilities(value) => {
38526 Self::Capabilities(::fidl_next::CompatFrom::compat_from(value))
38527 }
38528
38529 crate::ConfigValueSource::UnknownOrdinal_(unknown_ordinal) => {
38530 Self::__SourceBreaking { unknown_ordinal }
38531 }
38532 }
38533 }
38534 }
38535
38536 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::ConfigValueSource>
38537 for crate::ConfigValueSource
38538 {
38539 fn compat_from(value: ::fidl_fuchsia_component_decl::ConfigValueSource) -> Self {
38540 match value {
38541 ::fidl_fuchsia_component_decl::ConfigValueSource::PackagePath(value) => {
38542 Self::PackagePath(::fidl_next::CompatFrom::compat_from(value))
38543 }
38544
38545 ::fidl_fuchsia_component_decl::ConfigValueSource::Capabilities(value) => {
38546 Self::Capabilities(::fidl_next::CompatFrom::compat_from(value))
38547 }
38548
38549 ::fidl_fuchsia_component_decl::ConfigValueSource::__SourceBreaking {
38550 unknown_ordinal,
38551 } => Self::UnknownOrdinal_(unknown_ordinal),
38552 }
38553 }
38554 }
38555
38556 impl ::fidl_next::CompatFrom<crate::ConfigSchema> for ::fidl_fuchsia_component_decl::ConfigSchema {
38557 fn compat_from(value: crate::ConfigSchema) -> Self {
38558 Self {
38559 fields: ::fidl_next::CompatFrom::compat_from(value.fields),
38560
38561 checksum: ::fidl_next::CompatFrom::compat_from(value.checksum),
38562
38563 value_source: ::fidl_next::CompatFrom::compat_from(value.value_source),
38564
38565 __source_breaking: ::fidl::marker::SourceBreaking,
38566 }
38567 }
38568 }
38569
38570 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::ConfigSchema> for crate::ConfigSchema {
38571 fn compat_from(value: ::fidl_fuchsia_component_decl::ConfigSchema) -> Self {
38572 Self {
38573 fields: ::fidl_next::CompatFrom::compat_from(value.fields),
38574
38575 checksum: ::fidl_next::CompatFrom::compat_from(value.checksum),
38576
38577 value_source: ::fidl_next::CompatFrom::compat_from(value.value_source),
38578 }
38579 }
38580 }
38581
38582 impl ::fidl_next::CompatFrom<crate::Component> for ::fidl_fuchsia_component_decl::Component {
38583 fn compat_from(value: crate::Component) -> Self {
38584 Self {
38585 program: ::fidl_next::CompatFrom::compat_from(value.program),
38586
38587 uses: ::fidl_next::CompatFrom::compat_from(value.uses),
38588
38589 exposes: ::fidl_next::CompatFrom::compat_from(value.exposes),
38590
38591 offers: ::fidl_next::CompatFrom::compat_from(value.offers),
38592
38593 capabilities: ::fidl_next::CompatFrom::compat_from(value.capabilities),
38594
38595 children: ::fidl_next::CompatFrom::compat_from(value.children),
38596
38597 collections: ::fidl_next::CompatFrom::compat_from(value.collections),
38598
38599 environments: ::fidl_next::CompatFrom::compat_from(value.environments),
38600
38601 facets: ::fidl_next::CompatFrom::compat_from(value.facets),
38602
38603 config: ::fidl_next::CompatFrom::compat_from(value.config),
38604
38605 debug_info: ::fidl_next::CompatFrom::compat_from(value.debug_info),
38606
38607 __source_breaking: ::fidl::marker::SourceBreaking,
38608 }
38609 }
38610 }
38611
38612 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::Component> for crate::Component {
38613 fn compat_from(value: ::fidl_fuchsia_component_decl::Component) -> Self {
38614 Self {
38615 program: ::fidl_next::CompatFrom::compat_from(value.program),
38616
38617 uses: ::fidl_next::CompatFrom::compat_from(value.uses),
38618
38619 exposes: ::fidl_next::CompatFrom::compat_from(value.exposes),
38620
38621 offers: ::fidl_next::CompatFrom::compat_from(value.offers),
38622
38623 capabilities: ::fidl_next::CompatFrom::compat_from(value.capabilities),
38624
38625 children: ::fidl_next::CompatFrom::compat_from(value.children),
38626
38627 collections: ::fidl_next::CompatFrom::compat_from(value.collections),
38628
38629 environments: ::fidl_next::CompatFrom::compat_from(value.environments),
38630
38631 facets: ::fidl_next::CompatFrom::compat_from(value.facets),
38632
38633 config: ::fidl_next::CompatFrom::compat_from(value.config),
38634
38635 debug_info: ::fidl_next::CompatFrom::compat_from(value.debug_info),
38636 }
38637 }
38638 }
38639
38640 impl ::fidl_next::CompatFrom<crate::ConfigValueSpec>
38641 for ::fidl_fuchsia_component_decl::ConfigValueSpec
38642 {
38643 fn compat_from(value: crate::ConfigValueSpec) -> Self {
38644 Self {
38645 value: ::fidl_next::CompatFrom::compat_from(value.value),
38646
38647 __source_breaking: ::fidl::marker::SourceBreaking,
38648 }
38649 }
38650 }
38651
38652 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::ConfigValueSpec>
38653 for crate::ConfigValueSpec
38654 {
38655 fn compat_from(value: ::fidl_fuchsia_component_decl::ConfigValueSpec) -> Self {
38656 Self { value: ::fidl_next::CompatFrom::compat_from(value.value) }
38657 }
38658 }
38659
38660 impl ::fidl_next::CompatFrom<crate::ConfigValuesData>
38661 for ::fidl_fuchsia_component_decl::ConfigValuesData
38662 {
38663 fn compat_from(value: crate::ConfigValuesData) -> Self {
38664 Self {
38665 values: ::fidl_next::CompatFrom::compat_from(value.values),
38666
38667 checksum: ::fidl_next::CompatFrom::compat_from(value.checksum),
38668
38669 __source_breaking: ::fidl::marker::SourceBreaking,
38670 }
38671 }
38672 }
38673
38674 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::ConfigValuesData>
38675 for crate::ConfigValuesData
38676 {
38677 fn compat_from(value: ::fidl_fuchsia_component_decl::ConfigValuesData) -> Self {
38678 Self {
38679 values: ::fidl_next::CompatFrom::compat_from(value.values),
38680
38681 checksum: ::fidl_next::CompatFrom::compat_from(value.checksum),
38682 }
38683 }
38684 }
38685
38686 impl ::fidl_next::CompatFrom<crate::EventSubscription>
38687 for ::fidl_fuchsia_component_decl::EventSubscription
38688 {
38689 fn compat_from(value: crate::EventSubscription) -> Self {
38690 Self {
38691 event_name: ::fidl_next::CompatFrom::compat_from(value.event_name),
38692
38693 __source_breaking: ::fidl::marker::SourceBreaking,
38694 }
38695 }
38696 }
38697
38698 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::EventSubscription>
38699 for crate::EventSubscription
38700 {
38701 fn compat_from(value: ::fidl_fuchsia_component_decl::EventSubscription) -> Self {
38702 Self { event_name: ::fidl_next::CompatFrom::compat_from(value.event_name) }
38703 }
38704 }
38705
38706 impl ::fidl_next::CompatFrom<crate::LayoutParameter>
38707 for ::fidl_fuchsia_component_decl::LayoutParameter
38708 {
38709 fn compat_from(value: crate::LayoutParameter) -> Self {
38710 match value {
38711 crate::LayoutParameter::NestedType(value) => {
38712 Self::NestedType(::fidl_next::CompatFrom::compat_from(value))
38713 }
38714
38715 crate::LayoutParameter::UnknownOrdinal_(unknown_ordinal) => {
38716 Self::__SourceBreaking { unknown_ordinal }
38717 }
38718 }
38719 }
38720 }
38721
38722 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::LayoutParameter>
38723 for crate::LayoutParameter
38724 {
38725 fn compat_from(value: ::fidl_fuchsia_component_decl::LayoutParameter) -> Self {
38726 match value {
38727 ::fidl_fuchsia_component_decl::LayoutParameter::NestedType(value) => {
38728 Self::NestedType(::fidl_next::CompatFrom::compat_from(value))
38729 }
38730
38731 ::fidl_fuchsia_component_decl::LayoutParameter::__SourceBreaking {
38732 unknown_ordinal,
38733 } => Self::UnknownOrdinal_(unknown_ordinal),
38734 }
38735 }
38736 }
38737
38738 impl ::fidl_next::CompatFrom<crate::ResolvedConfigField>
38739 for ::fidl_fuchsia_component_decl::ResolvedConfigField
38740 {
38741 #[inline]
38742 fn compat_from(value: crate::ResolvedConfigField) -> Self {
38743 Self {
38744 key: ::fidl_next::CompatFrom::compat_from(value.key),
38745
38746 value: ::fidl_next::CompatFrom::compat_from(value.value),
38747 }
38748 }
38749 }
38750
38751 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::ResolvedConfigField>
38752 for crate::ResolvedConfigField
38753 {
38754 #[inline]
38755 fn compat_from(value: ::fidl_fuchsia_component_decl::ResolvedConfigField) -> Self {
38756 Self {
38757 key: ::fidl_next::CompatFrom::compat_from(value.key),
38758
38759 value: ::fidl_next::CompatFrom::compat_from(value.value),
38760 }
38761 }
38762 }
38763
38764 impl ::fidl_next::CompatFrom<crate::ResolvedConfig>
38765 for ::fidl_fuchsia_component_decl::ResolvedConfig
38766 {
38767 #[inline]
38768 fn compat_from(value: crate::ResolvedConfig) -> Self {
38769 Self {
38770 fields: ::fidl_next::CompatFrom::compat_from(value.fields),
38771
38772 checksum: ::fidl_next::CompatFrom::compat_from(value.checksum),
38773 }
38774 }
38775 }
38776
38777 impl ::fidl_next::CompatFrom<::fidl_fuchsia_component_decl::ResolvedConfig>
38778 for crate::ResolvedConfig
38779 {
38780 #[inline]
38781 fn compat_from(value: ::fidl_fuchsia_component_decl::ResolvedConfig) -> Self {
38782 Self {
38783 fields: ::fidl_next::CompatFrom::compat_from(value.fields),
38784
38785 checksum: ::fidl_next::CompatFrom::compat_from(value.checksum),
38786 }
38787 }
38788 }
38789}