1#![warn(clippy::all)]
3#![allow(unused_parens, unused_variables, unused_mut, unused_imports, unreachable_code)]
4
5pub mod natural {
6
7 pub use fidl_next_common_fuchsia_device_fs::natural::*;
8
9 #[derive(Debug, PartialEq)]
10 #[repr(C)]
11 pub struct ConnectorConnectRequest {
12 pub server: ::fidl_next::fuchsia::zx::Channel,
13 }
14
15 unsafe impl<___E> ::fidl_next::Encode<crate::wire::ConnectorConnectRequest, ___E>
16 for ConnectorConnectRequest
17 where
18 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
19 ___E: ::fidl_next::fuchsia::HandleEncoder,
20 {
21 const COPY_OPTIMIZATION: ::fidl_next::CopyOptimization<
22 Self,
23 crate::wire::ConnectorConnectRequest,
24 > = unsafe {
25 ::fidl_next::CopyOptimization::enable_if(
26 true && <::fidl_next::fuchsia::zx::Channel as ::fidl_next::Encode<
27 ::fidl_next::wire::fuchsia::Channel,
28 ___E,
29 >>::COPY_OPTIMIZATION
30 .is_enabled(),
31 )
32 };
33
34 #[inline]
35 fn encode(
36 self,
37 encoder_: &mut ___E,
38 out_: &mut ::core::mem::MaybeUninit<crate::wire::ConnectorConnectRequest>,
39 _: (),
40 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
41 ::fidl_next::munge! {
42 let crate::wire::ConnectorConnectRequest {
43 server,
44
45 } = out_;
46 }
47
48 ::fidl_next::Encode::encode(self.server, encoder_, server, ())?;
49
50 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(server.as_mut_ptr()) };
51
52 Ok(())
53 }
54 }
55
56 unsafe impl<___E>
57 ::fidl_next::EncodeOption<
58 ::fidl_next::wire::Box<'static, crate::wire::ConnectorConnectRequest>,
59 ___E,
60 > for ConnectorConnectRequest
61 where
62 ___E: ::fidl_next::Encoder + ?Sized,
63 ConnectorConnectRequest: ::fidl_next::Encode<crate::wire::ConnectorConnectRequest, ___E>,
64 {
65 #[inline]
66 fn encode_option(
67 this: ::core::option::Option<Self>,
68 encoder: &mut ___E,
69 out: &mut ::core::mem::MaybeUninit<
70 ::fidl_next::wire::Box<'static, crate::wire::ConnectorConnectRequest>,
71 >,
72 _: (),
73 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
74 if let Some(inner) = this {
75 ::fidl_next::EncoderExt::encode_next(encoder, inner)?;
76 ::fidl_next::wire::Box::encode_present(out);
77 } else {
78 ::fidl_next::wire::Box::encode_absent(out);
79 }
80
81 Ok(())
82 }
83 }
84
85 impl ::fidl_next::FromWire<crate::wire::ConnectorConnectRequest> for ConnectorConnectRequest {
86 const COPY_OPTIMIZATION: ::fidl_next::CopyOptimization<
87 crate::wire::ConnectorConnectRequest,
88 Self,
89 > = unsafe {
90 ::fidl_next::CopyOptimization::enable_if(
91 true && <::fidl_next::fuchsia::zx::Channel as ::fidl_next::FromWire<
92 ::fidl_next::wire::fuchsia::Channel,
93 >>::COPY_OPTIMIZATION
94 .is_enabled(),
95 )
96 };
97
98 #[inline]
99 fn from_wire(wire: crate::wire::ConnectorConnectRequest) -> Self {
100 Self { server: ::fidl_next::FromWire::from_wire(wire.server) }
101 }
102 }
103
104 #[derive(Debug, Default, PartialEq)]
105 pub struct DevfsAddArgs {
106 pub connector: ::core::option::Option<
107 ::fidl_next::ClientEnd<crate::Connector, ::fidl_next::fuchsia::zx::Channel>,
108 >,
109
110 pub class_name: ::core::option::Option<::std::string::String>,
111
112 pub inspect: ::core::option::Option<::fidl_next::fuchsia::zx::Vmo>,
113
114 pub connector_supports: ::core::option::Option<crate::natural::ConnectionType>,
115
116 pub controller_connector: ::core::option::Option<
117 ::fidl_next::ClientEnd<crate::Connector, ::fidl_next::fuchsia::zx::Channel>,
118 >,
119 }
120
121 impl DevfsAddArgs {
122 fn __max_ordinal(&self) -> usize {
123 if self.controller_connector.is_some() {
124 return 5;
125 }
126
127 if self.connector_supports.is_some() {
128 return 4;
129 }
130
131 if self.inspect.is_some() {
132 return 3;
133 }
134
135 if self.class_name.is_some() {
136 return 2;
137 }
138
139 if self.connector.is_some() {
140 return 1;
141 }
142
143 0
144 }
145 }
146
147 unsafe impl<___E> ::fidl_next::Encode<crate::wire::DevfsAddArgs<'static>, ___E> for DevfsAddArgs
148 where
149 ___E: ::fidl_next::Encoder + ?Sized,
150 ___E: ::fidl_next::fuchsia::HandleEncoder,
151 {
152 #[inline]
153 fn encode(
154 mut self,
155 encoder: &mut ___E,
156 out: &mut ::core::mem::MaybeUninit<crate::wire::DevfsAddArgs<'static>>,
157 _: (),
158 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
159 ::fidl_next::munge!(let crate::wire::DevfsAddArgs { table } = out);
160
161 let max_ord = self.__max_ordinal();
162
163 let mut out = ::core::mem::MaybeUninit::<::fidl_next::wire::Envelope>::uninit();
164 ::fidl_next::Wire::zero_padding(&mut out);
165
166 let mut preallocated = ::fidl_next::EncoderExt::preallocate::<
167 ::fidl_next::wire::Envelope,
168 >(encoder, max_ord);
169
170 for i in 1..=max_ord {
171 match i {
172 5 => {
173 if let Some(value) = self.controller_connector.take() {
174 ::fidl_next::wire::Envelope::encode_value::<
175 ::fidl_next::ClientEnd<
176 crate::Connector,
177 ::fidl_next::wire::fuchsia::Channel,
178 >,
179 ___E,
180 >(
181 value, preallocated.encoder, &mut out, ()
182 )?;
183 } else {
184 ::fidl_next::wire::Envelope::encode_zero(&mut out)
185 }
186 }
187
188 4 => {
189 if let Some(value) = self.connector_supports.take() {
190 ::fidl_next::wire::Envelope::encode_value::<
191 crate::wire::ConnectionType,
192 ___E,
193 >(
194 value, preallocated.encoder, &mut out, ()
195 )?;
196 } else {
197 ::fidl_next::wire::Envelope::encode_zero(&mut out)
198 }
199 }
200
201 3 => {
202 if let Some(value) = self.inspect.take() {
203 ::fidl_next::wire::Envelope::encode_value::<
204 ::fidl_next::wire::fuchsia::Vmo,
205 ___E,
206 >(
207 value, preallocated.encoder, &mut out, ()
208 )?;
209 } else {
210 ::fidl_next::wire::Envelope::encode_zero(&mut out)
211 }
212 }
213
214 2 => {
215 if let Some(value) = self.class_name.take() {
216 ::fidl_next::wire::Envelope::encode_value::<
217 ::fidl_next::wire::String<'static>,
218 ___E,
219 >(
220 value, preallocated.encoder, &mut out, 255
221 )?;
222 } else {
223 ::fidl_next::wire::Envelope::encode_zero(&mut out)
224 }
225 }
226
227 1 => {
228 if let Some(value) = self.connector.take() {
229 ::fidl_next::wire::Envelope::encode_value::<
230 ::fidl_next::ClientEnd<
231 crate::Connector,
232 ::fidl_next::wire::fuchsia::Channel,
233 >,
234 ___E,
235 >(
236 value, preallocated.encoder, &mut out, ()
237 )?;
238 } else {
239 ::fidl_next::wire::Envelope::encode_zero(&mut out)
240 }
241 }
242
243 _ => ::fidl_next::wire::Envelope::encode_zero(&mut out),
244 }
245 unsafe {
246 preallocated.write_next(out.assume_init_ref());
247 }
248 }
249
250 ::fidl_next::wire::Table::encode_len(table, max_ord);
251
252 Ok(())
253 }
254 }
255
256 impl<'de> ::fidl_next::FromWire<crate::wire::DevfsAddArgs<'de>> for DevfsAddArgs {
257 #[inline]
258 fn from_wire(wire_: crate::wire::DevfsAddArgs<'de>) -> Self {
259 let wire_ = ::core::mem::ManuallyDrop::new(wire_);
260
261 let connector = wire_.table.get(1);
262
263 let class_name = wire_.table.get(2);
264
265 let inspect = wire_.table.get(3);
266
267 let connector_supports = wire_.table.get(4);
268
269 let controller_connector = wire_.table.get(5);
270
271 Self {
272 connector: connector.map(|envelope| {
273 ::fidl_next::FromWire::from_wire(unsafe {
274 envelope.read_unchecked::<::fidl_next::ClientEnd<
275 crate::Connector,
276 ::fidl_next::wire::fuchsia::Channel,
277 >>()
278 })
279 }),
280
281 class_name: class_name.map(|envelope| {
282 ::fidl_next::FromWire::from_wire(unsafe {
283 envelope.read_unchecked::<::fidl_next::wire::String<'de>>()
284 })
285 }),
286
287 inspect: inspect.map(|envelope| {
288 ::fidl_next::FromWire::from_wire(unsafe {
289 envelope.read_unchecked::<::fidl_next::wire::fuchsia::Vmo>()
290 })
291 }),
292
293 connector_supports: connector_supports.map(|envelope| {
294 ::fidl_next::FromWire::from_wire(unsafe {
295 envelope.read_unchecked::<crate::wire::ConnectionType>()
296 })
297 }),
298
299 controller_connector: controller_connector.map(|envelope| {
300 ::fidl_next::FromWire::from_wire(unsafe {
301 envelope.read_unchecked::<::fidl_next::ClientEnd<
302 crate::Connector,
303 ::fidl_next::wire::fuchsia::Channel,
304 >>()
305 })
306 }),
307 }
308 }
309 }
310}
311
312pub mod wire {
313
314 pub use fidl_next_common_fuchsia_device_fs::wire::*;
315
316 #[derive(Debug)]
318 #[repr(C)]
319 pub struct ConnectorConnectRequest {
320 pub server: ::fidl_next::wire::fuchsia::Channel,
321 }
322
323 static_assertions::const_assert_eq!(std::mem::size_of::<ConnectorConnectRequest>(), 4);
324 static_assertions::const_assert_eq!(std::mem::align_of::<ConnectorConnectRequest>(), 4);
325
326 static_assertions::const_assert_eq!(std::mem::offset_of!(ConnectorConnectRequest, server), 0);
327
328 impl ::fidl_next::Constrained for ConnectorConnectRequest {
329 type Constraint = ();
330
331 fn validate(
332 _: ::fidl_next::Slot<'_, Self>,
333 _: Self::Constraint,
334 ) -> Result<(), ::fidl_next::ValidationError> {
335 Ok(())
336 }
337 }
338
339 unsafe impl ::fidl_next::Wire for ConnectorConnectRequest {
340 type Narrowed<'de> = ConnectorConnectRequest;
341
342 #[inline]
343 fn zero_padding(out_: &mut ::core::mem::MaybeUninit<Self>) {
344 ::fidl_next::munge! {
345 let Self {
346
347 server,
348
349 } = &mut *out_;
350 }
351
352 ::fidl_next::Wire::zero_padding(server);
353 }
354 }
355
356 unsafe impl<___D> ::fidl_next::Decode<___D> for ConnectorConnectRequest
357 where
358 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
359 ___D: ::fidl_next::fuchsia::HandleDecoder,
360 {
361 fn decode(
362 slot_: ::fidl_next::Slot<'_, Self>,
363 decoder_: &mut ___D,
364 _: (),
365 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
366 ::fidl_next::munge! {
367 let Self {
368
369 mut server,
370
371 } = slot_;
372 }
373
374 let _field = server.as_mut();
375
376 ::fidl_next::Decode::decode(server.as_mut(), decoder_, ())?;
377
378 Ok(())
379 }
380 }
381
382 impl ::fidl_next::IntoNatural for ConnectorConnectRequest {
383 type Natural = crate::natural::ConnectorConnectRequest;
384 }
385
386 #[repr(C)]
388 pub struct DevfsAddArgs<'de> {
389 pub(crate) table: ::fidl_next::wire::Table<'de>,
390 }
391
392 impl<'de> Drop for DevfsAddArgs<'de> {
393 fn drop(&mut self) {
394 let _ =
395 self.table.get(1).map(|envelope| unsafe {
396 envelope.read_unchecked::<::fidl_next::ClientEnd<
397 crate::Connector,
398 ::fidl_next::wire::fuchsia::Channel,
399 >>()
400 });
401
402 let _ = self.table.get(2).map(|envelope| unsafe {
403 envelope.read_unchecked::<::fidl_next::wire::String<'de>>()
404 });
405
406 let _ = self.table.get(3).map(|envelope| unsafe {
407 envelope.read_unchecked::<::fidl_next::wire::fuchsia::Vmo>()
408 });
409
410 let _ = self.table.get(4).map(|envelope| unsafe {
411 envelope.read_unchecked::<crate::wire::ConnectionType>()
412 });
413
414 let _ =
415 self.table.get(5).map(|envelope| unsafe {
416 envelope.read_unchecked::<::fidl_next::ClientEnd<
417 crate::Connector,
418 ::fidl_next::wire::fuchsia::Channel,
419 >>()
420 });
421 }
422 }
423
424 impl ::fidl_next::Constrained for DevfsAddArgs<'_> {
425 type Constraint = ();
426
427 fn validate(
428 _: ::fidl_next::Slot<'_, Self>,
429 _: Self::Constraint,
430 ) -> Result<(), ::fidl_next::ValidationError> {
431 Ok(())
432 }
433 }
434
435 unsafe impl ::fidl_next::Wire for DevfsAddArgs<'static> {
436 type Narrowed<'de> = DevfsAddArgs<'de>;
437
438 #[inline]
439 fn zero_padding(out: &mut ::core::mem::MaybeUninit<Self>) {
440 ::fidl_next::munge!(let Self { table } = out);
441 ::fidl_next::wire::Table::zero_padding(table);
442 }
443 }
444
445 unsafe impl<'de, ___D> ::fidl_next::Decode<___D> for DevfsAddArgs<'de>
446 where
447 ___D: ::fidl_next::Decoder<'de> + ?Sized,
448 ___D: ::fidl_next::fuchsia::HandleDecoder,
449 {
450 fn decode(
451 slot: ::fidl_next::Slot<'_, Self>,
452 decoder: &mut ___D,
453 _: (),
454 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
455 ::fidl_next::munge!(let Self { table } = slot);
456
457 ::fidl_next::wire::Table::decode_with(table, decoder, |ordinal, mut slot, decoder| {
458 match ordinal {
459 0 => unsafe { ::core::hint::unreachable_unchecked() },
460
461 1 => {
462 ::fidl_next::wire::Envelope::decode_as::<
463 ___D,
464 ::fidl_next::ClientEnd<
465 crate::Connector,
466 ::fidl_next::wire::fuchsia::Channel,
467 >,
468 >(slot.as_mut(), decoder, ())?;
469
470 Ok(())
471 }
472
473 2 => {
474 ::fidl_next::wire::Envelope::decode_as::<
475 ___D,
476 ::fidl_next::wire::String<'de>,
477 >(slot.as_mut(), decoder, 255)?;
478
479 let value = unsafe {
480 slot.deref_unchecked()
481 .deref_unchecked::<::fidl_next::wire::String<'_>>()
482 };
483
484 if value.len() > 255 {
485 return Err(::fidl_next::DecodeError::VectorTooLong {
486 size: value.len() as u64,
487 limit: 255,
488 });
489 }
490
491 Ok(())
492 }
493
494 3 => {
495 ::fidl_next::wire::Envelope::decode_as::<
496 ___D,
497 ::fidl_next::wire::fuchsia::Vmo,
498 >(slot.as_mut(), decoder, ())?;
499
500 Ok(())
501 }
502
503 4 => {
504 ::fidl_next::wire::Envelope::decode_as::<___D, crate::wire::ConnectionType>(
505 slot.as_mut(),
506 decoder,
507 (),
508 )?;
509
510 Ok(())
511 }
512
513 5 => {
514 ::fidl_next::wire::Envelope::decode_as::<
515 ___D,
516 ::fidl_next::ClientEnd<
517 crate::Connector,
518 ::fidl_next::wire::fuchsia::Channel,
519 >,
520 >(slot.as_mut(), decoder, ())?;
521
522 Ok(())
523 }
524
525 _ => ::fidl_next::wire::Envelope::decode_unknown(slot, decoder),
526 }
527 })
528 }
529 }
530
531 impl<'de> DevfsAddArgs<'de> {
532 pub fn connector(
533 &self,
534 ) -> ::core::option::Option<
535 &::fidl_next::ClientEnd<crate::Connector, ::fidl_next::wire::fuchsia::Channel>,
536 > {
537 unsafe { Some(self.table.get(1)?.deref_unchecked()) }
538 }
539
540 pub fn class_name(&self) -> ::core::option::Option<&::fidl_next::wire::String<'de>> {
541 unsafe { Some(self.table.get(2)?.deref_unchecked()) }
542 }
543
544 pub fn inspect(&self) -> ::core::option::Option<&::fidl_next::wire::fuchsia::Vmo> {
545 unsafe { Some(self.table.get(3)?.deref_unchecked()) }
546 }
547
548 pub fn connector_supports(&self) -> ::core::option::Option<&crate::wire::ConnectionType> {
549 unsafe { Some(self.table.get(4)?.deref_unchecked()) }
550 }
551
552 pub fn controller_connector(
553 &self,
554 ) -> ::core::option::Option<
555 &::fidl_next::ClientEnd<crate::Connector, ::fidl_next::wire::fuchsia::Channel>,
556 > {
557 unsafe { Some(self.table.get(5)?.deref_unchecked()) }
558 }
559 }
560
561 impl<'de> ::core::fmt::Debug for DevfsAddArgs<'de> {
562 fn fmt(
563 &self,
564 f: &mut ::core::fmt::Formatter<'_>,
565 ) -> ::core::result::Result<(), ::core::fmt::Error> {
566 f.debug_struct("DevfsAddArgs")
567 .field("connector", &self.connector())
568 .field("class_name", &self.class_name())
569 .field("inspect", &self.inspect())
570 .field("connector_supports", &self.connector_supports())
571 .field("controller_connector", &self.controller_connector())
572 .finish()
573 }
574 }
575
576 impl<'de> ::fidl_next::IntoNatural for DevfsAddArgs<'de> {
577 type Natural = crate::natural::DevfsAddArgs;
578 }
579}
580
581pub mod wire_optional {
582
583 pub use fidl_next_common_fuchsia_device_fs::wire_optional::*;
584}
585
586pub mod generic {
587
588 pub use fidl_next_common_fuchsia_device_fs::generic::*;
589
590 pub struct ConnectorConnectRequest<T0> {
591 pub server: T0,
592 }
593
594 unsafe impl<___E, T0> ::fidl_next::Encode<crate::wire::ConnectorConnectRequest, ___E>
595 for ConnectorConnectRequest<T0>
596 where
597 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
598 ___E: ::fidl_next::fuchsia::HandleEncoder,
599 T0: ::fidl_next::Encode<::fidl_next::wire::fuchsia::Channel, ___E>,
600 {
601 #[inline]
602 fn encode(
603 self,
604 encoder_: &mut ___E,
605 out_: &mut ::core::mem::MaybeUninit<crate::wire::ConnectorConnectRequest>,
606 _: (),
607 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
608 ::fidl_next::munge! {
609 let crate::wire::ConnectorConnectRequest {
610
611 server,
612
613 } = out_;
614 }
615
616 ::fidl_next::Encode::encode(self.server, encoder_, server, ())?;
617
618 Ok(())
619 }
620 }
621}
622
623pub use self::natural::*;
624
625#[doc = " A connector lets a client forward the server end of a protocol.\n"]
627#[derive(PartialEq, Debug)]
628pub struct Connector;
629
630#[cfg(target_os = "fuchsia")]
631impl ::fidl_next::HasTransport for Connector {
632 type Transport = ::fidl_next::fuchsia::zx::Channel;
633}
634
635pub mod connector {
636 pub mod prelude {
637 pub use crate::{Connector, ConnectorClientHandler, ConnectorServerHandler, connector};
638
639 pub use crate::natural::ConnectorConnectRequest;
640 }
641
642 pub struct Connect;
643
644 impl ::fidl_next::Method for Connect {
645 const ORDINAL: u64 = 3169778387179902201;
646 const FLEXIBILITY: ::fidl_next::protocol::Flexibility =
647 ::fidl_next::protocol::Flexibility::Strict;
648
649 type Protocol = crate::Connector;
650
651 type Request = crate::wire::ConnectorConnectRequest;
652 }
653
654 mod ___detail {
655 unsafe impl<___T> ::fidl_next::HasConnectionHandles<___T> for crate::Connector
656 where
657 ___T: ::fidl_next::Transport,
658 {
659 type Client = ConnectorClient<___T>;
660 type Server = ConnectorServer<___T>;
661 }
662
663 #[repr(transparent)]
665 pub struct ConnectorClient<___T: ::fidl_next::Transport> {
666 #[allow(dead_code)]
667 client: ::fidl_next::protocol::Client<___T>,
668 }
669
670 impl<___T> ConnectorClient<___T>
671 where
672 ___T: ::fidl_next::Transport,
673 {
674 #[doc = " Forward a server end of a protocol so that it can be connected.\n + request `server` the server end of the protocol to be served. The FIDL protocol that\n this speaks is determined out-of-band.\n - response This function has no response. The function is one-way to match the pipelining\n behaviors of other virtual filesystems.\n"]
675 pub fn connect(
676 &self,
677
678 server: impl ::fidl_next::Encode<
679 ::fidl_next::wire::fuchsia::Channel,
680 <___T as ::fidl_next::Transport>::SendBuffer,
681 >,
682 ) -> ::fidl_next::SendFuture<'_, ___T>
683 where
684 <___T as ::fidl_next::Transport>::SendBuffer:
685 ::fidl_next::encoder::InternalHandleEncoder,
686 <___T as ::fidl_next::Transport>::SendBuffer: ::fidl_next::fuchsia::HandleEncoder,
687 {
688 self.connect_with(crate::generic::ConnectorConnectRequest { server })
689 }
690
691 #[doc = " Forward a server end of a protocol so that it can be connected.\n + request `server` the server end of the protocol to be served. The FIDL protocol that\n this speaks is determined out-of-band.\n - response This function has no response. The function is one-way to match the pipelining\n behaviors of other virtual filesystems.\n"]
692 pub fn connect_with<___R>(&self, request: ___R) -> ::fidl_next::SendFuture<'_, ___T>
693 where
694 ___R: ::fidl_next::Encode<
695 crate::wire::ConnectorConnectRequest,
696 <___T as ::fidl_next::Transport>::SendBuffer,
697 >,
698 {
699 ::fidl_next::SendFuture::from_untyped(self.client.send_one_way(
700 3169778387179902201,
701 <super::Connect as ::fidl_next::Method>::FLEXIBILITY,
702 request,
703 ))
704 }
705 }
706
707 #[repr(transparent)]
709 pub struct ConnectorServer<___T: ::fidl_next::Transport> {
710 server: ::fidl_next::protocol::Server<___T>,
711 }
712
713 impl<___T> ConnectorServer<___T> where ___T: ::fidl_next::Transport {}
714 }
715}
716
717pub trait ConnectorClientHandler<
721 #[cfg(target_os = "fuchsia")] ___T: ::fidl_next::Transport = ::fidl_next::fuchsia::zx::Channel,
722 #[cfg(not(target_os = "fuchsia"))] ___T: ::fidl_next::Transport,
723>
724{
725}
726
727impl<___T> ConnectorClientHandler<___T> for ::fidl_next::IgnoreEvents where
728 ___T: ::fidl_next::Transport
729{
730}
731
732impl<___H, ___T> ::fidl_next::DispatchClientMessage<___H, ___T> for Connector
733where
734 ___H: ConnectorClientHandler<___T> + ::core::marker::Send,
735 ___T: ::fidl_next::Transport,
736{
737 async fn on_event(
738 handler: &mut ___H,
739 ordinal: u64,
740 flexibility: ::fidl_next::protocol::Flexibility,
741 body: ::fidl_next::Body<___T>,
742 ) -> ::core::result::Result<(), ::fidl_next::ProtocolError<___T::Error>> {
743 match ordinal {
744 ordinal => Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal)),
745 }
746 }
747}
748
749pub trait ConnectorServerHandler<
753 #[cfg(target_os = "fuchsia")] ___T: ::fidl_next::Transport = ::fidl_next::fuchsia::zx::Channel,
754 #[cfg(not(target_os = "fuchsia"))] ___T: ::fidl_next::Transport,
755>
756{
757 #[doc = " Forward a server end of a protocol so that it can be connected.\n + request `server` the server end of the protocol to be served. The FIDL protocol that\n this speaks is determined out-of-band.\n - response This function has no response. The function is one-way to match the pipelining\n behaviors of other virtual filesystems.\n"]
758 fn connect(
759 &mut self,
760
761 request: ::fidl_next::Request<connector::Connect, ___T>,
762 ) -> impl ::core::future::Future<Output = ()> + ::core::marker::Send;
763}
764
765impl<___H, ___T> ::fidl_next::DispatchServerMessage<___H, ___T> for Connector
766where
767 ___H: ConnectorServerHandler<___T> + ::core::marker::Send,
768 ___T: ::fidl_next::Transport,
769 for<'de> crate::wire::ConnectorConnectRequest: ::fidl_next::Decode<
770 <<___T as ::fidl_next::Transport>::RecvBuffer as ::fidl_next::AsDecoder<'de>>::Decoder,
771 Constraint = (),
772 >,
773{
774 async fn on_one_way(
775 handler: &mut ___H,
776 ordinal: u64,
777 flexibility: ::fidl_next::protocol::Flexibility,
778 body: ::fidl_next::Body<___T>,
779 ) -> ::core::result::Result<
780 (),
781 ::fidl_next::ProtocolError<<___T as ::fidl_next::Transport>::Error>,
782 > {
783 match ordinal {
784 3169778387179902201 => match ::fidl_next::AsDecoderExt::into_decoded(body) {
785 Ok(decoded) => {
786 handler.connect(::fidl_next::Request::from_decoded(decoded)).await;
787 Ok(())
788 }
789 Err(error) => Err(::fidl_next::ProtocolError::InvalidMessage {
790 ordinal: 3169778387179902201,
791 error,
792 }),
793 },
794
795 ordinal => Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal)),
796 }
797 }
798
799 async fn on_two_way(
800 handler: &mut ___H,
801 ordinal: u64,
802 flexibility: ::fidl_next::protocol::Flexibility,
803 body: ::fidl_next::Body<___T>,
804 responder: ::fidl_next::protocol::Responder<___T>,
805 ) -> ::core::result::Result<
806 (),
807 ::fidl_next::ProtocolError<<___T as ::fidl_next::Transport>::Error>,
808 > {
809 match ordinal {
810 ordinal => Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal)),
811 }
812 }
813}
814
815pub use fidl_next_common_fuchsia_device_fs::*;
816
817pub mod compat {
819
820 pub use fidl_next_common_fuchsia_device_fs::compat::*;
821
822 impl ::fidl_next::CompatFrom<crate::ConnectorConnectRequest>
823 for ::fidl_fuchsia_device_fs::ConnectorConnectRequest
824 {
825 #[inline]
826 fn compat_from(value: crate::ConnectorConnectRequest) -> Self {
827 Self { server: ::fidl_next::CompatFrom::compat_from(value.server) }
828 }
829 }
830
831 impl ::fidl_next::CompatFrom<::fidl_fuchsia_device_fs::ConnectorConnectRequest>
832 for crate::ConnectorConnectRequest
833 {
834 #[inline]
835 fn compat_from(value: ::fidl_fuchsia_device_fs::ConnectorConnectRequest) -> Self {
836 Self { server: ::fidl_next::CompatFrom::compat_from(value.server) }
837 }
838 }
839
840 #[cfg(target_os = "fuchsia")]
841 pub type ConnectorProxy = ::fidl_next::Client<crate::Connector>;
844
845 impl ::fidl_next::CompatFrom<crate::Connector> for ::fidl_fuchsia_device_fs::ConnectorMarker {
846 fn compat_from(_: crate::Connector) -> Self {
847 Self
848 }
849 }
850
851 impl ::fidl_next::CompatFrom<::fidl_fuchsia_device_fs::ConnectorMarker> for crate::Connector {
852 fn compat_from(_: ::fidl_fuchsia_device_fs::ConnectorMarker) -> Self {
853 Self
854 }
855 }
856
857 #[cfg(target_os = "fuchsia")]
858
859 impl ::fidl_next::ClientCompatFrom<::fidl_fuchsia_device_fs::ConnectorProxy> for crate::Connector {
860 fn client_compat_from(
861 proxy: ::fidl_fuchsia_device_fs::ConnectorProxy,
862 ) -> ::fidl_next::ClientDispatcher<Self, ::fidl_next::fuchsia::zx::Channel> {
863 let channel = ::fidl::endpoints::Proxy::into_channel(proxy).unwrap().into_zx_channel();
864 let client_end = ::fidl_next::ClientEnd::from_untyped(channel);
865 ::fidl_next::ClientDispatcher::new(client_end)
866 }
867 }
868
869 impl ::fidl_next::CompatFrom<crate::DevfsAddArgs> for ::fidl_fuchsia_device_fs::DevfsAddArgs {
870 fn compat_from(value: crate::DevfsAddArgs) -> Self {
871 Self {
872 connector: ::fidl_next::CompatFrom::compat_from(value.connector),
873
874 class_name: ::fidl_next::CompatFrom::compat_from(value.class_name),
875
876 inspect: ::fidl_next::CompatFrom::compat_from(value.inspect),
877
878 connector_supports: ::fidl_next::CompatFrom::compat_from(value.connector_supports),
879
880 controller_connector: ::fidl_next::CompatFrom::compat_from(
881 value.controller_connector,
882 ),
883
884 __source_breaking: ::fidl::marker::SourceBreaking,
885 }
886 }
887 }
888
889 impl ::fidl_next::CompatFrom<::fidl_fuchsia_device_fs::DevfsAddArgs> for crate::DevfsAddArgs {
890 fn compat_from(value: ::fidl_fuchsia_device_fs::DevfsAddArgs) -> Self {
891 Self {
892 connector: ::fidl_next::CompatFrom::compat_from(value.connector),
893
894 class_name: ::fidl_next::CompatFrom::compat_from(value.class_name),
895
896 inspect: ::fidl_next::CompatFrom::compat_from(value.inspect),
897
898 connector_supports: ::fidl_next::CompatFrom::compat_from(value.connector_supports),
899
900 controller_connector: ::fidl_next::CompatFrom::compat_from(
901 value.controller_connector,
902 ),
903 }
904 }
905 }
906}