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_hardware_power::natural::*;
8
9 #[derive(Debug, PartialEq)]
10 #[repr(C)]
11 pub struct PowerTokenProviderGetTokenResponse {
12 pub handle: ::fidl_next::fuchsia::zx::Event,
13 }
14
15 unsafe impl<___E> ::fidl_next::Encode<crate::wire::PowerTokenProviderGetTokenResponse, ___E>
16 for PowerTokenProviderGetTokenResponse
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::PowerTokenProviderGetTokenResponse,
24 > = unsafe {
25 ::fidl_next::CopyOptimization::enable_if(
26 true && <::fidl_next::fuchsia::zx::Event as ::fidl_next::Encode<
27 ::fidl_next::wire::fuchsia::Event,
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::PowerTokenProviderGetTokenResponse>,
39 _: (),
40 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
41 ::fidl_next::munge! {
42 let crate::wire::PowerTokenProviderGetTokenResponse {
43 handle,
44
45 } = out_;
46 }
47
48 ::fidl_next::Encode::encode(self.handle, encoder_, handle, ())?;
49
50 let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(handle.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::PowerTokenProviderGetTokenResponse>,
59 ___E,
60 > for PowerTokenProviderGetTokenResponse
61 where
62 ___E: ::fidl_next::Encoder + ?Sized,
63 PowerTokenProviderGetTokenResponse:
64 ::fidl_next::Encode<crate::wire::PowerTokenProviderGetTokenResponse, ___E>,
65 {
66 #[inline]
67 fn encode_option(
68 this: ::core::option::Option<Self>,
69 encoder: &mut ___E,
70 out: &mut ::core::mem::MaybeUninit<
71 ::fidl_next::wire::Box<'static, crate::wire::PowerTokenProviderGetTokenResponse>,
72 >,
73 _: (),
74 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
75 if let Some(inner) = this {
76 ::fidl_next::EncoderExt::encode_next(encoder, inner)?;
77 ::fidl_next::wire::Box::encode_present(out);
78 } else {
79 ::fidl_next::wire::Box::encode_absent(out);
80 }
81
82 Ok(())
83 }
84 }
85
86 impl ::fidl_next::FromWire<crate::wire::PowerTokenProviderGetTokenResponse>
87 for PowerTokenProviderGetTokenResponse
88 {
89 const COPY_OPTIMIZATION: ::fidl_next::CopyOptimization<
90 crate::wire::PowerTokenProviderGetTokenResponse,
91 Self,
92 > = unsafe {
93 ::fidl_next::CopyOptimization::enable_if(
94 true && <::fidl_next::fuchsia::zx::Event as ::fidl_next::FromWire<
95 ::fidl_next::wire::fuchsia::Event,
96 >>::COPY_OPTIMIZATION
97 .is_enabled(),
98 )
99 };
100
101 #[inline]
102 fn from_wire(wire: crate::wire::PowerTokenProviderGetTokenResponse) -> Self {
103 Self { handle: ::fidl_next::FromWire::from_wire(wire.handle) }
104 }
105 }
106}
107
108pub mod wire {
109
110 pub use fidl_next_common_fuchsia_hardware_power::wire::*;
111
112 #[derive(Debug)]
114 #[repr(C)]
115 pub struct PowerTokenProviderGetTokenResponse {
116 pub handle: ::fidl_next::wire::fuchsia::Event,
117 }
118
119 static_assertions::const_assert_eq!(
120 std::mem::size_of::<PowerTokenProviderGetTokenResponse>(),
121 4
122 );
123 static_assertions::const_assert_eq!(
124 std::mem::align_of::<PowerTokenProviderGetTokenResponse>(),
125 4
126 );
127
128 static_assertions::const_assert_eq!(
129 std::mem::offset_of!(PowerTokenProviderGetTokenResponse, handle),
130 0
131 );
132
133 impl ::fidl_next::Constrained for PowerTokenProviderGetTokenResponse {
134 type Constraint = ();
135
136 fn validate(
137 _: ::fidl_next::Slot<'_, Self>,
138 _: Self::Constraint,
139 ) -> Result<(), ::fidl_next::ValidationError> {
140 Ok(())
141 }
142 }
143
144 unsafe impl ::fidl_next::Wire for PowerTokenProviderGetTokenResponse {
145 type Narrowed<'de> = PowerTokenProviderGetTokenResponse;
146
147 #[inline]
148 fn zero_padding(out_: &mut ::core::mem::MaybeUninit<Self>) {
149 ::fidl_next::munge! {
150 let Self {
151 handle,
152
153 } = &mut *out_;
154 }
155
156 ::fidl_next::Wire::zero_padding(handle);
157 }
158 }
159
160 unsafe impl<___D> ::fidl_next::Decode<___D> for PowerTokenProviderGetTokenResponse
161 where
162 ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
163 ___D: ::fidl_next::fuchsia::HandleDecoder,
164 {
165 fn decode(
166 slot_: ::fidl_next::Slot<'_, Self>,
167 decoder_: &mut ___D,
168 _: (),
169 ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
170 ::fidl_next::munge! {
171 let Self {
172 mut handle,
173
174 } = slot_;
175 }
176
177 let _field = handle.as_mut();
178
179 ::fidl_next::Decode::decode(handle.as_mut(), decoder_, ())?;
180
181 Ok(())
182 }
183 }
184
185 impl ::fidl_next::IntoNatural for PowerTokenProviderGetTokenResponse {
186 type Natural = crate::natural::PowerTokenProviderGetTokenResponse;
187 }
188}
189
190pub mod wire_optional {
191
192 pub use fidl_next_common_fuchsia_hardware_power::wire_optional::*;
193}
194
195pub mod generic {
196
197 pub use fidl_next_common_fuchsia_hardware_power::generic::*;
198
199 pub struct PowerTokenProviderGetTokenResponse<T0> {
201 pub handle: T0,
202 }
203
204 unsafe impl<___E, T0> ::fidl_next::Encode<crate::wire::PowerTokenProviderGetTokenResponse, ___E>
205 for PowerTokenProviderGetTokenResponse<T0>
206 where
207 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
208 ___E: ::fidl_next::fuchsia::HandleEncoder,
209 T0: ::fidl_next::Encode<::fidl_next::wire::fuchsia::Event, ___E>,
210 {
211 #[inline]
212 fn encode(
213 self,
214 encoder_: &mut ___E,
215 out_: &mut ::core::mem::MaybeUninit<crate::wire::PowerTokenProviderGetTokenResponse>,
216 _: (),
217 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
218 ::fidl_next::munge! {
219 let crate::wire::PowerTokenProviderGetTokenResponse {
220 handle,
221
222 } = out_;
223 }
224
225 ::fidl_next::Encode::encode(self.handle, encoder_, handle, ())?;
226
227 Ok(())
228 }
229 }
230}
231
232pub use self::natural::*;
233
234#[derive(PartialEq, Debug)]
236pub struct PowerTokenProvider;
237
238impl ::fidl_next::Discoverable for PowerTokenProvider {
239 const PROTOCOL_NAME: &'static str = "fuchsia.hardware.power.PowerTokenProvider";
240}
241
242#[cfg(target_os = "fuchsia")]
243impl ::fidl_next::HasTransport for PowerTokenProvider {
244 type Transport = ::fidl_next::fuchsia::zx::Channel;
245}
246
247pub mod power_token_provider {
248 pub mod prelude {
249 pub use crate::{
250 PowerTokenProvider, PowerTokenProviderClientHandler,
251 PowerTokenProviderLocalClientHandler, PowerTokenProviderLocalServerHandler,
252 PowerTokenProviderServerHandler, power_token_provider,
253 };
254
255 pub use crate::natural::PowerTokenProviderGetTokenResponse;
256 }
257
258 pub struct GetToken;
259
260 impl ::fidl_next::Method for GetToken {
261 const ORDINAL: u64 = 2926448721688236234;
262 const FLEXIBILITY: ::fidl_next::protocol::Flexibility =
263 ::fidl_next::protocol::Flexibility::Flexible;
264
265 type Protocol = crate::PowerTokenProvider;
266
267 type Request = ::fidl_next::wire::EmptyMessageBody;
268 }
269
270 impl ::fidl_next::TwoWayMethod for GetToken {
271 type Response = ::fidl_next::wire::Result<
272 'static,
273 crate::wire::PowerTokenProviderGetTokenResponse,
274 ::fidl_next::wire::fuchsia::Status,
275 >;
276 }
277
278 impl<___R> ::fidl_next::Respond<___R> for GetToken {
279 type Output = ::core::result::Result<
280 crate::generic::PowerTokenProviderGetTokenResponse<___R>,
281 ::fidl_next::never::Never,
282 >;
283
284 fn respond(response: ___R) -> Self::Output {
285 ::core::result::Result::Ok(crate::generic::PowerTokenProviderGetTokenResponse {
286 handle: response,
287 })
288 }
289 }
290
291 impl<___R> ::fidl_next::RespondErr<___R> for GetToken {
292 type Output = ::core::result::Result<::fidl_next::never::Never, ___R>;
293
294 fn respond_err(response: ___R) -> Self::Output {
295 ::core::result::Result::Err(response)
296 }
297 }
298
299 mod ___detail {
300 unsafe impl<___T> ::fidl_next::HasConnectionHandles<___T> for crate::PowerTokenProvider
301 where
302 ___T: ::fidl_next::Transport,
303 {
304 type Client = PowerTokenProviderClient<___T>;
305 type Server = PowerTokenProviderServer<___T>;
306 }
307
308 #[repr(transparent)]
310 pub struct PowerTokenProviderClient<___T: ::fidl_next::Transport> {
311 #[allow(dead_code)]
312 client: ::fidl_next::protocol::Client<___T>,
313 }
314
315 impl<___T> PowerTokenProviderClient<___T>
316 where
317 ___T: ::fidl_next::Transport,
318 {
319 #[doc = " Returns a token which can be used with `fuchsia.power.broker` APIs to\n create a relationship between this driver\'s power element(s) and the\n power element this token is associated with.\n"]
320 pub fn get_token(&self) -> ::fidl_next::TwoWayFuture<'_, super::GetToken, ___T> {
321 ::fidl_next::TwoWayFuture::from_untyped(
322 self.client.send_two_way::<::fidl_next::wire::EmptyMessageBody>(
323 2926448721688236234,
324 <super::GetToken as ::fidl_next::Method>::FLEXIBILITY,
325 (),
326 ),
327 )
328 }
329 }
330
331 #[repr(transparent)]
333 pub struct PowerTokenProviderServer<___T: ::fidl_next::Transport> {
334 server: ::fidl_next::protocol::Server<___T>,
335 }
336
337 impl<___T> PowerTokenProviderServer<___T> where ___T: ::fidl_next::Transport {}
338 }
339}
340
341#[diagnostic::on_unimplemented(
342 note = "If {Self} implements the non-local PowerTokenProviderClientHandler trait, use `spawn_as_local` or the `Local` adapter type"
343)]
344
345pub trait PowerTokenProviderLocalClientHandler<
349 #[cfg(target_os = "fuchsia")] ___T: ::fidl_next::Transport = ::fidl_next::fuchsia::zx::Channel,
350 #[cfg(not(target_os = "fuchsia"))] ___T: ::fidl_next::Transport,
351>
352{
353 fn on_unknown_interaction(&mut self, ordinal: u64) -> impl ::core::future::Future<Output = ()> {
354 ::core::future::ready(())
355 }
356}
357
358impl<___H, ___T> ::fidl_next::DispatchLocalClientMessage<___H, ___T> for PowerTokenProvider
359where
360 ___H: PowerTokenProviderLocalClientHandler<___T>,
361 ___T: ::fidl_next::Transport,
362{
363 async fn on_event(
364 handler: &mut ___H,
365 mut message: ::fidl_next::Message<___T>,
366 ) -> ::core::result::Result<(), ::fidl_next::ProtocolError<___T::Error>> {
367 match *message.header().ordinal {
368 ordinal => {
369 handler.on_unknown_interaction(ordinal).await;
370 if ::core::matches!(
371 message.header().flexibility(),
372 ::fidl_next::protocol::Flexibility::Strict
373 ) {
374 Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal))
375 } else {
376 Ok(())
377 }
378 }
379 }
380 }
381}
382
383#[diagnostic::on_unimplemented(
384 note = "If {Self} implements the non-local PowerTokenProviderServerHandler trait, use `spawn_as_local` or the `Local` adapter type"
385)]
386
387pub trait PowerTokenProviderLocalServerHandler<
391 #[cfg(target_os = "fuchsia")] ___T: ::fidl_next::Transport = ::fidl_next::fuchsia::zx::Channel,
392 #[cfg(not(target_os = "fuchsia"))] ___T: ::fidl_next::Transport,
393>
394{
395 #[doc = " Returns a token which can be used with `fuchsia.power.broker` APIs to\n create a relationship between this driver\'s power element(s) and the\n power element this token is associated with.\n"]
396 fn get_token(
397 &mut self,
398
399 responder: ::fidl_next::Responder<power_token_provider::GetToken, ___T>,
400 ) -> impl ::core::future::Future<Output = ()>;
401
402 fn on_unknown_interaction(&mut self, ordinal: u64) -> impl ::core::future::Future<Output = ()> {
403 ::core::future::ready(())
404 }
405}
406
407impl<___H, ___T> ::fidl_next::DispatchLocalServerMessage<___H, ___T> for PowerTokenProvider
408where
409 ___H: PowerTokenProviderLocalServerHandler<___T>,
410 ___T: ::fidl_next::Transport,
411{
412 async fn on_one_way(
413 handler: &mut ___H,
414 mut message: ::fidl_next::Message<___T>,
415 ) -> ::core::result::Result<
416 (),
417 ::fidl_next::ProtocolError<<___T as ::fidl_next::Transport>::Error>,
418 > {
419 match *message.header().ordinal {
420 ordinal => {
421 handler.on_unknown_interaction(ordinal).await;
422 if ::core::matches!(
423 message.header().flexibility(),
424 ::fidl_next::protocol::Flexibility::Strict
425 ) {
426 Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal))
427 } else {
428 Ok(())
429 }
430 }
431 }
432 }
433
434 async fn on_two_way(
435 handler: &mut ___H,
436 mut message: ::fidl_next::Message<___T>,
437 responder: ::fidl_next::protocol::Responder<___T>,
438 ) -> ::core::result::Result<
439 (),
440 ::fidl_next::ProtocolError<<___T as ::fidl_next::Transport>::Error>,
441 > {
442 match *message.header().ordinal {
443 2926448721688236234 => {
444 let responder = ::fidl_next::Responder::from_untyped(responder);
445
446 handler.get_token(responder).await;
447 Ok(())
448 }
449
450 ordinal => {
451 handler.on_unknown_interaction(ordinal).await;
452 if ::core::matches!(
453 message.header().flexibility(),
454 ::fidl_next::protocol::Flexibility::Strict
455 ) {
456 Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal))
457 } else {
458 responder
459 .respond_framework_error(
460 ordinal,
461 ::fidl_next::FrameworkError::UnknownMethod,
462 )
463 .expect("encoding a framework error should never fail")
464 .await?;
465 Ok(())
466 }
467 }
468 }
469 }
470}
471
472pub trait PowerTokenProviderClientHandler<
476 #[cfg(target_os = "fuchsia")] ___T: ::fidl_next::Transport = ::fidl_next::fuchsia::zx::Channel,
477 #[cfg(not(target_os = "fuchsia"))] ___T: ::fidl_next::Transport,
478>
479{
480 fn on_unknown_interaction(
481 &mut self,
482 ordinal: u64,
483 ) -> impl ::core::future::Future<Output = ()> + ::core::marker::Send {
484 ::core::future::ready(())
485 }
486}
487
488impl<___H, ___T> ::fidl_next::DispatchClientMessage<___H, ___T> for PowerTokenProvider
489where
490 ___H: PowerTokenProviderClientHandler<___T> + ::core::marker::Send,
491 ___T: ::fidl_next::Transport,
492{
493 async fn on_event(
494 handler: &mut ___H,
495 mut message: ::fidl_next::Message<___T>,
496 ) -> ::core::result::Result<(), ::fidl_next::ProtocolError<___T::Error>> {
497 match *message.header().ordinal {
498 ordinal => {
499 handler.on_unknown_interaction(ordinal).await;
500 if ::core::matches!(
501 message.header().flexibility(),
502 ::fidl_next::protocol::Flexibility::Strict
503 ) {
504 Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal))
505 } else {
506 Ok(())
507 }
508 }
509 }
510 }
511}
512
513pub trait PowerTokenProviderServerHandler<
517 #[cfg(target_os = "fuchsia")] ___T: ::fidl_next::Transport = ::fidl_next::fuchsia::zx::Channel,
518 #[cfg(not(target_os = "fuchsia"))] ___T: ::fidl_next::Transport,
519>
520{
521 #[doc = " Returns a token which can be used with `fuchsia.power.broker` APIs to\n create a relationship between this driver\'s power element(s) and the\n power element this token is associated with.\n"]
522 fn get_token(
523 &mut self,
524
525 responder: ::fidl_next::Responder<power_token_provider::GetToken, ___T>,
526 ) -> impl ::core::future::Future<Output = ()> + ::core::marker::Send;
527
528 fn on_unknown_interaction(
529 &mut self,
530 ordinal: u64,
531 ) -> impl ::core::future::Future<Output = ()> + ::core::marker::Send {
532 ::core::future::ready(())
533 }
534}
535
536impl<___H, ___T> ::fidl_next::DispatchServerMessage<___H, ___T> for PowerTokenProvider
537where
538 ___H: PowerTokenProviderServerHandler<___T> + ::core::marker::Send,
539 ___T: ::fidl_next::Transport,
540{
541 async fn on_one_way(
542 handler: &mut ___H,
543 mut message: ::fidl_next::Message<___T>,
544 ) -> ::core::result::Result<
545 (),
546 ::fidl_next::ProtocolError<<___T as ::fidl_next::Transport>::Error>,
547 > {
548 match *message.header().ordinal {
549 ordinal => {
550 handler.on_unknown_interaction(ordinal).await;
551 if ::core::matches!(
552 message.header().flexibility(),
553 ::fidl_next::protocol::Flexibility::Strict
554 ) {
555 Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal))
556 } else {
557 Ok(())
558 }
559 }
560 }
561 }
562
563 async fn on_two_way(
564 handler: &mut ___H,
565 mut message: ::fidl_next::Message<___T>,
566 responder: ::fidl_next::protocol::Responder<___T>,
567 ) -> ::core::result::Result<
568 (),
569 ::fidl_next::ProtocolError<<___T as ::fidl_next::Transport>::Error>,
570 > {
571 match *message.header().ordinal {
572 2926448721688236234 => {
573 let responder = ::fidl_next::Responder::from_untyped(responder);
574
575 handler.get_token(responder).await;
576 Ok(())
577 }
578
579 ordinal => {
580 handler.on_unknown_interaction(ordinal).await;
581 if ::core::matches!(
582 message.header().flexibility(),
583 ::fidl_next::protocol::Flexibility::Strict
584 ) {
585 Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal))
586 } else {
587 responder
588 .respond_framework_error(
589 ordinal,
590 ::fidl_next::FrameworkError::UnknownMethod,
591 )
592 .expect("encoding a framework error should never fail")
593 .await?;
594 Ok(())
595 }
596 }
597 }
598 }
599}
600
601impl<___T> PowerTokenProviderClientHandler<___T> for ::fidl_next::IgnoreEvents
602where
603 ___T: ::fidl_next::Transport,
604{
605 async fn on_unknown_interaction(&mut self, _: u64) {}
606}
607
608impl<___H, ___T> PowerTokenProviderLocalClientHandler<___T> for ::fidl_next::Local<___H>
609where
610 ___H: PowerTokenProviderClientHandler<___T>,
611 ___T: ::fidl_next::Transport,
612{
613 async fn on_unknown_interaction(&mut self, ordinal: u64) {
614 ___H::on_unknown_interaction(&mut self.0, ordinal).await
615 }
616}
617
618impl<___H, ___T> PowerTokenProviderLocalServerHandler<___T> for ::fidl_next::Local<___H>
619where
620 ___H: PowerTokenProviderServerHandler<___T>,
621 ___T: ::fidl_next::Transport,
622{
623 async fn get_token(
624 &mut self,
625
626 responder: ::fidl_next::Responder<power_token_provider::GetToken, ___T>,
627 ) {
628 ___H::get_token(&mut self.0, responder).await
629 }
630
631 async fn on_unknown_interaction(&mut self, ordinal: u64) {
632 ___H::on_unknown_interaction(&mut self.0, ordinal).await
633 }
634}
635
636#[derive(Debug)]
638pub struct PowerTokenService;
639
640impl ::fidl_next::DiscoverableService for PowerTokenService {
641 const SERVICE_NAME: &'static str = "fuchsia.hardware.power.PowerTokenService";
642 const MEMBER_NAMES: &'static [&'static str] = &["token_provider"];
643}
644
645impl ::fidl_next::HasServiceRequest<::fidl_next::fuchsia::zx::Channel> for PowerTokenService {}
646
647impl<___C> ::fidl_next::Service<___C> for PowerTokenService
648where
649 ___C: ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>,
650{
651 type Connector = PowerTokenServiceConnector<___C>;
652}
653
654#[repr(transparent)]
656pub struct PowerTokenServiceConnector<___C> {
657 #[allow(dead_code)]
658 connector: ___C,
659}
660
661impl<___C> PowerTokenServiceConnector<___C>
662where
663 ___C: ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>,
664{
665 pub fn token_provider(
667 &self,
668 server_end: ::fidl_next::ServerEnd<
669 crate::PowerTokenProvider,
670 ::fidl_next::fuchsia::zx::Channel,
671 >,
672 ) -> ::core::result::Result<
673 (),
674 <___C as ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>>::Error,
675 > {
676 ::fidl_next::protocol::ServiceConnector::<
677 ::fidl_next::fuchsia::zx::Channel
678 >::connect_to_member(
679 &self.connector,
680 "token_provider",
681 server_end.into_untyped(),
682 )
683 }
684}
685
686pub trait PowerTokenServiceHandler {
688 fn token_provider(
690 &self,
691 server_end: ::fidl_next::ServerEnd<
692 crate::PowerTokenProvider,
693 ::fidl_next::fuchsia::zx::Channel,
694 >,
695 );
696}
697
698impl<___H, ___T> ::fidl_next::DispatchServiceHandler<___H, ___T> for PowerTokenService
699where
700 ___H: PowerTokenServiceHandler,
701 ::fidl_next::fuchsia::zx::Channel: ::fidl_next::InstanceFromServiceTransport<___T>,
702{
703 fn on_connection(handler: &___H, member: &str, server_end: ___T) {
704 use ::fidl_next::InstanceFromServiceTransport;
705 match member {
706 "token_provider" => handler.token_provider(::fidl_next::ServerEnd::from_untyped(
707 ::fidl_next::fuchsia::zx::Channel::from_service_transport(server_end),
708 )),
709
710 _ => unreachable!(),
711 }
712 }
713}
714
715#[derive(Debug)]
717pub struct Service;
718
719impl ::fidl_next::DiscoverableService for Service {
720 const SERVICE_NAME: &'static str = "fuchsia.hardware.power.Service";
721 const MEMBER_NAMES: &'static [&'static str] = &["device"];
722}
723
724impl ::fidl_next::HasServiceRequest<::fidl_next::fuchsia::zx::Channel> for Service {}
725
726impl<___C> ::fidl_next::Service<___C> for Service
727where
728 ___C: ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>,
729{
730 type Connector = ServiceConnector<___C>;
731}
732
733#[repr(transparent)]
735pub struct ServiceConnector<___C> {
736 #[allow(dead_code)]
737 connector: ___C,
738}
739
740impl<___C> ServiceConnector<___C>
741where
742 ___C: ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>,
743{
744 pub fn device(
746 &self,
747 server_end: ::fidl_next::ServerEnd<crate::Device, ::fidl_next::fuchsia::zx::Channel>,
748 ) -> ::core::result::Result<
749 (),
750 <___C as ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>>::Error,
751 > {
752 ::fidl_next::protocol::ServiceConnector::<
753 ::fidl_next::fuchsia::zx::Channel
754 >::connect_to_member(
755 &self.connector,
756 "device",
757 server_end.into_untyped(),
758 )
759 }
760}
761
762pub trait ServiceHandler {
764 fn device(
766 &self,
767 server_end: ::fidl_next::ServerEnd<crate::Device, ::fidl_next::fuchsia::zx::Channel>,
768 );
769}
770
771impl<___H, ___T> ::fidl_next::DispatchServiceHandler<___H, ___T> for Service
772where
773 ___H: ServiceHandler,
774 ::fidl_next::fuchsia::zx::Channel: ::fidl_next::InstanceFromServiceTransport<___T>,
775{
776 fn on_connection(handler: &___H, member: &str, server_end: ___T) {
777 use ::fidl_next::InstanceFromServiceTransport;
778 match member {
779 "device" => handler.device(::fidl_next::ServerEnd::from_untyped(
780 ::fidl_next::fuchsia::zx::Channel::from_service_transport(server_end),
781 )),
782
783 _ => unreachable!(),
784 }
785 }
786}
787
788pub use fidl_next_common_fuchsia_hardware_power::*;