Skip to main content

fidl_next_common_fuchsia_device_fs/
fidl_next_common_fuchsia_device_fs.rs

1// DO NOT EDIT: This file is machine-generated by fidlgen
2#![warn(clippy::all)]
3#![allow(unused_parens, unused_variables, unused_mut, unused_imports, unreachable_code)]
4
5pub mod natural {
6
7    ::fidl_next::bitflags::bitflags! {
8        #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, )]pub struct ConnectionType: u8 {
9            #[doc = " Represents the fuchsia.io/Node protocol.\n"]const NODE = 1;
10            #[doc = " Represents the fuchsia.device/Controller protocol.\n"]const CONTROLLER = 2;
11            #[doc = " Represents the device specific FIDL.\n"]const DEVICE = 4;
12            const _ = !0;
13        }
14    }
15
16    unsafe impl<___E> ::fidl_next::Encode<crate::wire::ConnectionType, ___E> for ConnectionType
17    where
18        ___E: ?Sized,
19    {
20        #[inline]
21        fn encode(
22            self,
23            encoder: &mut ___E,
24            out: &mut ::core::mem::MaybeUninit<crate::wire::ConnectionType>,
25            _: (),
26        ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
27            ::fidl_next::Encode::encode(&self, encoder, out, ())
28        }
29    }
30
31    unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::ConnectionType, ___E> for &'a ConnectionType
32    where
33        ___E: ?Sized,
34    {
35        #[inline]
36        fn encode(
37            self,
38            _: &mut ___E,
39            out: &mut ::core::mem::MaybeUninit<crate::wire::ConnectionType>,
40            _: (),
41        ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
42            ::fidl_next::munge!(let crate::wire::ConnectionType { value } = out);
43
44            let _ = value.write(u8::from(self.bits()));
45            Ok(())
46        }
47    }
48
49    impl ::core::convert::From<crate::wire::ConnectionType> for ConnectionType {
50        fn from(wire: crate::wire::ConnectionType) -> Self {
51            Self::from_bits_retain(u8::from(wire.value))
52        }
53    }
54
55    impl ::fidl_next::FromWire<crate::wire::ConnectionType> for ConnectionType {
56        #[inline]
57        fn from_wire(wire: crate::wire::ConnectionType) -> Self {
58            Self::from(wire)
59        }
60    }
61
62    impl ::fidl_next::FromWireRef<crate::wire::ConnectionType> for ConnectionType {
63        #[inline]
64        fn from_wire_ref(wire: &crate::wire::ConnectionType) -> Self {
65            Self::from(*wire)
66        }
67    }
68
69    #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
70    pub struct TopologicalPathGetTopologicalPathResponse {
71        pub path: ::std::string::String,
72    }
73
74    unsafe impl<___E>
75        ::fidl_next::Encode<crate::wire::TopologicalPathGetTopologicalPathResponse<'static>, ___E>
76        for TopologicalPathGetTopologicalPathResponse
77    where
78        ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
79        ___E: ::fidl_next::Encoder,
80    {
81        #[inline]
82        fn encode(
83            self,
84            encoder_: &mut ___E,
85            out_: &mut ::core::mem::MaybeUninit<
86                crate::wire::TopologicalPathGetTopologicalPathResponse<'static>,
87            >,
88            _: (),
89        ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
90            ::fidl_next::munge! {
91                let crate::wire::TopologicalPathGetTopologicalPathResponse {
92                    path,
93
94                } = out_;
95            }
96
97            ::fidl_next::Encode::encode(self.path, encoder_, path, 1024)?;
98
99            let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(path.as_mut_ptr()) };
100            ::fidl_next::Constrained::validate(_field, 1024)?;
101
102            Ok(())
103        }
104    }
105
106    unsafe impl<'a, ___E>
107        ::fidl_next::Encode<crate::wire::TopologicalPathGetTopologicalPathResponse<'static>, ___E>
108        for &'a TopologicalPathGetTopologicalPathResponse
109    where
110        ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
111        ___E: ::fidl_next::Encoder,
112    {
113        #[inline]
114        fn encode(
115            self,
116            encoder_: &mut ___E,
117            out_: &mut ::core::mem::MaybeUninit<
118                crate::wire::TopologicalPathGetTopologicalPathResponse<'static>,
119            >,
120            _: (),
121        ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
122            ::fidl_next::munge! {
123                let crate::wire::TopologicalPathGetTopologicalPathResponse {
124                    path,
125
126                } = out_;
127            }
128
129            ::fidl_next::Encode::encode(&self.path, encoder_, path, 1024)?;
130
131            let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(path.as_mut_ptr()) };
132            ::fidl_next::Constrained::validate(_field, 1024)?;
133
134            Ok(())
135        }
136    }
137
138    unsafe impl<___E>
139        ::fidl_next::EncodeOption<
140            ::fidl_next::wire::Box<
141                'static,
142                crate::wire::TopologicalPathGetTopologicalPathResponse<'static>,
143            >,
144            ___E,
145        > for TopologicalPathGetTopologicalPathResponse
146    where
147        ___E: ::fidl_next::Encoder + ?Sized,
148        TopologicalPathGetTopologicalPathResponse: ::fidl_next::Encode<
149                crate::wire::TopologicalPathGetTopologicalPathResponse<'static>,
150                ___E,
151            >,
152    {
153        #[inline]
154        fn encode_option(
155            this: ::core::option::Option<Self>,
156            encoder: &mut ___E,
157            out: &mut ::core::mem::MaybeUninit<
158                ::fidl_next::wire::Box<
159                    'static,
160                    crate::wire::TopologicalPathGetTopologicalPathResponse<'static>,
161                >,
162            >,
163            _: (),
164        ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
165            if let Some(inner) = this {
166                ::fidl_next::EncoderExt::encode_next(encoder, inner)?;
167                ::fidl_next::wire::Box::encode_present(out);
168            } else {
169                ::fidl_next::wire::Box::encode_absent(out);
170            }
171
172            Ok(())
173        }
174    }
175
176    unsafe impl<'a, ___E>
177        ::fidl_next::EncodeOption<
178            ::fidl_next::wire::Box<
179                'static,
180                crate::wire::TopologicalPathGetTopologicalPathResponse<'static>,
181            >,
182            ___E,
183        > for &'a TopologicalPathGetTopologicalPathResponse
184    where
185        ___E: ::fidl_next::Encoder + ?Sized,
186        &'a TopologicalPathGetTopologicalPathResponse: ::fidl_next::Encode<
187                crate::wire::TopologicalPathGetTopologicalPathResponse<'static>,
188                ___E,
189            >,
190    {
191        #[inline]
192        fn encode_option(
193            this: ::core::option::Option<Self>,
194            encoder: &mut ___E,
195            out: &mut ::core::mem::MaybeUninit<
196                ::fidl_next::wire::Box<
197                    'static,
198                    crate::wire::TopologicalPathGetTopologicalPathResponse<'static>,
199                >,
200            >,
201            _: (),
202        ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
203            if let Some(inner) = this {
204                ::fidl_next::EncoderExt::encode_next(encoder, inner)?;
205                ::fidl_next::wire::Box::encode_present(out);
206            } else {
207                ::fidl_next::wire::Box::encode_absent(out);
208            }
209
210            Ok(())
211        }
212    }
213
214    impl<'de> ::fidl_next::FromWire<crate::wire::TopologicalPathGetTopologicalPathResponse<'de>>
215        for TopologicalPathGetTopologicalPathResponse
216    {
217        #[inline]
218        fn from_wire(wire: crate::wire::TopologicalPathGetTopologicalPathResponse<'de>) -> Self {
219            Self { path: ::fidl_next::FromWire::from_wire(wire.path) }
220        }
221    }
222
223    impl<'de> ::fidl_next::FromWireRef<crate::wire::TopologicalPathGetTopologicalPathResponse<'de>>
224        for TopologicalPathGetTopologicalPathResponse
225    {
226        #[inline]
227        fn from_wire_ref(
228            wire: &crate::wire::TopologicalPathGetTopologicalPathResponse<'de>,
229        ) -> Self {
230            Self { path: ::fidl_next::FromWireRef::from_wire_ref(&wire.path) }
231        }
232    }
233}
234
235pub mod wire {
236
237    /// The wire type corresponding to [`ConnectionType`](crate::natural::ConnectionType).
238    #[derive(Clone, Copy, Debug)]
239    #[repr(transparent)]
240    pub struct ConnectionType {
241        pub(crate) value: u8,
242    }
243
244    impl ::fidl_next::Constrained for ConnectionType {
245        type Constraint = ();
246
247        fn validate(
248            _: ::fidl_next::Slot<'_, Self>,
249            _: Self::Constraint,
250        ) -> Result<(), ::fidl_next::ValidationError> {
251            Ok(())
252        }
253    }
254
255    unsafe impl ::fidl_next::Wire for ConnectionType {
256        type Narrowed<'de> = Self;
257
258        #[inline]
259        fn zero_padding(_: &mut ::core::mem::MaybeUninit<Self>) {
260            // Wire bits have no padding
261        }
262    }
263
264    unsafe impl<___D> ::fidl_next::Decode<___D> for ConnectionType
265    where
266        ___D: ?Sized,
267    {
268        fn decode(
269            slot: ::fidl_next::Slot<'_, Self>,
270            _: &mut ___D,
271            _: (),
272        ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
273            Ok(())
274        }
275    }
276
277    impl ::core::convert::From<crate::natural::ConnectionType> for ConnectionType {
278        fn from(natural: crate::natural::ConnectionType) -> Self {
279            Self { value: u8::from(natural.bits()) }
280        }
281    }
282
283    impl ::fidl_next::IntoNatural for ConnectionType {
284        type Natural = crate::natural::ConnectionType;
285    }
286
287    /// The wire type corresponding to [`TopologicalPathGetTopologicalPathResponse`].
288    #[derive(Debug)]
289    #[repr(C)]
290    pub struct TopologicalPathGetTopologicalPathResponse<'de> {
291        pub path: ::fidl_next::wire::String<'de>,
292    }
293
294    static_assertions::const_assert_eq!(
295        std::mem::size_of::<TopologicalPathGetTopologicalPathResponse<'_>>(),
296        16
297    );
298    static_assertions::const_assert_eq!(
299        std::mem::align_of::<TopologicalPathGetTopologicalPathResponse<'_>>(),
300        8
301    );
302
303    static_assertions::const_assert_eq!(
304        std::mem::offset_of!(TopologicalPathGetTopologicalPathResponse<'_>, path),
305        0
306    );
307
308    impl ::fidl_next::Constrained for TopologicalPathGetTopologicalPathResponse<'_> {
309        type Constraint = ();
310
311        fn validate(
312            _: ::fidl_next::Slot<'_, Self>,
313            _: Self::Constraint,
314        ) -> Result<(), ::fidl_next::ValidationError> {
315            Ok(())
316        }
317    }
318
319    unsafe impl ::fidl_next::Wire for TopologicalPathGetTopologicalPathResponse<'static> {
320        type Narrowed<'de> = TopologicalPathGetTopologicalPathResponse<'de>;
321
322        #[inline]
323        fn zero_padding(out_: &mut ::core::mem::MaybeUninit<Self>) {
324            ::fidl_next::munge! {
325                let Self {
326                    path,
327
328                } = &mut *out_;
329            }
330
331            ::fidl_next::Wire::zero_padding(path);
332        }
333    }
334
335    unsafe impl<'de, ___D> ::fidl_next::Decode<___D> for TopologicalPathGetTopologicalPathResponse<'de>
336    where
337        ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
338        ___D: ::fidl_next::Decoder<'de>,
339    {
340        fn decode(
341            slot_: ::fidl_next::Slot<'_, Self>,
342            decoder_: &mut ___D,
343            _: (),
344        ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
345            ::fidl_next::munge! {
346                let Self {
347                    mut path,
348
349                } = slot_;
350            }
351
352            let _field = path.as_mut();
353            ::fidl_next::Constrained::validate(_field, 1024)?;
354            ::fidl_next::Decode::decode(path.as_mut(), decoder_, 1024)?;
355
356            let path = unsafe { path.deref_unchecked() };
357
358            if path.len() > 1024 {
359                return Err(::fidl_next::DecodeError::VectorTooLong {
360                    size: path.len() as u64,
361                    limit: 1024,
362                });
363            }
364
365            Ok(())
366        }
367    }
368
369    impl<'de> ::fidl_next::IntoNatural for TopologicalPathGetTopologicalPathResponse<'de> {
370        type Natural = crate::natural::TopologicalPathGetTopologicalPathResponse;
371    }
372}
373
374pub mod wire_optional {}
375
376pub mod generic {
377
378    /// The generic type corresponding to [`TopologicalPathGetTopologicalPathResponse`].
379    pub struct TopologicalPathGetTopologicalPathResponse<T0> {
380        pub path: T0,
381    }
382
383    unsafe impl<___E, T0>
384        ::fidl_next::Encode<crate::wire::TopologicalPathGetTopologicalPathResponse<'static>, ___E>
385        for TopologicalPathGetTopologicalPathResponse<T0>
386    where
387        ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
388        ___E: ::fidl_next::Encoder,
389        T0: ::fidl_next::Encode<::fidl_next::wire::String<'static>, ___E>,
390    {
391        #[inline]
392        fn encode(
393            self,
394            encoder_: &mut ___E,
395            out_: &mut ::core::mem::MaybeUninit<
396                crate::wire::TopologicalPathGetTopologicalPathResponse<'static>,
397            >,
398            _: (),
399        ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
400            ::fidl_next::munge! {
401                let crate::wire::TopologicalPathGetTopologicalPathResponse {
402                    path,
403
404                } = out_;
405            }
406
407            ::fidl_next::Encode::encode(self.path, encoder_, path, 1024)?;
408
409            Ok(())
410        }
411    }
412}
413
414pub use self::natural::*;
415
416#[doc = " This name is reserved for accessing the fuchsia.device/Controller protocol\n within /dev/. No devices can be created with this name.\n"]
417pub const DEVICE_CONTROLLER_NAME: &str = "device_controller";
418
419#[doc = " This name is reserved for accessing the device specific protocol\n within /dev/. No devices can be created with this name.\n"]
420pub const DEVICE_PROTOCOL_NAME: &str = "device_protocol";
421
422#[doc = " This name is reserved for accessing the fuchsia.device.fs/TopologicalPath protocol\n within /dev/. No devices can be created with this name.\n"]
423pub const DEVICE_TOPOLOGY_NAME: &str = "device_topology";
424
425#[doc = " Maximum length of a device path\n"]
426pub const MAX_DEVICE_PATH_LEN: u64 = 1024 as u64;
427
428#[doc = " Maximum length for a driver path\n"]
429pub const MAX_DRIVER_PATH_LEN: u64 = 1024 as u64;
430
431/// The type corresponding to the TopologicalPath protocol.
432#[derive(PartialEq, Debug)]
433pub struct TopologicalPath;
434
435#[cfg(target_os = "fuchsia")]
436impl ::fidl_next::HasTransport for TopologicalPath {
437    type Transport = ::fidl_next::fuchsia::zx::Channel;
438}
439
440pub mod topological_path {
441    pub mod prelude {
442        pub use crate::{
443            TopologicalPath, TopologicalPathClientHandler, TopologicalPathLocalClientHandler,
444            TopologicalPathLocalServerHandler, TopologicalPathServerHandler, topological_path,
445        };
446
447        pub use crate::natural::TopologicalPathGetTopologicalPathResponse;
448    }
449
450    pub struct GetTopologicalPath;
451
452    impl ::fidl_next::Method for GetTopologicalPath {
453        const ORDINAL: u64 = 6266213890697819096;
454        const FLEXIBILITY: ::fidl_next::protocol::Flexibility =
455            ::fidl_next::protocol::Flexibility::Strict;
456
457        type Protocol = crate::TopologicalPath;
458
459        type Request = ::fidl_next::wire::EmptyMessageBody;
460    }
461
462    impl ::fidl_next::TwoWayMethod for GetTopologicalPath {
463        type Response = ::fidl_next::wire::Result<
464            'static,
465            crate::wire::TopologicalPathGetTopologicalPathResponse<'static>,
466            ::fidl_next::wire::fuchsia::Status,
467        >;
468    }
469
470    impl<___R> ::fidl_next::Respond<___R> for GetTopologicalPath {
471        type Output = ::core::result::Result<
472            crate::generic::TopologicalPathGetTopologicalPathResponse<___R>,
473            ::fidl_next::never::Never,
474        >;
475
476        fn respond(response: ___R) -> Self::Output {
477            ::core::result::Result::Ok(crate::generic::TopologicalPathGetTopologicalPathResponse {
478                path: response,
479            })
480        }
481    }
482
483    impl<___R> ::fidl_next::RespondErr<___R> for GetTopologicalPath {
484        type Output = ::core::result::Result<::fidl_next::never::Never, ___R>;
485
486        fn respond_err(response: ___R) -> Self::Output {
487            ::core::result::Result::Err(response)
488        }
489    }
490
491    mod ___detail {
492        unsafe impl<___T> ::fidl_next::HasConnectionHandles<___T> for crate::TopologicalPath
493        where
494            ___T: ::fidl_next::Transport,
495        {
496            type Client = TopologicalPathClient<___T>;
497            type Server = TopologicalPathServer<___T>;
498        }
499
500        /// The client for the `TopologicalPath` protocol.
501        #[repr(transparent)]
502        pub struct TopologicalPathClient<___T: ::fidl_next::Transport> {
503            #[allow(dead_code)]
504            client: ::fidl_next::protocol::Client<___T>,
505        }
506
507        impl<___T> TopologicalPathClient<___T>
508        where
509            ___T: ::fidl_next::Transport,
510        {
511            #[doc = " Return the topological path for this device\n"]
512            pub fn get_topological_path(
513                &self,
514            ) -> ::fidl_next::TwoWayFuture<'_, super::GetTopologicalPath, ___T> {
515                ::fidl_next::TwoWayFuture::from_untyped(
516                    self.client.send_two_way::<::fidl_next::wire::EmptyMessageBody>(
517                        6266213890697819096,
518                        <super::GetTopologicalPath as ::fidl_next::Method>::FLEXIBILITY,
519                        (),
520                    ),
521                )
522            }
523        }
524
525        /// The server for the `TopologicalPath` protocol.
526        #[repr(transparent)]
527        pub struct TopologicalPathServer<___T: ::fidl_next::Transport> {
528            server: ::fidl_next::protocol::Server<___T>,
529        }
530
531        impl<___T> TopologicalPathServer<___T> where ___T: ::fidl_next::Transport {}
532    }
533}
534
535#[diagnostic::on_unimplemented(
536    note = "If {Self} implements the non-local TopologicalPathClientHandler trait, use `spawn_as_local` or the `Local` adapter type"
537)]
538
539/// A client handler for the TopologicalPath protocol.
540///
541/// See [`TopologicalPath`] for more details.
542pub trait TopologicalPathLocalClientHandler<
543    #[cfg(target_os = "fuchsia")] ___T: ::fidl_next::Transport = ::fidl_next::fuchsia::zx::Channel,
544    #[cfg(not(target_os = "fuchsia"))] ___T: ::fidl_next::Transport,
545>
546{
547}
548
549impl<___H, ___T> ::fidl_next::DispatchLocalClientMessage<___H, ___T> for TopologicalPath
550where
551    ___H: TopologicalPathLocalClientHandler<___T>,
552    ___T: ::fidl_next::Transport,
553{
554    async fn on_event(
555        handler: &mut ___H,
556        mut message: ::fidl_next::Message<___T>,
557    ) -> ::core::result::Result<(), ::fidl_next::ProtocolError<___T::Error>> {
558        match *message.header().ordinal {
559            ordinal => Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal)),
560        }
561    }
562}
563
564#[diagnostic::on_unimplemented(
565    note = "If {Self} implements the non-local TopologicalPathServerHandler trait, use `spawn_as_local` or the `Local` adapter type"
566)]
567
568/// A server handler for the TopologicalPath protocol.
569///
570/// See [`TopologicalPath`] for more details.
571pub trait TopologicalPathLocalServerHandler<
572    #[cfg(target_os = "fuchsia")] ___T: ::fidl_next::Transport = ::fidl_next::fuchsia::zx::Channel,
573    #[cfg(not(target_os = "fuchsia"))] ___T: ::fidl_next::Transport,
574>
575{
576    #[doc = " Return the topological path for this device\n"]
577    fn get_topological_path(
578        &mut self,
579
580        responder: ::fidl_next::Responder<topological_path::GetTopologicalPath, ___T>,
581    ) -> impl ::core::future::Future<Output = ()>;
582}
583
584impl<___H, ___T> ::fidl_next::DispatchLocalServerMessage<___H, ___T> for TopologicalPath
585where
586    ___H: TopologicalPathLocalServerHandler<___T>,
587    ___T: ::fidl_next::Transport,
588{
589    async fn on_one_way(
590        handler: &mut ___H,
591        mut message: ::fidl_next::Message<___T>,
592    ) -> ::core::result::Result<
593        (),
594        ::fidl_next::ProtocolError<<___T as ::fidl_next::Transport>::Error>,
595    > {
596        match *message.header().ordinal {
597            ordinal => Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal)),
598        }
599    }
600
601    async fn on_two_way(
602        handler: &mut ___H,
603        mut message: ::fidl_next::Message<___T>,
604        responder: ::fidl_next::protocol::Responder<___T>,
605    ) -> ::core::result::Result<
606        (),
607        ::fidl_next::ProtocolError<<___T as ::fidl_next::Transport>::Error>,
608    > {
609        match *message.header().ordinal {
610            6266213890697819096 => {
611                let responder = ::fidl_next::Responder::from_untyped(responder);
612
613                handler.get_topological_path(responder).await;
614                Ok(())
615            }
616
617            ordinal => Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal)),
618        }
619    }
620}
621
622/// A client handler for the TopologicalPath protocol.
623///
624/// See [`TopologicalPath`] for more details.
625pub trait TopologicalPathClientHandler<
626    #[cfg(target_os = "fuchsia")] ___T: ::fidl_next::Transport = ::fidl_next::fuchsia::zx::Channel,
627    #[cfg(not(target_os = "fuchsia"))] ___T: ::fidl_next::Transport,
628>
629{
630}
631
632impl<___H, ___T> ::fidl_next::DispatchClientMessage<___H, ___T> for TopologicalPath
633where
634    ___H: TopologicalPathClientHandler<___T> + ::core::marker::Send,
635    ___T: ::fidl_next::Transport,
636{
637    async fn on_event(
638        handler: &mut ___H,
639        mut message: ::fidl_next::Message<___T>,
640    ) -> ::core::result::Result<(), ::fidl_next::ProtocolError<___T::Error>> {
641        match *message.header().ordinal {
642            ordinal => Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal)),
643        }
644    }
645}
646
647/// A server handler for the TopologicalPath protocol.
648///
649/// See [`TopologicalPath`] for more details.
650pub trait TopologicalPathServerHandler<
651    #[cfg(target_os = "fuchsia")] ___T: ::fidl_next::Transport = ::fidl_next::fuchsia::zx::Channel,
652    #[cfg(not(target_os = "fuchsia"))] ___T: ::fidl_next::Transport,
653>
654{
655    #[doc = " Return the topological path for this device\n"]
656    fn get_topological_path(
657        &mut self,
658
659        responder: ::fidl_next::Responder<topological_path::GetTopologicalPath, ___T>,
660    ) -> impl ::core::future::Future<Output = ()> + ::core::marker::Send;
661}
662
663impl<___H, ___T> ::fidl_next::DispatchServerMessage<___H, ___T> for TopologicalPath
664where
665    ___H: TopologicalPathServerHandler<___T> + ::core::marker::Send,
666    ___T: ::fidl_next::Transport,
667{
668    async fn on_one_way(
669        handler: &mut ___H,
670        mut message: ::fidl_next::Message<___T>,
671    ) -> ::core::result::Result<
672        (),
673        ::fidl_next::ProtocolError<<___T as ::fidl_next::Transport>::Error>,
674    > {
675        match *message.header().ordinal {
676            ordinal => Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal)),
677        }
678    }
679
680    async fn on_two_way(
681        handler: &mut ___H,
682        mut message: ::fidl_next::Message<___T>,
683        responder: ::fidl_next::protocol::Responder<___T>,
684    ) -> ::core::result::Result<
685        (),
686        ::fidl_next::ProtocolError<<___T as ::fidl_next::Transport>::Error>,
687    > {
688        match *message.header().ordinal {
689            6266213890697819096 => {
690                let responder = ::fidl_next::Responder::from_untyped(responder);
691
692                handler.get_topological_path(responder).await;
693                Ok(())
694            }
695
696            ordinal => Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal)),
697        }
698    }
699}
700
701impl<___T> TopologicalPathClientHandler<___T> for ::fidl_next::IgnoreEvents where
702    ___T: ::fidl_next::Transport
703{
704}
705
706impl<___H, ___T> TopologicalPathLocalClientHandler<___T> for ::fidl_next::Local<___H>
707where
708    ___H: TopologicalPathClientHandler<___T>,
709    ___T: ::fidl_next::Transport,
710{
711}
712
713impl<___H, ___T> TopologicalPathLocalServerHandler<___T> for ::fidl_next::Local<___H>
714where
715    ___H: TopologicalPathServerHandler<___T>,
716    ___T: ::fidl_next::Transport,
717{
718    async fn get_topological_path(
719        &mut self,
720
721        responder: ::fidl_next::Responder<topological_path::GetTopologicalPath, ___T>,
722    ) {
723        ___H::get_topological_path(&mut self.0, responder).await
724    }
725}