blob: 9c3ae0b3bec929910a84a2aa08e84927a58d1f25 [file] [log] [blame]
// DO NOT EDIT: This file is machine-generated by fidlgen
#![warn(clippy::all)]
#![allow(unused_parens, unused_variables, unused_mut, unused_imports, unreachable_code)]
pub mod natural {}
pub mod wire {}
pub mod wire_optional {}
pub use self::natural::*;
/// The type corresponding to the EmptyService service.
#[derive(Debug)]
pub struct EmptyService;
impl ::fidl_next::DiscoverableService for EmptyService {
const SERVICE_NAME: &'static str = "test.service.EmptyService";
const MEMBER_NAMES: &'static [&'static str] = &[];
}
impl<___C> ::fidl_next::Service<___C> for EmptyService {
type Connector = EmptyServiceConnector<___C>;
}
/// A strongly-typed service connector for the `EmptyService` service.
#[repr(transparent)]
pub struct EmptyServiceConnector<___C> {
#[allow(dead_code)]
connector: ___C,
}
impl<___C> EmptyServiceConnector<___C> {}
/// A service handler for the `EmptyService` service.
pub trait EmptyServiceHandler {}
impl<___H, ___T> ::fidl_next::DispatchServiceHandler<___H, ___T> for EmptyService
where
___H: EmptyServiceHandler,
{
fn on_connection(handler: &___H, member: &str, server_end: ___T) {
use ::fidl_next::InstanceFromServiceTransport;
match member {
_ => unreachable!(),
}
}
}
/// The type corresponding to the FirstProtocol protocol.
#[derive(PartialEq, Debug)]
pub struct FirstProtocol;
pub mod first_protocol {
pub mod prelude {
pub use crate::{
FirstProtocol, FirstProtocolClientHandler, FirstProtocolServerHandler, first_protocol,
};
}
pub struct MethodOnFirst;
impl ::fidl_next::Method for MethodOnFirst {
const ORDINAL: u64 = 6352548393671797041;
type Protocol = crate::FirstProtocol;
type Request = ();
type Response = ::fidl_next::Never;
}
mod ___detail {
unsafe impl<___T> ::fidl_next::Protocol<___T> for crate::FirstProtocol
where
___T: ::fidl_next::Transport,
{
type Client = FirstProtocolClient<___T>;
type Server = FirstProtocolServer<___T>;
}
/// The client for the `FirstProtocol` protocol.
#[repr(transparent)]
pub struct FirstProtocolClient<___T: ::fidl_next::Transport> {
#[allow(dead_code)]
client: ::fidl_next::protocol::Client<___T>,
}
impl<___T> FirstProtocolClient<___T>
where
___T: ::fidl_next::Transport,
{
pub fn method_on_first(&self) -> ::fidl_next::SendFuture<'_, ___T> {
::fidl_next::SendFuture::from_untyped(
self.client.send_one_way(6352548393671797041, ()),
)
}
}
/// The server for the `FirstProtocol` protocol.
#[repr(transparent)]
pub struct FirstProtocolServer<___T: ::fidl_next::Transport> {
server: ::fidl_next::protocol::Server<___T>,
}
impl<___T> FirstProtocolServer<___T> where ___T: ::fidl_next::Transport {}
}
}
/// A client handler for the FirstProtocol protocol.
///
/// See [`FirstProtocol`] for more details.
pub trait FirstProtocolClientHandler<
#[cfg(not(feature = "fuchsia"))] ___T: ::fidl_next::Transport,
#[cfg(feature = "fuchsia")] ___T: ::fidl_next::Transport = ::fidl_next::fuchsia::zx::Channel,
>
{
}
impl<___H, ___T> ::fidl_next::DispatchClientMessage<___H, ___T> for FirstProtocol
where
___H: FirstProtocolClientHandler<___T> + ::core::marker::Send,
___T: ::fidl_next::Transport,
{
async fn on_event(
handler: &mut ___H,
ordinal: u64,
buffer: ___T::RecvBuffer,
) -> ::core::result::Result<(), ::fidl_next::ProtocolError<___T::Error>> {
match ordinal {
ordinal => Err(::fidl_next::ProtocolError::InvalidOrdinal(ordinal)),
}
}
}
/// A server handler for the FirstProtocol protocol.
///
/// See [`FirstProtocol`] for more details.
pub trait FirstProtocolServerHandler<
#[cfg(not(feature = "fuchsia"))] ___T: ::fidl_next::Transport,
#[cfg(feature = "fuchsia")] ___T: ::fidl_next::Transport = ::fidl_next::fuchsia::zx::Channel,
>
{
fn method_on_first(
&mut self,
) -> impl ::core::future::Future<Output = ()> + ::core::marker::Send;
}
impl<___H, ___T> ::fidl_next::DispatchServerMessage<___H, ___T> for FirstProtocol
where
___H: FirstProtocolServerHandler<___T> + ::core::marker::Send,
___T: ::fidl_next::Transport,
{
async fn on_one_way(
handler: &mut ___H,
ordinal: u64,
buffer: ___T::RecvBuffer,
) -> ::core::result::Result<
(),
::fidl_next::ProtocolError<<___T as ::fidl_next::Transport>::Error>,
> {
match ordinal {
6352548393671797041 => {
handler.method_on_first().await;
Ok(())
}
ordinal => Err(::fidl_next::ProtocolError::InvalidOrdinal(ordinal)),
}
}
async fn on_two_way(
handler: &mut ___H,
ordinal: u64,
buffer: ___T::RecvBuffer,
responder: ::fidl_next::protocol::Responder<___T>,
) -> ::core::result::Result<
(),
::fidl_next::ProtocolError<<___T as ::fidl_next::Transport>::Error>,
> {
match ordinal {
ordinal => Err(::fidl_next::ProtocolError::InvalidOrdinal(ordinal)),
}
}
}
/// The type corresponding to the MultiHeterogeneousMemberService service.
#[derive(Debug)]
pub struct MultiHeterogeneousMemberService;
impl ::fidl_next::DiscoverableService for MultiHeterogeneousMemberService {
const SERVICE_NAME: &'static str = "test.service.MultiHeterogeneousMemberService";
const MEMBER_NAMES: &'static [&'static str] = &["first_member", "second_member"];
}
impl ::fidl_next::HasServiceRequest<::fidl_next::fuchsia::zx::Channel>
for MultiHeterogeneousMemberService
{
}
impl<___C> ::fidl_next::Service<___C> for MultiHeterogeneousMemberService
where
___C: ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>,
___C: ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>,
{
type Connector = MultiHeterogeneousMemberServiceConnector<___C>;
}
/// A strongly-typed service connector for the `MultiHeterogeneousMemberService` service.
#[repr(transparent)]
pub struct MultiHeterogeneousMemberServiceConnector<___C> {
#[allow(dead_code)]
connector: ___C,
}
impl<___C> MultiHeterogeneousMemberServiceConnector<___C>
where
___C: ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>,
___C: ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>,
{
/// Attempts to connect to the `first_member` service member.
pub fn first_member(
&self,
server_end: ::fidl_next::ServerEnd<crate::FirstProtocol, ::fidl_next::fuchsia::zx::Channel>,
) -> ::core::result::Result<
(),
<___C as ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>>::Error,
> {
::fidl_next::protocol::ServiceConnector::<
::fidl_next::fuchsia::zx::Channel
>::connect_to_member(
&self.connector,
"first_member",
server_end.into_untyped(),
)
}
/// Attempts to connect to the `second_member` service member.
pub fn second_member(
&self,
server_end: ::fidl_next::ServerEnd<
crate::SecondProtocol,
::fidl_next::fuchsia::zx::Channel,
>,
) -> ::core::result::Result<
(),
<___C as ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>>::Error,
> {
::fidl_next::protocol::ServiceConnector::<
::fidl_next::fuchsia::zx::Channel
>::connect_to_member(
&self.connector,
"second_member",
server_end.into_untyped(),
)
}
}
/// A service handler for the `MultiHeterogeneousMemberService` service.
pub trait MultiHeterogeneousMemberServiceHandler {
/// Handles an attempt to connect to the `first_member` member.
fn first_member(
&self,
server_end: ::fidl_next::ServerEnd<crate::FirstProtocol, ::fidl_next::fuchsia::zx::Channel>,
);
/// Handles an attempt to connect to the `second_member` member.
fn second_member(
&self,
server_end: ::fidl_next::ServerEnd<
crate::SecondProtocol,
::fidl_next::fuchsia::zx::Channel,
>,
);
}
impl<___H, ___T> ::fidl_next::DispatchServiceHandler<___H, ___T> for MultiHeterogeneousMemberService
where
___H: MultiHeterogeneousMemberServiceHandler,
::fidl_next::fuchsia::zx::Channel: ::fidl_next::InstanceFromServiceTransport<___T>,
::fidl_next::fuchsia::zx::Channel: ::fidl_next::InstanceFromServiceTransport<___T>,
{
fn on_connection(handler: &___H, member: &str, server_end: ___T) {
use ::fidl_next::InstanceFromServiceTransport;
match member {
"first_member" => handler.first_member(::fidl_next::ServerEnd::from_untyped(
::fidl_next::fuchsia::zx::Channel::from_service_transport(server_end),
)),
"second_member" => handler.second_member(::fidl_next::ServerEnd::from_untyped(
::fidl_next::fuchsia::zx::Channel::from_service_transport(server_end),
)),
_ => unreachable!(),
}
}
}
/// The type corresponding to the MultiHomogeneousMemberService service.
#[derive(Debug)]
pub struct MultiHomogeneousMemberService;
impl ::fidl_next::DiscoverableService for MultiHomogeneousMemberService {
const SERVICE_NAME: &'static str = "test.service.MultiHomogeneousMemberService";
const MEMBER_NAMES: &'static [&'static str] = &["first_member", "second_member"];
}
impl ::fidl_next::HasServiceRequest<::fidl_next::fuchsia::zx::Channel>
for MultiHomogeneousMemberService
{
}
impl<___C> ::fidl_next::Service<___C> for MultiHomogeneousMemberService
where
___C: ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>,
___C: ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>,
{
type Connector = MultiHomogeneousMemberServiceConnector<___C>;
}
/// A strongly-typed service connector for the `MultiHomogeneousMemberService` service.
#[repr(transparent)]
pub struct MultiHomogeneousMemberServiceConnector<___C> {
#[allow(dead_code)]
connector: ___C,
}
impl<___C> MultiHomogeneousMemberServiceConnector<___C>
where
___C: ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>,
___C: ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>,
{
/// Attempts to connect to the `first_member` service member.
pub fn first_member(
&self,
server_end: ::fidl_next::ServerEnd<crate::FirstProtocol, ::fidl_next::fuchsia::zx::Channel>,
) -> ::core::result::Result<
(),
<___C as ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>>::Error,
> {
::fidl_next::protocol::ServiceConnector::<
::fidl_next::fuchsia::zx::Channel
>::connect_to_member(
&self.connector,
"first_member",
server_end.into_untyped(),
)
}
/// Attempts to connect to the `second_member` service member.
pub fn second_member(
&self,
server_end: ::fidl_next::ServerEnd<crate::FirstProtocol, ::fidl_next::fuchsia::zx::Channel>,
) -> ::core::result::Result<
(),
<___C as ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>>::Error,
> {
::fidl_next::protocol::ServiceConnector::<
::fidl_next::fuchsia::zx::Channel
>::connect_to_member(
&self.connector,
"second_member",
server_end.into_untyped(),
)
}
}
/// A service handler for the `MultiHomogeneousMemberService` service.
pub trait MultiHomogeneousMemberServiceHandler {
/// Handles an attempt to connect to the `first_member` member.
fn first_member(
&self,
server_end: ::fidl_next::ServerEnd<crate::FirstProtocol, ::fidl_next::fuchsia::zx::Channel>,
);
/// Handles an attempt to connect to the `second_member` member.
fn second_member(
&self,
server_end: ::fidl_next::ServerEnd<crate::FirstProtocol, ::fidl_next::fuchsia::zx::Channel>,
);
}
impl<___H, ___T> ::fidl_next::DispatchServiceHandler<___H, ___T> for MultiHomogeneousMemberService
where
___H: MultiHomogeneousMemberServiceHandler,
::fidl_next::fuchsia::zx::Channel: ::fidl_next::InstanceFromServiceTransport<___T>,
::fidl_next::fuchsia::zx::Channel: ::fidl_next::InstanceFromServiceTransport<___T>,
{
fn on_connection(handler: &___H, member: &str, server_end: ___T) {
use ::fidl_next::InstanceFromServiceTransport;
match member {
"first_member" => handler.first_member(::fidl_next::ServerEnd::from_untyped(
::fidl_next::fuchsia::zx::Channel::from_service_transport(server_end),
)),
"second_member" => handler.second_member(::fidl_next::ServerEnd::from_untyped(
::fidl_next::fuchsia::zx::Channel::from_service_transport(server_end),
)),
_ => unreachable!(),
}
}
}
/// The type corresponding to the SecondProtocol protocol.
#[derive(PartialEq, Debug)]
pub struct SecondProtocol;
pub mod second_protocol {
pub mod prelude {
pub use crate::{
SecondProtocol, SecondProtocolClientHandler, SecondProtocolServerHandler,
second_protocol,
};
}
pub struct MethodOnSecond;
impl ::fidl_next::Method for MethodOnSecond {
const ORDINAL: u64 = 8121179205110225988;
type Protocol = crate::SecondProtocol;
type Request = ();
type Response = ::fidl_next::Never;
}
mod ___detail {
unsafe impl<___T> ::fidl_next::Protocol<___T> for crate::SecondProtocol
where
___T: ::fidl_next::Transport,
{
type Client = SecondProtocolClient<___T>;
type Server = SecondProtocolServer<___T>;
}
/// The client for the `SecondProtocol` protocol.
#[repr(transparent)]
pub struct SecondProtocolClient<___T: ::fidl_next::Transport> {
#[allow(dead_code)]
client: ::fidl_next::protocol::Client<___T>,
}
impl<___T> SecondProtocolClient<___T>
where
___T: ::fidl_next::Transport,
{
pub fn method_on_second(&self) -> ::fidl_next::SendFuture<'_, ___T> {
::fidl_next::SendFuture::from_untyped(
self.client.send_one_way(8121179205110225988, ()),
)
}
}
/// The server for the `SecondProtocol` protocol.
#[repr(transparent)]
pub struct SecondProtocolServer<___T: ::fidl_next::Transport> {
server: ::fidl_next::protocol::Server<___T>,
}
impl<___T> SecondProtocolServer<___T> where ___T: ::fidl_next::Transport {}
}
}
/// A client handler for the SecondProtocol protocol.
///
/// See [`SecondProtocol`] for more details.
pub trait SecondProtocolClientHandler<
#[cfg(not(feature = "fuchsia"))] ___T: ::fidl_next::Transport,
#[cfg(feature = "fuchsia")] ___T: ::fidl_next::Transport = ::fidl_next::fuchsia::zx::Channel,
>
{
}
impl<___H, ___T> ::fidl_next::DispatchClientMessage<___H, ___T> for SecondProtocol
where
___H: SecondProtocolClientHandler<___T> + ::core::marker::Send,
___T: ::fidl_next::Transport,
{
async fn on_event(
handler: &mut ___H,
ordinal: u64,
buffer: ___T::RecvBuffer,
) -> ::core::result::Result<(), ::fidl_next::ProtocolError<___T::Error>> {
match ordinal {
ordinal => Err(::fidl_next::ProtocolError::InvalidOrdinal(ordinal)),
}
}
}
/// A server handler for the SecondProtocol protocol.
///
/// See [`SecondProtocol`] for more details.
pub trait SecondProtocolServerHandler<
#[cfg(not(feature = "fuchsia"))] ___T: ::fidl_next::Transport,
#[cfg(feature = "fuchsia")] ___T: ::fidl_next::Transport = ::fidl_next::fuchsia::zx::Channel,
>
{
fn method_on_second(
&mut self,
) -> impl ::core::future::Future<Output = ()> + ::core::marker::Send;
}
impl<___H, ___T> ::fidl_next::DispatchServerMessage<___H, ___T> for SecondProtocol
where
___H: SecondProtocolServerHandler<___T> + ::core::marker::Send,
___T: ::fidl_next::Transport,
{
async fn on_one_way(
handler: &mut ___H,
ordinal: u64,
buffer: ___T::RecvBuffer,
) -> ::core::result::Result<
(),
::fidl_next::ProtocolError<<___T as ::fidl_next::Transport>::Error>,
> {
match ordinal {
8121179205110225988 => {
handler.method_on_second().await;
Ok(())
}
ordinal => Err(::fidl_next::ProtocolError::InvalidOrdinal(ordinal)),
}
}
async fn on_two_way(
handler: &mut ___H,
ordinal: u64,
buffer: ___T::RecvBuffer,
responder: ::fidl_next::protocol::Responder<___T>,
) -> ::core::result::Result<
(),
::fidl_next::ProtocolError<<___T as ::fidl_next::Transport>::Error>,
> {
match ordinal {
ordinal => Err(::fidl_next::ProtocolError::InvalidOrdinal(ordinal)),
}
}
}
/// The type corresponding to the SingleMemberService service.
#[derive(Debug)]
pub struct SingleMemberService;
impl ::fidl_next::DiscoverableService for SingleMemberService {
const SERVICE_NAME: &'static str = "test.service.SingleMemberService";
const MEMBER_NAMES: &'static [&'static str] = &["single_member"];
}
impl ::fidl_next::HasServiceRequest<::fidl_next::fuchsia::zx::Channel> for SingleMemberService {}
impl<___C> ::fidl_next::Service<___C> for SingleMemberService
where
___C: ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>,
{
type Connector = SingleMemberServiceConnector<___C>;
}
/// A strongly-typed service connector for the `SingleMemberService` service.
#[repr(transparent)]
pub struct SingleMemberServiceConnector<___C> {
#[allow(dead_code)]
connector: ___C,
}
impl<___C> SingleMemberServiceConnector<___C>
where
___C: ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>,
{
/// Attempts to connect to the `single_member` service member.
pub fn single_member(
&self,
server_end: ::fidl_next::ServerEnd<crate::FirstProtocol, ::fidl_next::fuchsia::zx::Channel>,
) -> ::core::result::Result<
(),
<___C as ::fidl_next::protocol::ServiceConnector<::fidl_next::fuchsia::zx::Channel>>::Error,
> {
::fidl_next::protocol::ServiceConnector::<
::fidl_next::fuchsia::zx::Channel
>::connect_to_member(
&self.connector,
"single_member",
server_end.into_untyped(),
)
}
}
/// A service handler for the `SingleMemberService` service.
pub trait SingleMemberServiceHandler {
/// Handles an attempt to connect to the `single_member` member.
fn single_member(
&self,
server_end: ::fidl_next::ServerEnd<crate::FirstProtocol, ::fidl_next::fuchsia::zx::Channel>,
);
}
impl<___H, ___T> ::fidl_next::DispatchServiceHandler<___H, ___T> for SingleMemberService
where
___H: SingleMemberServiceHandler,
::fidl_next::fuchsia::zx::Channel: ::fidl_next::InstanceFromServiceTransport<___T>,
{
fn on_connection(handler: &___H, member: &str, server_end: ___T) {
use ::fidl_next::InstanceFromServiceTransport;
match member {
"single_member" => handler.single_member(::fidl_next::ServerEnd::from_untyped(
::fidl_next::fuchsia::zx::Channel::from_service_transport(server_end),
)),
_ => unreachable!(),
}
}
}
/// Compatibility shims which mimic some API surfaces of the current Rust bindings.
pub mod compat {
#[cfg(target_os = "fuchsia")]
/// An alias for a client over `zx::Channel` for the `FirstProtocol`
/// protocol.
pub type FirstProtocolProxy = ::fidl_next::Client<crate::FirstProtocol>;
impl ::fidl_next::CompatFrom<crate::FirstProtocol> for ::fidl_test_service::FirstProtocolMarker {
fn compat_from(_: crate::FirstProtocol) -> Self {
Self
}
}
impl ::fidl_next::CompatFrom<::fidl_test_service::FirstProtocolMarker> for crate::FirstProtocol {
fn compat_from(_: ::fidl_test_service::FirstProtocolMarker) -> Self {
Self
}
}
#[cfg(target_os = "fuchsia")]
impl ::fidl_next::ClientCompatFrom<::fidl_test_service::FirstProtocolProxy>
for crate::FirstProtocol
{
fn client_compat_from(
proxy: ::fidl_test_service::FirstProtocolProxy,
) -> ::fidl_next::ClientDispatcher<Self, ::fidl_next::fuchsia::zx::Channel> {
let channel = ::fidl::endpoints::Proxy::into_channel(proxy).unwrap().into_zx_channel();
let client_end = ::fidl_next::ClientEnd::from_untyped(channel);
::fidl_next::ClientDispatcher::new(client_end)
}
}
#[cfg(target_os = "fuchsia")]
/// An alias for a client over `zx::Channel` for the `SecondProtocol`
/// protocol.
pub type SecondProtocolProxy = ::fidl_next::Client<crate::SecondProtocol>;
impl ::fidl_next::CompatFrom<crate::SecondProtocol> for ::fidl_test_service::SecondProtocolMarker {
fn compat_from(_: crate::SecondProtocol) -> Self {
Self
}
}
impl ::fidl_next::CompatFrom<::fidl_test_service::SecondProtocolMarker> for crate::SecondProtocol {
fn compat_from(_: ::fidl_test_service::SecondProtocolMarker) -> Self {
Self
}
}
#[cfg(target_os = "fuchsia")]
impl ::fidl_next::ClientCompatFrom<::fidl_test_service::SecondProtocolProxy>
for crate::SecondProtocol
{
fn client_compat_from(
proxy: ::fidl_test_service::SecondProtocolProxy,
) -> ::fidl_next::ClientDispatcher<Self, ::fidl_next::fuchsia::zx::Channel> {
let channel = ::fidl::endpoints::Proxy::into_channel(proxy).unwrap().into_zx_channel();
let client_end = ::fidl_next::ClientEnd::from_untyped(channel);
::fidl_next::ClientDispatcher::new(client_end)
}
}
}