fidl_test_structuredconfig_receiver_shim/
fidl_test_structuredconfig_receiver_shim.rs

1// WARNING: This file is machine generated by fidlgen.
2
3#![warn(clippy::all)]
4#![allow(unused_parens, unused_mut, unused_imports, nonstandard_style)]
5
6use bitflags::bitflags;
7use fidl::client::QueryResponseFut;
8use fidl::encoding::{MessageBufFor, ProxyChannelBox, ResourceDialect};
9use fidl::endpoints::{ControlHandle as _, Responder as _};
10pub use fidl_test_structuredconfig_receiver_shim_common::*;
11use futures::future::{self, MaybeDone, TryFutureExt};
12use zx_status;
13
14#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
15pub struct ConfigServiceMarker;
16
17#[cfg(target_os = "fuchsia")]
18impl fidl::endpoints::ServiceMarker for ConfigServiceMarker {
19    type Proxy = ConfigServiceProxy;
20    type Request = ConfigServiceRequest;
21    const SERVICE_NAME: &'static str = "test.structuredconfig.receiver.shim.ConfigService";
22}
23
24/// A request for one of the member protocols of ConfigService.
25///
26#[cfg(target_os = "fuchsia")]
27pub enum ConfigServiceRequest {
28    Puppet(fidl_test_structuredconfig_receiver::ConfigReceiverPuppetRequestStream),
29}
30
31#[cfg(target_os = "fuchsia")]
32impl fidl::endpoints::ServiceRequest for ConfigServiceRequest {
33    type Service = ConfigServiceMarker;
34
35    fn dispatch(name: &str, _channel: fidl::AsyncChannel) -> Self {
36        match name {
37            "puppet" => Self::Puppet(
38                <fidl_test_structuredconfig_receiver::ConfigReceiverPuppetRequestStream as fidl::endpoints::RequestStream>::from_channel(_channel),
39            ),
40            _ => panic!("no such member protocol name for service ConfigService"),
41        }
42    }
43
44    fn member_names() -> &'static [&'static str] {
45        &["puppet"]
46    }
47}
48#[cfg(target_os = "fuchsia")]
49pub struct ConfigServiceProxy(#[allow(dead_code)] Box<dyn fidl::endpoints::MemberOpener>);
50
51#[cfg(target_os = "fuchsia")]
52impl fidl::endpoints::ServiceProxy for ConfigServiceProxy {
53    type Service = ConfigServiceMarker;
54
55    fn from_member_opener(opener: Box<dyn fidl::endpoints::MemberOpener>) -> Self {
56        Self(opener)
57    }
58}
59
60#[cfg(target_os = "fuchsia")]
61impl ConfigServiceProxy {
62    pub fn connect_to_puppet(
63        &self,
64    ) -> Result<fidl_test_structuredconfig_receiver::ConfigReceiverPuppetProxy, fidl::Error> {
65        let (proxy, server_end) = fidl::endpoints::create_proxy::<
66            fidl_test_structuredconfig_receiver::ConfigReceiverPuppetMarker,
67        >();
68        self.connect_channel_to_puppet(server_end)?;
69        Ok(proxy)
70    }
71
72    /// Like `connect_to_puppet`, but returns a sync proxy.
73    /// See [`Self::connect_to_puppet`] for more details.
74    pub fn connect_to_puppet_sync(
75        &self,
76    ) -> Result<
77        fidl_test_structuredconfig_receiver::ConfigReceiverPuppetSynchronousProxy,
78        fidl::Error,
79    > {
80        let (proxy, server_end) = fidl::endpoints::create_sync_proxy::<
81            fidl_test_structuredconfig_receiver::ConfigReceiverPuppetMarker,
82        >();
83        self.connect_channel_to_puppet(server_end)?;
84        Ok(proxy)
85    }
86
87    /// Like `connect_to_puppet`, but accepts a server end.
88    /// See [`Self::connect_to_puppet`] for more details.
89    pub fn connect_channel_to_puppet(
90        &self,
91        server_end: fidl::endpoints::ServerEnd<
92            fidl_test_structuredconfig_receiver::ConfigReceiverPuppetMarker,
93        >,
94    ) -> Result<(), fidl::Error> {
95        self.0.open_member("puppet", server_end.into_channel())
96    }
97
98    pub fn instance_name(&self) -> &str {
99        self.0.instance_name()
100    }
101}
102
103mod internal {
104    use super::*;
105}