Skip to main content

fidl_next_fuchsia_hardware_rpmb/
fidl_next_fuchsia_hardware_rpmb.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    pub use fidl_next_common_fuchsia_hardware_rpmb::natural::*;
8
9    #[doc = " Represents an RPMB operation, which consists of sending one or more frames then receiving zero\n or more frames. The tx_frames and rx_frames VMOs will be transferred to the protocol\n implementation, so clients should keep duplicates of them if access is needed after the call to\n Request().\n The request will be aborted as soon as an error is encountered, meaning the read operation will\n not be performed if the write operation failed. Invalid parameters passed through tx_frames or\n rx_frames will cause an error to be returned immediately, without either operation having been\n performed.\n"]
10    #[derive(Debug, PartialEq)]
11    pub struct Request {
12        pub tx_frames: ::fidl_next_fuchsia_mem::natural::Range,
13
14        pub rx_frames:
15            ::core::option::Option<::std::boxed::Box<::fidl_next_fuchsia_mem::natural::Range>>,
16    }
17
18    unsafe impl<___E> ::fidl_next::Encode<crate::wire::Request<'static>, ___E> for Request
19    where
20        ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
21        ___E: ::fidl_next::Encoder,
22        ___E: ::fidl_next::fuchsia::HandleEncoder,
23    {
24        #[inline]
25        fn encode(
26            self,
27            encoder_: &mut ___E,
28            out_: &mut ::core::mem::MaybeUninit<crate::wire::Request<'static>>,
29            _: (),
30        ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
31            ::fidl_next::munge! {
32                let crate::wire::Request {
33                    tx_frames,
34                    rx_frames,
35
36                } = out_;
37            }
38
39            ::fidl_next::Encode::encode(self.tx_frames, encoder_, tx_frames, ())?;
40
41            let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(tx_frames.as_mut_ptr()) };
42
43            ::fidl_next::Encode::encode(self.rx_frames, encoder_, rx_frames, ())?;
44
45            let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(rx_frames.as_mut_ptr()) };
46
47            Ok(())
48        }
49    }
50
51    unsafe impl<___E>
52        ::fidl_next::EncodeOption<
53            ::fidl_next::wire::Box<'static, crate::wire::Request<'static>>,
54            ___E,
55        > for Request
56    where
57        ___E: ::fidl_next::Encoder + ?Sized,
58        Request: ::fidl_next::Encode<crate::wire::Request<'static>, ___E>,
59    {
60        #[inline]
61        fn encode_option(
62            this: ::core::option::Option<Self>,
63            encoder: &mut ___E,
64            out: &mut ::core::mem::MaybeUninit<
65                ::fidl_next::wire::Box<'static, crate::wire::Request<'static>>,
66            >,
67            _: (),
68        ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
69            if let Some(inner) = this {
70                ::fidl_next::EncoderExt::encode_next(encoder, inner)?;
71                ::fidl_next::wire::Box::encode_present(out);
72            } else {
73                ::fidl_next::wire::Box::encode_absent(out);
74            }
75
76            Ok(())
77        }
78    }
79
80    impl<'de> ::fidl_next::FromWire<crate::wire::Request<'de>> for Request {
81        #[inline]
82        fn from_wire(wire: crate::wire::Request<'de>) -> Self {
83            Self {
84                tx_frames: ::fidl_next::FromWire::from_wire(wire.tx_frames),
85
86                rx_frames: ::fidl_next::FromWire::from_wire(wire.rx_frames),
87            }
88        }
89    }
90
91    #[derive(Debug, PartialEq)]
92    pub struct RpmbRequestRequest {
93        pub request: crate::natural::Request,
94    }
95
96    unsafe impl<___E> ::fidl_next::Encode<crate::wire::RpmbRequestRequest<'static>, ___E>
97        for RpmbRequestRequest
98    where
99        ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
100        ___E: ::fidl_next::Encoder,
101        ___E: ::fidl_next::fuchsia::HandleEncoder,
102    {
103        #[inline]
104        fn encode(
105            self,
106            encoder_: &mut ___E,
107            out_: &mut ::core::mem::MaybeUninit<crate::wire::RpmbRequestRequest<'static>>,
108            _: (),
109        ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
110            ::fidl_next::munge! {
111                let crate::wire::RpmbRequestRequest {
112                    request,
113
114                } = out_;
115            }
116
117            ::fidl_next::Encode::encode(self.request, encoder_, request, ())?;
118
119            let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(request.as_mut_ptr()) };
120
121            Ok(())
122        }
123    }
124
125    unsafe impl<___E>
126        ::fidl_next::EncodeOption<
127            ::fidl_next::wire::Box<'static, crate::wire::RpmbRequestRequest<'static>>,
128            ___E,
129        > for RpmbRequestRequest
130    where
131        ___E: ::fidl_next::Encoder + ?Sized,
132        RpmbRequestRequest: ::fidl_next::Encode<crate::wire::RpmbRequestRequest<'static>, ___E>,
133    {
134        #[inline]
135        fn encode_option(
136            this: ::core::option::Option<Self>,
137            encoder: &mut ___E,
138            out: &mut ::core::mem::MaybeUninit<
139                ::fidl_next::wire::Box<'static, crate::wire::RpmbRequestRequest<'static>>,
140            >,
141            _: (),
142        ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
143            if let Some(inner) = this {
144                ::fidl_next::EncoderExt::encode_next(encoder, inner)?;
145                ::fidl_next::wire::Box::encode_present(out);
146            } else {
147                ::fidl_next::wire::Box::encode_absent(out);
148            }
149
150            Ok(())
151        }
152    }
153
154    impl<'de> ::fidl_next::FromWire<crate::wire::RpmbRequestRequest<'de>> for RpmbRequestRequest {
155        #[inline]
156        fn from_wire(wire: crate::wire::RpmbRequestRequest<'de>) -> Self {
157            Self { request: ::fidl_next::FromWire::from_wire(wire.request) }
158        }
159    }
160}
161
162pub mod wire {
163
164    pub use fidl_next_common_fuchsia_hardware_rpmb::wire::*;
165
166    /// The wire type corresponding to [`Request`].
167    #[derive(Debug)]
168    #[repr(C)]
169    pub struct Request<'de> {
170        pub tx_frames: ::fidl_next_fuchsia_mem::wire::Range,
171
172        pub rx_frames: ::fidl_next::wire::Box<'de, ::fidl_next_fuchsia_mem::wire::Range>,
173    }
174
175    static_assertions::const_assert_eq!(std::mem::size_of::<Request<'_>>(), 32);
176    static_assertions::const_assert_eq!(std::mem::align_of::<Request<'_>>(), 8);
177
178    static_assertions::const_assert_eq!(std::mem::offset_of!(Request<'_>, tx_frames), 0);
179
180    static_assertions::const_assert_eq!(std::mem::offset_of!(Request<'_>, rx_frames), 24);
181
182    impl ::fidl_next::Constrained for Request<'_> {
183        type Constraint = ();
184
185        fn validate(
186            _: ::fidl_next::Slot<'_, Self>,
187            _: Self::Constraint,
188        ) -> Result<(), ::fidl_next::ValidationError> {
189            Ok(())
190        }
191    }
192
193    unsafe impl ::fidl_next::Wire for Request<'static> {
194        type Narrowed<'de> = Request<'de>;
195
196        #[inline]
197        fn zero_padding(out_: &mut ::core::mem::MaybeUninit<Self>) {
198            ::fidl_next::munge! {
199                let Self {
200                    tx_frames,
201                    rx_frames,
202
203                } = &mut *out_;
204            }
205
206            ::fidl_next::Wire::zero_padding(tx_frames);
207
208            ::fidl_next::Wire::zero_padding(rx_frames);
209        }
210    }
211
212    unsafe impl<'de, ___D> ::fidl_next::Decode<___D> for Request<'de>
213    where
214        ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
215        ___D: ::fidl_next::Decoder<'de>,
216        ___D: ::fidl_next::fuchsia::HandleDecoder,
217    {
218        fn decode(
219            slot_: ::fidl_next::Slot<'_, Self>,
220            decoder_: &mut ___D,
221            _: (),
222        ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
223            ::fidl_next::munge! {
224                let Self {
225                    mut tx_frames,
226                    mut rx_frames,
227
228                } = slot_;
229            }
230
231            let _field = tx_frames.as_mut();
232
233            ::fidl_next::Decode::decode(tx_frames.as_mut(), decoder_, ())?;
234
235            let _field = rx_frames.as_mut();
236
237            ::fidl_next::Decode::decode(rx_frames.as_mut(), decoder_, ())?;
238
239            Ok(())
240        }
241    }
242
243    impl<'de> ::fidl_next::IntoNatural for Request<'de> {
244        type Natural = crate::natural::Request;
245    }
246
247    /// The wire type corresponding to [`RpmbRequestRequest`].
248    #[derive(Debug)]
249    #[repr(C)]
250    pub struct RpmbRequestRequest<'de> {
251        pub request: crate::wire::Request<'de>,
252    }
253
254    static_assertions::const_assert_eq!(std::mem::size_of::<RpmbRequestRequest<'_>>(), 32);
255    static_assertions::const_assert_eq!(std::mem::align_of::<RpmbRequestRequest<'_>>(), 8);
256
257    static_assertions::const_assert_eq!(std::mem::offset_of!(RpmbRequestRequest<'_>, request), 0);
258
259    impl ::fidl_next::Constrained for RpmbRequestRequest<'_> {
260        type Constraint = ();
261
262        fn validate(
263            _: ::fidl_next::Slot<'_, Self>,
264            _: Self::Constraint,
265        ) -> Result<(), ::fidl_next::ValidationError> {
266            Ok(())
267        }
268    }
269
270    unsafe impl ::fidl_next::Wire for RpmbRequestRequest<'static> {
271        type Narrowed<'de> = RpmbRequestRequest<'de>;
272
273        #[inline]
274        fn zero_padding(out_: &mut ::core::mem::MaybeUninit<Self>) {
275            ::fidl_next::munge! {
276                let Self {
277                    request,
278
279                } = &mut *out_;
280            }
281
282            ::fidl_next::Wire::zero_padding(request);
283        }
284    }
285
286    unsafe impl<'de, ___D> ::fidl_next::Decode<___D> for RpmbRequestRequest<'de>
287    where
288        ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
289        ___D: ::fidl_next::Decoder<'de>,
290        ___D: ::fidl_next::fuchsia::HandleDecoder,
291    {
292        fn decode(
293            slot_: ::fidl_next::Slot<'_, Self>,
294            decoder_: &mut ___D,
295            _: (),
296        ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
297            ::fidl_next::munge! {
298                let Self {
299                    mut request,
300
301                } = slot_;
302            }
303
304            let _field = request.as_mut();
305
306            ::fidl_next::Decode::decode(request.as_mut(), decoder_, ())?;
307
308            Ok(())
309        }
310    }
311
312    impl<'de> ::fidl_next::IntoNatural for RpmbRequestRequest<'de> {
313        type Natural = crate::natural::RpmbRequestRequest;
314    }
315}
316
317pub mod wire_optional {
318
319    pub use fidl_next_common_fuchsia_hardware_rpmb::wire_optional::*;
320}
321
322pub mod generic {
323
324    pub use fidl_next_common_fuchsia_hardware_rpmb::generic::*;
325
326    /// The generic type corresponding to [`Request`].
327    pub struct Request<T0, T1> {
328        pub tx_frames: T0,
329
330        pub rx_frames: T1,
331    }
332
333    unsafe impl<___E, T0, T1> ::fidl_next::Encode<crate::wire::Request<'static>, ___E>
334        for Request<T0, T1>
335    where
336        ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
337        ___E: ::fidl_next::Encoder,
338        ___E: ::fidl_next::fuchsia::HandleEncoder,
339        T0: ::fidl_next::Encode<::fidl_next_fuchsia_mem::wire::Range, ___E>,
340        T1: ::fidl_next::Encode<
341                ::fidl_next::wire::Box<'static, ::fidl_next_fuchsia_mem::wire::Range>,
342                ___E,
343            >,
344    {
345        #[inline]
346        fn encode(
347            self,
348            encoder_: &mut ___E,
349            out_: &mut ::core::mem::MaybeUninit<crate::wire::Request<'static>>,
350            _: (),
351        ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
352            ::fidl_next::munge! {
353                let crate::wire::Request {
354                    tx_frames,
355                    rx_frames,
356
357                } = out_;
358            }
359
360            ::fidl_next::Encode::encode(self.tx_frames, encoder_, tx_frames, ())?;
361
362            ::fidl_next::Encode::encode(self.rx_frames, encoder_, rx_frames, ())?;
363
364            Ok(())
365        }
366    }
367
368    /// The generic type corresponding to [`RpmbRequestRequest`].
369    pub struct RpmbRequestRequest<T0> {
370        pub request: T0,
371    }
372
373    unsafe impl<___E, T0> ::fidl_next::Encode<crate::wire::RpmbRequestRequest<'static>, ___E>
374        for RpmbRequestRequest<T0>
375    where
376        ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
377        ___E: ::fidl_next::Encoder,
378        ___E: ::fidl_next::fuchsia::HandleEncoder,
379        T0: ::fidl_next::Encode<crate::wire::Request<'static>, ___E>,
380    {
381        #[inline]
382        fn encode(
383            self,
384            encoder_: &mut ___E,
385            out_: &mut ::core::mem::MaybeUninit<crate::wire::RpmbRequestRequest<'static>>,
386            _: (),
387        ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
388            ::fidl_next::munge! {
389                let crate::wire::RpmbRequestRequest {
390                    request,
391
392                } = out_;
393            }
394
395            ::fidl_next::Encode::encode(self.request, encoder_, request, ())?;
396
397            Ok(())
398        }
399    }
400}
401
402pub use self::natural::*;
403
404/// The type corresponding to the Rpmb protocol.
405#[derive(PartialEq, Debug)]
406pub struct Rpmb;
407
408impl ::fidl_next::Discoverable for Rpmb {
409    const PROTOCOL_NAME: &'static str = "fuchsia.hardware.rpmb.Rpmb";
410}
411
412#[cfg(target_os = "fuchsia")]
413impl ::fidl_next::HasTransport for Rpmb {
414    type Transport = ::fidl_next::fuchsia::zx::Channel;
415}
416
417pub mod rpmb {
418    pub mod prelude {
419        pub use crate::{
420            Rpmb, RpmbClientHandler, RpmbLocalClientHandler, RpmbLocalServerHandler,
421            RpmbServerHandler, rpmb,
422        };
423
424        pub use crate::natural::RpmbGetDeviceInfoResponse;
425
426        pub use crate::natural::RpmbRequestRequest;
427
428        pub use crate::natural::RpmbRequestResponse;
429    }
430
431    pub struct GetDeviceInfo;
432
433    impl ::fidl_next::Method for GetDeviceInfo {
434        const ORDINAL: u64 = 6399474108337708832;
435        const FLEXIBILITY: ::fidl_next::protocol::Flexibility =
436            ::fidl_next::protocol::Flexibility::Strict;
437
438        type Protocol = crate::Rpmb;
439
440        type Request = ::fidl_next::wire::EmptyMessageBody;
441    }
442
443    impl ::fidl_next::TwoWayMethod for GetDeviceInfo {
444        type Response = ::fidl_next::wire::Strict<crate::wire::RpmbGetDeviceInfoResponse<'static>>;
445    }
446
447    impl<___R> ::fidl_next::Respond<___R> for GetDeviceInfo {
448        type Output = ::fidl_next::Strict<crate::generic::RpmbGetDeviceInfoResponse<___R>>;
449
450        fn respond(response: ___R) -> Self::Output {
451            ::fidl_next::Strict(crate::generic::RpmbGetDeviceInfoResponse { info: response })
452        }
453    }
454
455    pub struct Request;
456
457    impl ::fidl_next::Method for Request {
458        const ORDINAL: u64 = 2199356259956099574;
459        const FLEXIBILITY: ::fidl_next::protocol::Flexibility =
460            ::fidl_next::protocol::Flexibility::Strict;
461
462        type Protocol = crate::Rpmb;
463
464        type Request = crate::wire::RpmbRequestRequest<'static>;
465    }
466
467    impl ::fidl_next::TwoWayMethod for Request {
468        type Response = ::fidl_next::wire::Result<
469            'static,
470            crate::wire::RpmbRequestResponse,
471            ::fidl_next::wire::fuchsia::Status,
472        >;
473    }
474
475    impl<___R> ::fidl_next::Respond<___R> for Request {
476        type Output = ::core::result::Result<___R, ::fidl_next::never::Never>;
477
478        fn respond(response: ___R) -> Self::Output {
479            ::core::result::Result::Ok(response)
480        }
481    }
482
483    impl<___R> ::fidl_next::RespondErr<___R> for Request {
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::Rpmb
493        where
494            ___T: ::fidl_next::Transport,
495        {
496            type Client = RpmbClient<___T>;
497            type Server = RpmbServer<___T>;
498        }
499
500        /// The client for the `Rpmb` protocol.
501        #[repr(transparent)]
502        pub struct RpmbClient<___T: ::fidl_next::Transport> {
503            #[allow(dead_code)]
504            client: ::fidl_next::protocol::Client<___T>,
505        }
506
507        impl<___T> RpmbClient<___T>
508        where
509            ___T: ::fidl_next::Transport,
510        {
511            pub fn get_device_info(
512                &self,
513            ) -> ::fidl_next::TwoWayFuture<'_, super::GetDeviceInfo, ___T> {
514                ::fidl_next::TwoWayFuture::from_untyped(
515                    self.client.send_two_way::<::fidl_next::wire::EmptyMessageBody>(
516                        6399474108337708832,
517                        <super::GetDeviceInfo as ::fidl_next::Method>::FLEXIBILITY,
518                        (),
519                    ),
520                )
521            }
522
523            pub fn request(
524                &self,
525
526                request: impl ::fidl_next::Encode<
527                    crate::wire::Request<'static>,
528                    <___T as ::fidl_next::Transport>::SendBuffer,
529                >,
530            ) -> ::fidl_next::TwoWayFuture<'_, super::Request, ___T>
531            where
532                <___T as ::fidl_next::Transport>::SendBuffer:
533                    ::fidl_next::encoder::InternalHandleEncoder,
534                <___T as ::fidl_next::Transport>::SendBuffer: ::fidl_next::Encoder,
535                <___T as ::fidl_next::Transport>::SendBuffer: ::fidl_next::fuchsia::HandleEncoder,
536            {
537                self.request_with(crate::generic::RpmbRequestRequest { request })
538            }
539
540            pub fn request_with<___R>(
541                &self,
542                request: ___R,
543            ) -> ::fidl_next::TwoWayFuture<'_, super::Request, ___T>
544            where
545                ___R: ::fidl_next::Encode<
546                        crate::wire::RpmbRequestRequest<'static>,
547                        <___T as ::fidl_next::Transport>::SendBuffer,
548                    >,
549            {
550                ::fidl_next::TwoWayFuture::from_untyped(self.client.send_two_way(
551                    2199356259956099574,
552                    <super::Request as ::fidl_next::Method>::FLEXIBILITY,
553                    request,
554                ))
555            }
556        }
557
558        /// The server for the `Rpmb` protocol.
559        #[repr(transparent)]
560        pub struct RpmbServer<___T: ::fidl_next::Transport> {
561            server: ::fidl_next::protocol::Server<___T>,
562        }
563
564        impl<___T> RpmbServer<___T> where ___T: ::fidl_next::Transport {}
565    }
566}
567
568#[diagnostic::on_unimplemented(
569    note = "If {Self} implements the non-local RpmbClientHandler trait, use `spawn_as_local` or the `Local` adapter type"
570)]
571
572/// A client handler for the Rpmb protocol.
573///
574/// See [`Rpmb`] for more details.
575pub trait RpmbLocalClientHandler<
576    #[cfg(target_os = "fuchsia")] ___T: ::fidl_next::Transport = ::fidl_next::fuchsia::zx::Channel,
577    #[cfg(not(target_os = "fuchsia"))] ___T: ::fidl_next::Transport,
578>
579{
580}
581
582impl<___H, ___T> ::fidl_next::DispatchLocalClientMessage<___H, ___T> for Rpmb
583where
584    ___H: RpmbLocalClientHandler<___T>,
585    ___T: ::fidl_next::Transport,
586{
587    async fn on_event(
588        handler: &mut ___H,
589        mut message: ::fidl_next::Message<___T>,
590    ) -> ::core::result::Result<(), ::fidl_next::ProtocolError<___T::Error>> {
591        match *message.header().ordinal {
592            ordinal => Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal)),
593        }
594    }
595}
596
597#[diagnostic::on_unimplemented(
598    note = "If {Self} implements the non-local RpmbServerHandler trait, use `spawn_as_local` or the `Local` adapter type"
599)]
600
601/// A server handler for the Rpmb protocol.
602///
603/// See [`Rpmb`] for more details.
604pub trait RpmbLocalServerHandler<
605    #[cfg(target_os = "fuchsia")] ___T: ::fidl_next::Transport = ::fidl_next::fuchsia::zx::Channel,
606    #[cfg(not(target_os = "fuchsia"))] ___T: ::fidl_next::Transport,
607>
608{
609    fn get_device_info(
610        &mut self,
611
612        responder: ::fidl_next::Responder<rpmb::GetDeviceInfo, ___T>,
613    ) -> impl ::core::future::Future<Output = ()>;
614
615    fn request(
616        &mut self,
617
618        request: ::fidl_next::Request<rpmb::Request, ___T>,
619
620        responder: ::fidl_next::Responder<rpmb::Request, ___T>,
621    ) -> impl ::core::future::Future<Output = ()>;
622}
623
624impl<___H, ___T> ::fidl_next::DispatchLocalServerMessage<___H, ___T> for Rpmb
625where
626    ___H: RpmbLocalServerHandler<___T>,
627    ___T: ::fidl_next::Transport,
628    for<'de> crate::wire::RpmbRequestRequest<'de>: ::fidl_next::Decode<
629            <<___T as ::fidl_next::Transport>::RecvBuffer as ::fidl_next::AsDecoder<'de>>::Decoder,
630            Constraint = (),
631        >,
632{
633    async fn on_one_way(
634        handler: &mut ___H,
635        mut message: ::fidl_next::Message<___T>,
636    ) -> ::core::result::Result<
637        (),
638        ::fidl_next::ProtocolError<<___T as ::fidl_next::Transport>::Error>,
639    > {
640        match *message.header().ordinal {
641            ordinal => Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal)),
642        }
643    }
644
645    async fn on_two_way(
646        handler: &mut ___H,
647        mut message: ::fidl_next::Message<___T>,
648        responder: ::fidl_next::protocol::Responder<___T>,
649    ) -> ::core::result::Result<
650        (),
651        ::fidl_next::ProtocolError<<___T as ::fidl_next::Transport>::Error>,
652    > {
653        match *message.header().ordinal {
654            6399474108337708832 => {
655                let responder = ::fidl_next::Responder::from_untyped(responder);
656
657                handler.get_device_info(responder).await;
658                Ok(())
659            }
660
661            2199356259956099574 => {
662                let responder = ::fidl_next::Responder::from_untyped(responder);
663
664                match ::fidl_next::AsDecoderExt::into_decoded(message) {
665                    Ok(decoded) => {
666                        handler
667                            .request(::fidl_next::Request::from_decoded(decoded), responder)
668                            .await;
669                        Ok(())
670                    }
671                    Err(error) => Err(::fidl_next::ProtocolError::InvalidMessage {
672                        ordinal: 2199356259956099574,
673                        error,
674                    }),
675                }
676            }
677
678            ordinal => Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal)),
679        }
680    }
681}
682
683/// A client handler for the Rpmb protocol.
684///
685/// See [`Rpmb`] for more details.
686pub trait RpmbClientHandler<
687    #[cfg(target_os = "fuchsia")] ___T: ::fidl_next::Transport = ::fidl_next::fuchsia::zx::Channel,
688    #[cfg(not(target_os = "fuchsia"))] ___T: ::fidl_next::Transport,
689>
690{
691}
692
693impl<___H, ___T> ::fidl_next::DispatchClientMessage<___H, ___T> for Rpmb
694where
695    ___H: RpmbClientHandler<___T> + ::core::marker::Send,
696    ___T: ::fidl_next::Transport,
697{
698    async fn on_event(
699        handler: &mut ___H,
700        mut message: ::fidl_next::Message<___T>,
701    ) -> ::core::result::Result<(), ::fidl_next::ProtocolError<___T::Error>> {
702        match *message.header().ordinal {
703            ordinal => Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal)),
704        }
705    }
706}
707
708/// A server handler for the Rpmb protocol.
709///
710/// See [`Rpmb`] for more details.
711pub trait RpmbServerHandler<
712    #[cfg(target_os = "fuchsia")] ___T: ::fidl_next::Transport = ::fidl_next::fuchsia::zx::Channel,
713    #[cfg(not(target_os = "fuchsia"))] ___T: ::fidl_next::Transport,
714>
715{
716    fn get_device_info(
717        &mut self,
718
719        responder: ::fidl_next::Responder<rpmb::GetDeviceInfo, ___T>,
720    ) -> impl ::core::future::Future<Output = ()> + ::core::marker::Send;
721
722    fn request(
723        &mut self,
724
725        request: ::fidl_next::Request<rpmb::Request, ___T>,
726
727        responder: ::fidl_next::Responder<rpmb::Request, ___T>,
728    ) -> impl ::core::future::Future<Output = ()> + ::core::marker::Send;
729}
730
731impl<___H, ___T> ::fidl_next::DispatchServerMessage<___H, ___T> for Rpmb
732where
733    ___H: RpmbServerHandler<___T> + ::core::marker::Send,
734    ___T: ::fidl_next::Transport,
735    for<'de> crate::wire::RpmbRequestRequest<'de>: ::fidl_next::Decode<
736            <<___T as ::fidl_next::Transport>::RecvBuffer as ::fidl_next::AsDecoder<'de>>::Decoder,
737            Constraint = (),
738        >,
739{
740    async fn on_one_way(
741        handler: &mut ___H,
742        mut message: ::fidl_next::Message<___T>,
743    ) -> ::core::result::Result<
744        (),
745        ::fidl_next::ProtocolError<<___T as ::fidl_next::Transport>::Error>,
746    > {
747        match *message.header().ordinal {
748            ordinal => Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal)),
749        }
750    }
751
752    async fn on_two_way(
753        handler: &mut ___H,
754        mut message: ::fidl_next::Message<___T>,
755        responder: ::fidl_next::protocol::Responder<___T>,
756    ) -> ::core::result::Result<
757        (),
758        ::fidl_next::ProtocolError<<___T as ::fidl_next::Transport>::Error>,
759    > {
760        match *message.header().ordinal {
761            6399474108337708832 => {
762                let responder = ::fidl_next::Responder::from_untyped(responder);
763
764                handler.get_device_info(responder).await;
765                Ok(())
766            }
767
768            2199356259956099574 => {
769                let responder = ::fidl_next::Responder::from_untyped(responder);
770
771                match ::fidl_next::AsDecoderExt::into_decoded(message) {
772                    Ok(decoded) => {
773                        handler
774                            .request(::fidl_next::Request::from_decoded(decoded), responder)
775                            .await;
776                        Ok(())
777                    }
778                    Err(error) => Err(::fidl_next::ProtocolError::InvalidMessage {
779                        ordinal: 2199356259956099574,
780                        error,
781                    }),
782                }
783            }
784
785            ordinal => Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal)),
786        }
787    }
788}
789
790impl<___T> RpmbClientHandler<___T> for ::fidl_next::IgnoreEvents where ___T: ::fidl_next::Transport {}
791
792impl<___H, ___T> RpmbLocalClientHandler<___T> for ::fidl_next::Local<___H>
793where
794    ___H: RpmbClientHandler<___T>,
795    ___T: ::fidl_next::Transport,
796{
797}
798
799impl<___H, ___T> RpmbLocalServerHandler<___T> for ::fidl_next::Local<___H>
800where
801    ___H: RpmbServerHandler<___T>,
802    ___T: ::fidl_next::Transport,
803{
804    async fn get_device_info(
805        &mut self,
806
807        responder: ::fidl_next::Responder<rpmb::GetDeviceInfo, ___T>,
808    ) {
809        ___H::get_device_info(&mut self.0, responder).await
810    }
811
812    async fn request(
813        &mut self,
814
815        request: ::fidl_next::Request<rpmb::Request, ___T>,
816
817        responder: ::fidl_next::Responder<rpmb::Request, ___T>,
818    ) {
819        ___H::request(&mut self.0, request, responder).await
820    }
821}
822
823/// The type corresponding to the DriverRpmb protocol.
824#[doc = " A driver transport variant of the `Rpmb` protocol.\n"]
825#[derive(PartialEq, Debug)]
826pub struct DriverRpmb;
827
828impl ::fidl_next::Discoverable for DriverRpmb {
829    const PROTOCOL_NAME: &'static str = "fuchsia.hardware.rpmb.DriverRpmb";
830}
831
832#[cfg(feature = "driver")]
833impl ::fidl_next::HasTransport for DriverRpmb {
834    type Transport = ::fdf_fidl::DriverChannel;
835}
836
837pub mod driver_rpmb {
838    pub mod prelude {
839        pub use crate::{
840            DriverRpmb, DriverRpmbClientHandler, DriverRpmbLocalClientHandler,
841            DriverRpmbLocalServerHandler, DriverRpmbServerHandler, driver_rpmb,
842        };
843
844        pub use crate::natural::RpmbGetDeviceInfoResponse;
845
846        pub use crate::natural::RpmbRequestRequest;
847
848        pub use crate::natural::RpmbRequestResponse;
849    }
850
851    pub struct GetDeviceInfo;
852
853    impl ::fidl_next::Method for GetDeviceInfo {
854        const ORDINAL: u64 = 6399474108337708832;
855        const FLEXIBILITY: ::fidl_next::protocol::Flexibility =
856            ::fidl_next::protocol::Flexibility::Strict;
857
858        type Protocol = crate::DriverRpmb;
859
860        type Request = ::fidl_next::wire::EmptyMessageBody;
861    }
862
863    impl ::fidl_next::TwoWayMethod for GetDeviceInfo {
864        type Response = ::fidl_next::wire::Strict<crate::wire::RpmbGetDeviceInfoResponse<'static>>;
865    }
866
867    impl<___R> ::fidl_next::Respond<___R> for GetDeviceInfo {
868        type Output = ::fidl_next::Strict<crate::generic::RpmbGetDeviceInfoResponse<___R>>;
869
870        fn respond(response: ___R) -> Self::Output {
871            ::fidl_next::Strict(crate::generic::RpmbGetDeviceInfoResponse { info: response })
872        }
873    }
874
875    pub struct Request;
876
877    impl ::fidl_next::Method for Request {
878        const ORDINAL: u64 = 2199356259956099574;
879        const FLEXIBILITY: ::fidl_next::protocol::Flexibility =
880            ::fidl_next::protocol::Flexibility::Strict;
881
882        type Protocol = crate::DriverRpmb;
883
884        type Request = crate::wire::RpmbRequestRequest<'static>;
885    }
886
887    impl ::fidl_next::TwoWayMethod for Request {
888        type Response = ::fidl_next::wire::Result<
889            'static,
890            crate::wire::RpmbRequestResponse,
891            ::fidl_next::wire::fuchsia::Status,
892        >;
893    }
894
895    impl<___R> ::fidl_next::Respond<___R> for Request {
896        type Output = ::core::result::Result<___R, ::fidl_next::never::Never>;
897
898        fn respond(response: ___R) -> Self::Output {
899            ::core::result::Result::Ok(response)
900        }
901    }
902
903    impl<___R> ::fidl_next::RespondErr<___R> for Request {
904        type Output = ::core::result::Result<::fidl_next::never::Never, ___R>;
905
906        fn respond_err(response: ___R) -> Self::Output {
907            ::core::result::Result::Err(response)
908        }
909    }
910
911    mod ___detail {
912        unsafe impl<___T> ::fidl_next::HasConnectionHandles<___T> for crate::DriverRpmb
913        where
914            ___T: ::fidl_next::Transport,
915        {
916            type Client = DriverRpmbClient<___T>;
917            type Server = DriverRpmbServer<___T>;
918        }
919
920        /// The client for the `DriverRpmb` protocol.
921        #[repr(transparent)]
922        pub struct DriverRpmbClient<___T: ::fidl_next::Transport> {
923            #[allow(dead_code)]
924            client: ::fidl_next::protocol::Client<___T>,
925        }
926
927        impl<___T> DriverRpmbClient<___T>
928        where
929            ___T: ::fidl_next::Transport,
930        {
931            pub fn get_device_info(
932                &self,
933            ) -> ::fidl_next::TwoWayFuture<'_, super::GetDeviceInfo, ___T> {
934                ::fidl_next::TwoWayFuture::from_untyped(
935                    self.client.send_two_way::<::fidl_next::wire::EmptyMessageBody>(
936                        6399474108337708832,
937                        <super::GetDeviceInfo as ::fidl_next::Method>::FLEXIBILITY,
938                        (),
939                    ),
940                )
941            }
942
943            pub fn request(
944                &self,
945
946                request: impl ::fidl_next::Encode<
947                    crate::wire::Request<'static>,
948                    <___T as ::fidl_next::Transport>::SendBuffer,
949                >,
950            ) -> ::fidl_next::TwoWayFuture<'_, super::Request, ___T>
951            where
952                <___T as ::fidl_next::Transport>::SendBuffer:
953                    ::fidl_next::encoder::InternalHandleEncoder,
954                <___T as ::fidl_next::Transport>::SendBuffer: ::fidl_next::Encoder,
955                <___T as ::fidl_next::Transport>::SendBuffer: ::fidl_next::fuchsia::HandleEncoder,
956            {
957                self.request_with(crate::generic::RpmbRequestRequest { request })
958            }
959
960            pub fn request_with<___R>(
961                &self,
962                request: ___R,
963            ) -> ::fidl_next::TwoWayFuture<'_, super::Request, ___T>
964            where
965                ___R: ::fidl_next::Encode<
966                        crate::wire::RpmbRequestRequest<'static>,
967                        <___T as ::fidl_next::Transport>::SendBuffer,
968                    >,
969            {
970                ::fidl_next::TwoWayFuture::from_untyped(self.client.send_two_way(
971                    2199356259956099574,
972                    <super::Request as ::fidl_next::Method>::FLEXIBILITY,
973                    request,
974                ))
975            }
976        }
977
978        /// The server for the `DriverRpmb` protocol.
979        #[repr(transparent)]
980        pub struct DriverRpmbServer<___T: ::fidl_next::Transport> {
981            server: ::fidl_next::protocol::Server<___T>,
982        }
983
984        impl<___T> DriverRpmbServer<___T> where ___T: ::fidl_next::Transport {}
985    }
986}
987
988#[diagnostic::on_unimplemented(
989    note = "If {Self} implements the non-local DriverRpmbClientHandler trait, use `spawn_as_local` or the `Local` adapter type"
990)]
991
992/// A client handler for the DriverRpmb protocol.
993///
994/// See [`DriverRpmb`] for more details.
995pub trait DriverRpmbLocalClientHandler<
996    #[cfg(feature = "driver")] ___T: ::fidl_next::Transport = ::fdf_fidl::DriverChannel,
997    #[cfg(not(feature = "driver"))] ___T: ::fidl_next::Transport,
998>
999{
1000}
1001
1002impl<___H, ___T> ::fidl_next::DispatchLocalClientMessage<___H, ___T> for DriverRpmb
1003where
1004    ___H: DriverRpmbLocalClientHandler<___T>,
1005    ___T: ::fidl_next::Transport,
1006{
1007    async fn on_event(
1008        handler: &mut ___H,
1009        mut message: ::fidl_next::Message<___T>,
1010    ) -> ::core::result::Result<(), ::fidl_next::ProtocolError<___T::Error>> {
1011        match *message.header().ordinal {
1012            ordinal => Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal)),
1013        }
1014    }
1015}
1016
1017#[diagnostic::on_unimplemented(
1018    note = "If {Self} implements the non-local DriverRpmbServerHandler trait, use `spawn_as_local` or the `Local` adapter type"
1019)]
1020
1021/// A server handler for the DriverRpmb protocol.
1022///
1023/// See [`DriverRpmb`] for more details.
1024pub trait DriverRpmbLocalServerHandler<
1025    #[cfg(feature = "driver")] ___T: ::fidl_next::Transport = ::fdf_fidl::DriverChannel,
1026    #[cfg(not(feature = "driver"))] ___T: ::fidl_next::Transport,
1027>
1028{
1029    fn get_device_info(
1030        &mut self,
1031
1032        responder: ::fidl_next::Responder<driver_rpmb::GetDeviceInfo, ___T>,
1033    ) -> impl ::core::future::Future<Output = ()>;
1034
1035    fn request(
1036        &mut self,
1037
1038        request: ::fidl_next::Request<driver_rpmb::Request, ___T>,
1039
1040        responder: ::fidl_next::Responder<driver_rpmb::Request, ___T>,
1041    ) -> impl ::core::future::Future<Output = ()>;
1042}
1043
1044impl<___H, ___T> ::fidl_next::DispatchLocalServerMessage<___H, ___T> for DriverRpmb
1045where
1046    ___H: DriverRpmbLocalServerHandler<___T>,
1047    ___T: ::fidl_next::Transport,
1048    for<'de> crate::wire::RpmbRequestRequest<'de>: ::fidl_next::Decode<
1049            <<___T as ::fidl_next::Transport>::RecvBuffer as ::fidl_next::AsDecoder<'de>>::Decoder,
1050            Constraint = (),
1051        >,
1052{
1053    async fn on_one_way(
1054        handler: &mut ___H,
1055        mut message: ::fidl_next::Message<___T>,
1056    ) -> ::core::result::Result<
1057        (),
1058        ::fidl_next::ProtocolError<<___T as ::fidl_next::Transport>::Error>,
1059    > {
1060        match *message.header().ordinal {
1061            ordinal => Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal)),
1062        }
1063    }
1064
1065    async fn on_two_way(
1066        handler: &mut ___H,
1067        mut message: ::fidl_next::Message<___T>,
1068        responder: ::fidl_next::protocol::Responder<___T>,
1069    ) -> ::core::result::Result<
1070        (),
1071        ::fidl_next::ProtocolError<<___T as ::fidl_next::Transport>::Error>,
1072    > {
1073        match *message.header().ordinal {
1074            6399474108337708832 => {
1075                let responder = ::fidl_next::Responder::from_untyped(responder);
1076
1077                handler.get_device_info(responder).await;
1078                Ok(())
1079            }
1080
1081            2199356259956099574 => {
1082                let responder = ::fidl_next::Responder::from_untyped(responder);
1083
1084                match ::fidl_next::AsDecoderExt::into_decoded(message) {
1085                    Ok(decoded) => {
1086                        handler
1087                            .request(::fidl_next::Request::from_decoded(decoded), responder)
1088                            .await;
1089                        Ok(())
1090                    }
1091                    Err(error) => Err(::fidl_next::ProtocolError::InvalidMessage {
1092                        ordinal: 2199356259956099574,
1093                        error,
1094                    }),
1095                }
1096            }
1097
1098            ordinal => Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal)),
1099        }
1100    }
1101}
1102
1103/// A client handler for the DriverRpmb protocol.
1104///
1105/// See [`DriverRpmb`] for more details.
1106pub trait DriverRpmbClientHandler<
1107    #[cfg(feature = "driver")] ___T: ::fidl_next::Transport = ::fdf_fidl::DriverChannel,
1108    #[cfg(not(feature = "driver"))] ___T: ::fidl_next::Transport,
1109>
1110{
1111}
1112
1113impl<___H, ___T> ::fidl_next::DispatchClientMessage<___H, ___T> for DriverRpmb
1114where
1115    ___H: DriverRpmbClientHandler<___T> + ::core::marker::Send,
1116    ___T: ::fidl_next::Transport,
1117{
1118    async fn on_event(
1119        handler: &mut ___H,
1120        mut message: ::fidl_next::Message<___T>,
1121    ) -> ::core::result::Result<(), ::fidl_next::ProtocolError<___T::Error>> {
1122        match *message.header().ordinal {
1123            ordinal => Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal)),
1124        }
1125    }
1126}
1127
1128/// A server handler for the DriverRpmb protocol.
1129///
1130/// See [`DriverRpmb`] for more details.
1131pub trait DriverRpmbServerHandler<
1132    #[cfg(feature = "driver")] ___T: ::fidl_next::Transport = ::fdf_fidl::DriverChannel,
1133    #[cfg(not(feature = "driver"))] ___T: ::fidl_next::Transport,
1134>
1135{
1136    fn get_device_info(
1137        &mut self,
1138
1139        responder: ::fidl_next::Responder<driver_rpmb::GetDeviceInfo, ___T>,
1140    ) -> impl ::core::future::Future<Output = ()> + ::core::marker::Send;
1141
1142    fn request(
1143        &mut self,
1144
1145        request: ::fidl_next::Request<driver_rpmb::Request, ___T>,
1146
1147        responder: ::fidl_next::Responder<driver_rpmb::Request, ___T>,
1148    ) -> impl ::core::future::Future<Output = ()> + ::core::marker::Send;
1149}
1150
1151impl<___H, ___T> ::fidl_next::DispatchServerMessage<___H, ___T> for DriverRpmb
1152where
1153    ___H: DriverRpmbServerHandler<___T> + ::core::marker::Send,
1154    ___T: ::fidl_next::Transport,
1155    for<'de> crate::wire::RpmbRequestRequest<'de>: ::fidl_next::Decode<
1156            <<___T as ::fidl_next::Transport>::RecvBuffer as ::fidl_next::AsDecoder<'de>>::Decoder,
1157            Constraint = (),
1158        >,
1159{
1160    async fn on_one_way(
1161        handler: &mut ___H,
1162        mut message: ::fidl_next::Message<___T>,
1163    ) -> ::core::result::Result<
1164        (),
1165        ::fidl_next::ProtocolError<<___T as ::fidl_next::Transport>::Error>,
1166    > {
1167        match *message.header().ordinal {
1168            ordinal => Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal)),
1169        }
1170    }
1171
1172    async fn on_two_way(
1173        handler: &mut ___H,
1174        mut message: ::fidl_next::Message<___T>,
1175        responder: ::fidl_next::protocol::Responder<___T>,
1176    ) -> ::core::result::Result<
1177        (),
1178        ::fidl_next::ProtocolError<<___T as ::fidl_next::Transport>::Error>,
1179    > {
1180        match *message.header().ordinal {
1181            6399474108337708832 => {
1182                let responder = ::fidl_next::Responder::from_untyped(responder);
1183
1184                handler.get_device_info(responder).await;
1185                Ok(())
1186            }
1187
1188            2199356259956099574 => {
1189                let responder = ::fidl_next::Responder::from_untyped(responder);
1190
1191                match ::fidl_next::AsDecoderExt::into_decoded(message) {
1192                    Ok(decoded) => {
1193                        handler
1194                            .request(::fidl_next::Request::from_decoded(decoded), responder)
1195                            .await;
1196                        Ok(())
1197                    }
1198                    Err(error) => Err(::fidl_next::ProtocolError::InvalidMessage {
1199                        ordinal: 2199356259956099574,
1200                        error,
1201                    }),
1202                }
1203            }
1204
1205            ordinal => Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal)),
1206        }
1207    }
1208}
1209
1210impl<___T> DriverRpmbClientHandler<___T> for ::fidl_next::IgnoreEvents where
1211    ___T: ::fidl_next::Transport
1212{
1213}
1214
1215impl<___H, ___T> DriverRpmbLocalClientHandler<___T> for ::fidl_next::Local<___H>
1216where
1217    ___H: DriverRpmbClientHandler<___T>,
1218    ___T: ::fidl_next::Transport,
1219{
1220}
1221
1222impl<___H, ___T> DriverRpmbLocalServerHandler<___T> for ::fidl_next::Local<___H>
1223where
1224    ___H: DriverRpmbServerHandler<___T>,
1225    ___T: ::fidl_next::Transport,
1226{
1227    async fn get_device_info(
1228        &mut self,
1229
1230        responder: ::fidl_next::Responder<driver_rpmb::GetDeviceInfo, ___T>,
1231    ) {
1232        ___H::get_device_info(&mut self.0, responder).await
1233    }
1234
1235    async fn request(
1236        &mut self,
1237
1238        request: ::fidl_next::Request<driver_rpmb::Request, ___T>,
1239
1240        responder: ::fidl_next::Responder<driver_rpmb::Request, ___T>,
1241    ) {
1242        ___H::request(&mut self.0, request, responder).await
1243    }
1244}
1245
1246/// The type corresponding to the Service service.
1247#[derive(Debug)]
1248pub struct Service;
1249
1250impl ::fidl_next::DiscoverableService for Service {
1251    const SERVICE_NAME: &'static str = "fuchsia.hardware.rpmb.Service";
1252    const MEMBER_NAMES: &'static [&'static str] = &["device"];
1253}
1254
1255impl ::fidl_next::HasServiceRequest<::fidl_next::fuchsia::zx::Channel> for Service {}
1256
1257impl<___C> ::fidl_next::Service<___C> for Service
1258where
1259    ___C: ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>,
1260{
1261    type Connector = ServiceConnector<___C>;
1262}
1263
1264/// A strongly-typed service connector for the `Service` service.
1265#[repr(transparent)]
1266pub struct ServiceConnector<___C> {
1267    #[allow(dead_code)]
1268    connector: ___C,
1269}
1270
1271impl<___C> ServiceConnector<___C>
1272where
1273    ___C: ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>,
1274{
1275    /// Attempts to connect to the `device` service member.
1276    pub fn device(
1277        &self,
1278        server_end: ::fidl_next::ServerEnd<crate::Rpmb, ::fidl_next::fuchsia::zx::Channel>,
1279    ) -> ::core::result::Result<
1280        (),
1281        <___C as ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>>::Error,
1282    > {
1283        ::fidl_next::protocol::ServiceConnector::<
1284                ::fidl_next::fuchsia::zx::Channel
1285            >::connect_to_member(
1286                &self.connector,
1287                "device",
1288                server_end.into_untyped(),
1289            )
1290    }
1291}
1292
1293/// A service handler for the `Service` service.
1294pub trait ServiceHandler {
1295    /// Handles an attempt to connect to the `device` member.
1296    fn device(
1297        &self,
1298        server_end: ::fidl_next::ServerEnd<crate::Rpmb, ::fidl_next::fuchsia::zx::Channel>,
1299    );
1300}
1301
1302impl<___H, ___T> ::fidl_next::DispatchServiceHandler<___H, ___T> for Service
1303where
1304    ___H: ServiceHandler,
1305    ::fidl_next::fuchsia::zx::Channel: ::fidl_next::InstanceFromServiceTransport<___T>,
1306{
1307    fn on_connection(handler: &___H, member: &str, server_end: ___T) {
1308        use ::fidl_next::InstanceFromServiceTransport;
1309        match member {
1310            "device" => handler.device(::fidl_next::ServerEnd::from_untyped(
1311                ::fidl_next::fuchsia::zx::Channel::from_service_transport(server_end),
1312            )),
1313
1314            _ => unreachable!(),
1315        }
1316    }
1317}
1318
1319pub use fidl_next_common_fuchsia_hardware_rpmb::*;