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 unsafe impl<'a, ___E, T0>
232 ::fidl_next::Encode<crate::wire::PowerTokenProviderGetTokenResponse, ___E>
233 for &'a PowerTokenProviderGetTokenResponse<T0>
234 where
235 ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
236 ___E: ::fidl_next::fuchsia::HandleEncoder,
237 &'a T0: ::fidl_next::Encode<::fidl_next::wire::fuchsia::Event, ___E>,
238 {
239 #[inline]
240 fn encode(
241 self,
242 encoder_: &mut ___E,
243 out_: &mut ::core::mem::MaybeUninit<crate::wire::PowerTokenProviderGetTokenResponse>,
244 _: (),
245 ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
246 ::fidl_next::munge! {
247 let crate::wire::PowerTokenProviderGetTokenResponse {
248 handle,
249
250 } = out_;
251 }
252
253 ::fidl_next::Encode::encode(&self.handle, encoder_, handle, ())?;
254
255 Ok(())
256 }
257 }
258}
259
260pub use self::natural::*;
261
262#[derive(PartialEq, Debug)]
264pub struct PowerTokenProvider;
265
266impl ::fidl_next::Discoverable for PowerTokenProvider {
267 const PROTOCOL_NAME: &'static str = "fuchsia.hardware.power.PowerTokenProvider";
268}
269
270#[cfg(target_os = "fuchsia")]
271impl ::fidl_next::HasTransport for PowerTokenProvider {
272 type Transport = ::fidl_next::fuchsia::zx::Channel;
273}
274
275pub mod power_token_provider {
276 pub mod prelude {
277 pub use crate::{
278 PowerTokenProvider, PowerTokenProviderClientHandler,
279 PowerTokenProviderLocalClientHandler, PowerTokenProviderLocalServerHandler,
280 PowerTokenProviderServerHandler, power_token_provider,
281 };
282
283 pub use crate::natural::PowerTokenProviderGetTokenResponse;
284 }
285
286 pub struct GetToken;
287
288 impl ::fidl_next::Method for GetToken {
289 const ORDINAL: u64 = 2926448721688236234;
290 const FLEXIBILITY: ::fidl_next::protocol::Flexibility =
291 ::fidl_next::protocol::Flexibility::Flexible;
292
293 type Protocol = crate::PowerTokenProvider;
294
295 type Request = ::fidl_next::wire::EmptyMessageBody;
296 }
297
298 impl ::fidl_next::TwoWayMethod for GetToken {
299 type Response = ::fidl_next::wire::Result<
300 'static,
301 crate::wire::PowerTokenProviderGetTokenResponse,
302 ::fidl_next::wire::fuchsia::Status,
303 >;
304 }
305
306 impl<___R> ::fidl_next::Respond<___R> for GetToken {
307 type Output = ::core::result::Result<
308 crate::generic::PowerTokenProviderGetTokenResponse<___R>,
309 ::fidl_next::never::Never,
310 >;
311
312 fn respond(response: ___R) -> Self::Output {
313 ::core::result::Result::Ok(crate::generic::PowerTokenProviderGetTokenResponse {
314 handle: response,
315 })
316 }
317 }
318
319 impl<___R> ::fidl_next::RespondErr<___R> for GetToken {
320 type Output = ::core::result::Result<::fidl_next::never::Never, ___R>;
321
322 fn respond_err(response: ___R) -> Self::Output {
323 ::core::result::Result::Err(response)
324 }
325 }
326
327 mod ___detail {
328 unsafe impl<___T> ::fidl_next::HasConnectionHandles<___T> for crate::PowerTokenProvider
329 where
330 ___T: ::fidl_next::Transport,
331 {
332 type Client = PowerTokenProviderClient<___T>;
333 type Server = PowerTokenProviderServer<___T>;
334 }
335
336 #[repr(transparent)]
338 pub struct PowerTokenProviderClient<___T: ::fidl_next::Transport> {
339 #[allow(dead_code)]
340 client: ::fidl_next::protocol::Client<___T>,
341 }
342
343 impl<___T> PowerTokenProviderClient<___T>
344 where
345 ___T: ::fidl_next::Transport,
346 {
347 #[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"]
348 pub fn get_token(&self) -> ::fidl_next::TwoWayFuture<'_, super::GetToken, ___T> {
349 ::fidl_next::TwoWayFuture::from_untyped(
350 self.client.send_two_way::<::fidl_next::wire::EmptyMessageBody>(
351 2926448721688236234,
352 <super::GetToken as ::fidl_next::Method>::FLEXIBILITY,
353 (),
354 ),
355 )
356 }
357 }
358
359 #[repr(transparent)]
361 pub struct PowerTokenProviderServer<___T: ::fidl_next::Transport> {
362 server: ::fidl_next::protocol::Server<___T>,
363 }
364
365 impl<___T> PowerTokenProviderServer<___T> where ___T: ::fidl_next::Transport {}
366 }
367}
368
369#[diagnostic::on_unimplemented(
370 note = "If {Self} implements the non-local PowerTokenProviderClientHandler trait, use `spawn_as_local` or the `Local` adapter type"
371)]
372
373pub trait PowerTokenProviderLocalClientHandler<
377 #[cfg(target_os = "fuchsia")] ___T: ::fidl_next::Transport = ::fidl_next::fuchsia::zx::Channel,
378 #[cfg(not(target_os = "fuchsia"))] ___T: ::fidl_next::Transport,
379>
380{
381 fn on_unknown_interaction(&mut self, ordinal: u64) -> impl ::core::future::Future<Output = ()> {
382 ::core::future::ready(())
383 }
384}
385
386impl<___H, ___T> ::fidl_next::DispatchLocalClientMessage<___H, ___T> for PowerTokenProvider
387where
388 ___H: PowerTokenProviderLocalClientHandler<___T>,
389 ___T: ::fidl_next::Transport,
390{
391 async fn on_event(
392 handler: &mut ___H,
393 mut message: ::fidl_next::Message<___T>,
394 ) -> ::core::result::Result<(), ::fidl_next::ProtocolError<___T::Error>> {
395 match *message.header().ordinal {
396 ordinal => {
397 handler.on_unknown_interaction(ordinal).await;
398 if ::core::matches!(
399 message.header().flexibility(),
400 ::fidl_next::protocol::Flexibility::Strict
401 ) {
402 Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal))
403 } else {
404 Ok(())
405 }
406 }
407 }
408 }
409}
410
411#[diagnostic::on_unimplemented(
412 note = "If {Self} implements the non-local PowerTokenProviderServerHandler trait, use `spawn_as_local` or the `Local` adapter type"
413)]
414
415pub trait PowerTokenProviderLocalServerHandler<
419 #[cfg(target_os = "fuchsia")] ___T: ::fidl_next::Transport = ::fidl_next::fuchsia::zx::Channel,
420 #[cfg(not(target_os = "fuchsia"))] ___T: ::fidl_next::Transport,
421>
422{
423 #[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"]
424 fn get_token(
425 &mut self,
426
427 responder: ::fidl_next::Responder<power_token_provider::GetToken, ___T>,
428 ) -> impl ::core::future::Future<Output = ()>;
429
430 fn on_unknown_interaction(&mut self, ordinal: u64) -> impl ::core::future::Future<Output = ()> {
431 ::core::future::ready(())
432 }
433}
434
435impl<___H, ___T> ::fidl_next::DispatchLocalServerMessage<___H, ___T> for PowerTokenProvider
436where
437 ___H: PowerTokenProviderLocalServerHandler<___T>,
438 ___T: ::fidl_next::Transport,
439{
440 async fn on_one_way(
441 handler: &mut ___H,
442 mut message: ::fidl_next::Message<___T>,
443 ) -> ::core::result::Result<
444 (),
445 ::fidl_next::ProtocolError<<___T as ::fidl_next::Transport>::Error>,
446 > {
447 match *message.header().ordinal {
448 ordinal => {
449 handler.on_unknown_interaction(ordinal).await;
450 if ::core::matches!(
451 message.header().flexibility(),
452 ::fidl_next::protocol::Flexibility::Strict
453 ) {
454 Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal))
455 } else {
456 Ok(())
457 }
458 }
459 }
460 }
461
462 async fn on_two_way(
463 handler: &mut ___H,
464 mut message: ::fidl_next::Message<___T>,
465 responder: ::fidl_next::protocol::Responder<___T>,
466 ) -> ::core::result::Result<
467 (),
468 ::fidl_next::ProtocolError<<___T as ::fidl_next::Transport>::Error>,
469 > {
470 match *message.header().ordinal {
471 2926448721688236234 => {
472 let responder = ::fidl_next::Responder::from_untyped(responder);
473
474 handler.get_token(responder).await;
475 Ok(())
476 }
477
478 ordinal => {
479 handler.on_unknown_interaction(ordinal).await;
480 if ::core::matches!(
481 message.header().flexibility(),
482 ::fidl_next::protocol::Flexibility::Strict
483 ) {
484 Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal))
485 } else {
486 responder
487 .respond_framework_error(
488 ordinal,
489 ::fidl_next::FrameworkError::UnknownMethod,
490 )
491 .expect("encoding a framework error should never fail")
492 .await?;
493 Ok(())
494 }
495 }
496 }
497 }
498}
499
500pub trait PowerTokenProviderClientHandler<
504 #[cfg(target_os = "fuchsia")] ___T: ::fidl_next::Transport = ::fidl_next::fuchsia::zx::Channel,
505 #[cfg(not(target_os = "fuchsia"))] ___T: ::fidl_next::Transport,
506>
507{
508 fn on_unknown_interaction(
509 &mut self,
510 ordinal: u64,
511 ) -> impl ::core::future::Future<Output = ()> + ::core::marker::Send {
512 ::core::future::ready(())
513 }
514}
515
516impl<___H, ___T> ::fidl_next::DispatchClientMessage<___H, ___T> for PowerTokenProvider
517where
518 ___H: PowerTokenProviderClientHandler<___T> + ::core::marker::Send,
519 ___T: ::fidl_next::Transport,
520{
521 async fn on_event(
522 handler: &mut ___H,
523 mut message: ::fidl_next::Message<___T>,
524 ) -> ::core::result::Result<(), ::fidl_next::ProtocolError<___T::Error>> {
525 match *message.header().ordinal {
526 ordinal => {
527 handler.on_unknown_interaction(ordinal).await;
528 if ::core::matches!(
529 message.header().flexibility(),
530 ::fidl_next::protocol::Flexibility::Strict
531 ) {
532 Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal))
533 } else {
534 Ok(())
535 }
536 }
537 }
538 }
539}
540
541pub trait PowerTokenProviderServerHandler<
545 #[cfg(target_os = "fuchsia")] ___T: ::fidl_next::Transport = ::fidl_next::fuchsia::zx::Channel,
546 #[cfg(not(target_os = "fuchsia"))] ___T: ::fidl_next::Transport,
547>
548{
549 #[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"]
550 fn get_token(
551 &mut self,
552
553 responder: ::fidl_next::Responder<power_token_provider::GetToken, ___T>,
554 ) -> impl ::core::future::Future<Output = ()> + ::core::marker::Send;
555
556 fn on_unknown_interaction(
557 &mut self,
558 ordinal: u64,
559 ) -> impl ::core::future::Future<Output = ()> + ::core::marker::Send {
560 ::core::future::ready(())
561 }
562}
563
564impl<___H, ___T> ::fidl_next::DispatchServerMessage<___H, ___T> for PowerTokenProvider
565where
566 ___H: PowerTokenProviderServerHandler<___T> + ::core::marker::Send,
567 ___T: ::fidl_next::Transport,
568{
569 async fn on_one_way(
570 handler: &mut ___H,
571 mut message: ::fidl_next::Message<___T>,
572 ) -> ::core::result::Result<
573 (),
574 ::fidl_next::ProtocolError<<___T as ::fidl_next::Transport>::Error>,
575 > {
576 match *message.header().ordinal {
577 ordinal => {
578 handler.on_unknown_interaction(ordinal).await;
579 if ::core::matches!(
580 message.header().flexibility(),
581 ::fidl_next::protocol::Flexibility::Strict
582 ) {
583 Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal))
584 } else {
585 Ok(())
586 }
587 }
588 }
589 }
590
591 async fn on_two_way(
592 handler: &mut ___H,
593 mut message: ::fidl_next::Message<___T>,
594 responder: ::fidl_next::protocol::Responder<___T>,
595 ) -> ::core::result::Result<
596 (),
597 ::fidl_next::ProtocolError<<___T as ::fidl_next::Transport>::Error>,
598 > {
599 match *message.header().ordinal {
600 2926448721688236234 => {
601 let responder = ::fidl_next::Responder::from_untyped(responder);
602
603 handler.get_token(responder).await;
604 Ok(())
605 }
606
607 ordinal => {
608 handler.on_unknown_interaction(ordinal).await;
609 if ::core::matches!(
610 message.header().flexibility(),
611 ::fidl_next::protocol::Flexibility::Strict
612 ) {
613 Err(::fidl_next::ProtocolError::UnknownOrdinal(ordinal))
614 } else {
615 responder
616 .respond_framework_error(
617 ordinal,
618 ::fidl_next::FrameworkError::UnknownMethod,
619 )
620 .expect("encoding a framework error should never fail")
621 .await?;
622 Ok(())
623 }
624 }
625 }
626 }
627}
628
629impl<___T> PowerTokenProviderClientHandler<___T> for ::fidl_next::IgnoreEvents
630where
631 ___T: ::fidl_next::Transport,
632{
633 async fn on_unknown_interaction(&mut self, _: u64) {}
634}
635
636impl<___H, ___T> PowerTokenProviderLocalClientHandler<___T> for ::fidl_next::Local<___H>
637where
638 ___H: PowerTokenProviderClientHandler<___T>,
639 ___T: ::fidl_next::Transport,
640{
641 async fn on_unknown_interaction(&mut self, ordinal: u64) {
642 ___H::on_unknown_interaction(&mut self.0, ordinal).await
643 }
644}
645
646impl<___H, ___T> PowerTokenProviderLocalServerHandler<___T> for ::fidl_next::Local<___H>
647where
648 ___H: PowerTokenProviderServerHandler<___T>,
649 ___T: ::fidl_next::Transport,
650{
651 async fn get_token(
652 &mut self,
653
654 responder: ::fidl_next::Responder<power_token_provider::GetToken, ___T>,
655 ) {
656 ___H::get_token(&mut self.0, responder).await
657 }
658
659 async fn on_unknown_interaction(&mut self, ordinal: u64) {
660 ___H::on_unknown_interaction(&mut self.0, ordinal).await
661 }
662}
663
664#[derive(Debug)]
666pub struct PowerTokenService;
667
668impl ::fidl_next::DiscoverableService for PowerTokenService {
669 const SERVICE_NAME: &'static str = "fuchsia.hardware.power.PowerTokenService";
670 const MEMBER_NAMES: &'static [&'static str] = &["token_provider"];
671}
672
673impl ::fidl_next::HasServiceRequest<::fidl_next::fuchsia::zx::Channel> for PowerTokenService {}
674
675impl<___C> ::fidl_next::Service<___C> for PowerTokenService
676where
677 ___C: ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>,
678{
679 type Connector = PowerTokenServiceConnector<___C>;
680}
681
682#[repr(transparent)]
684pub struct PowerTokenServiceConnector<___C> {
685 #[allow(dead_code)]
686 connector: ___C,
687}
688
689impl<___C> PowerTokenServiceConnector<___C>
690where
691 ___C: ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>,
692{
693 pub fn token_provider(
695 &self,
696 server_end: ::fidl_next::ServerEnd<
697 crate::PowerTokenProvider,
698 ::fidl_next::fuchsia::zx::Channel,
699 >,
700 ) -> ::core::result::Result<
701 (),
702 <___C as ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>>::Error,
703 > {
704 ::fidl_next::protocol::ServiceConnector::<
705 ::fidl_next::fuchsia::zx::Channel
706 >::connect_to_member(
707 &self.connector,
708 "token_provider",
709 server_end.into_untyped(),
710 )
711 }
712}
713
714pub trait PowerTokenServiceHandler {
716 fn token_provider(
718 &self,
719 server_end: ::fidl_next::ServerEnd<
720 crate::PowerTokenProvider,
721 ::fidl_next::fuchsia::zx::Channel,
722 >,
723 );
724}
725
726impl<___H, ___T> ::fidl_next::DispatchServiceHandler<___H, ___T> for PowerTokenService
727where
728 ___H: PowerTokenServiceHandler,
729 ::fidl_next::fuchsia::zx::Channel: ::fidl_next::InstanceFromServiceTransport<___T>,
730{
731 fn on_connection(handler: &___H, member: &str, server_end: ___T) {
732 use ::fidl_next::InstanceFromServiceTransport;
733 match member {
734 "token_provider" => handler.token_provider(::fidl_next::ServerEnd::from_untyped(
735 ::fidl_next::fuchsia::zx::Channel::from_service_transport(server_end),
736 )),
737
738 _ => unreachable!(),
739 }
740 }
741}
742
743#[derive(Debug)]
745pub struct Service;
746
747impl ::fidl_next::DiscoverableService for Service {
748 const SERVICE_NAME: &'static str = "fuchsia.hardware.power.Service";
749 const MEMBER_NAMES: &'static [&'static str] = &["device"];
750}
751
752impl ::fidl_next::HasServiceRequest<::fidl_next::fuchsia::zx::Channel> for Service {}
753
754impl<___C> ::fidl_next::Service<___C> for Service
755where
756 ___C: ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>,
757{
758 type Connector = ServiceConnector<___C>;
759}
760
761#[repr(transparent)]
763pub struct ServiceConnector<___C> {
764 #[allow(dead_code)]
765 connector: ___C,
766}
767
768impl<___C> ServiceConnector<___C>
769where
770 ___C: ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>,
771{
772 pub fn device(
774 &self,
775 server_end: ::fidl_next::ServerEnd<crate::Device, ::fidl_next::fuchsia::zx::Channel>,
776 ) -> ::core::result::Result<
777 (),
778 <___C as ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>>::Error,
779 > {
780 ::fidl_next::protocol::ServiceConnector::<
781 ::fidl_next::fuchsia::zx::Channel
782 >::connect_to_member(
783 &self.connector,
784 "device",
785 server_end.into_untyped(),
786 )
787 }
788}
789
790pub trait ServiceHandler {
792 fn device(
794 &self,
795 server_end: ::fidl_next::ServerEnd<crate::Device, ::fidl_next::fuchsia::zx::Channel>,
796 );
797}
798
799impl<___H, ___T> ::fidl_next::DispatchServiceHandler<___H, ___T> for Service
800where
801 ___H: ServiceHandler,
802 ::fidl_next::fuchsia::zx::Channel: ::fidl_next::InstanceFromServiceTransport<___T>,
803{
804 fn on_connection(handler: &___H, member: &str, server_end: ___T) {
805 use ::fidl_next::InstanceFromServiceTransport;
806 match member {
807 "device" => handler.device(::fidl_next::ServerEnd::from_untyped(
808 ::fidl_next::fuchsia::zx::Channel::from_service_transport(server_end),
809 )),
810
811 _ => unreachable!(),
812 }
813 }
814}
815
816pub use fidl_next_common_fuchsia_hardware_power::*;