blob: 0f40558c5f27a42b1ff24863078534c3f0f65cc0 [file] [log] [blame]
// WARNING: This file is machine generated by fidlgen.
// fidl_experiment = output_index_json
#![warn(clippy::all)]
#![allow(unused_parens, unused_mut, unused_imports, nonstandard_style)]
use bitflags::bitflags;
use fidl::client::QueryResponseFut;
use fidl::encoding::{MessageBufFor, ProxyChannelBox, ResourceDialect};
use fidl::endpoints::{ControlHandle as _, Responder as _};
pub use fidl_test_handles__common::*;
use futures::future::{self, MaybeDone, TryFutureExt};
use zx_status;
pub type AliasedPlainHandle = fidl::Handle;
pub type AliasedRightsHandle = fidl::Vmo;
pub type AliasedSubtypeHandle = fidl::Vmo;
#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub struct Handles {
pub plain_handle: fidl::Handle,
pub bti_handle: fidl::Bti,
pub channel_handle: fidl::Channel,
pub clock_handle: fidl::Clock,
pub debuglog_handle: fidl::DebugLog,
pub event_handle: fidl::Event,
pub eventpair_handle: fidl::EventPair,
pub exception_handle: fidl::Exception,
pub fifo_handle: fidl::Fifo,
pub guest_handle: fidl::Guest,
pub interrupt_handle: fidl::Interrupt,
pub iob_handle: fidl::Iob,
pub iommu_handle: fidl::Iommu,
pub job_handle: fidl::Job,
pub msi_handle: fidl::Msi,
pub pager_handle: fidl::Pager,
pub pmt_handle: fidl::Pmt,
pub port_handle: fidl::Port,
pub process_handle: fidl::Process,
pub profile_handle: fidl::Profile,
pub resource_handle: fidl::Resource,
pub socket_handle: fidl::Socket,
pub stream_handle: fidl::Stream,
pub suspendtoken_handle: fidl::SuspendToken,
pub thread_handle: fidl::Thread,
pub timer_handle: fidl::Timer,
pub vcpu_handle: fidl::Vcpu,
pub vmar_handle: fidl::Vmar,
pub vmo_handle: fidl::Vmo,
pub rights_handle: fidl::Vmo,
pub aliased_plain_handle_field: fidl::Handle,
pub aliased_subtype_handle_field: fidl::Vmo,
pub aliased_rights_handle_field: fidl::Vmo,
pub some_protocol: fidl::endpoints::ClientEnd<SomeProtocolMarker>,
pub request_some_protocol: fidl::endpoints::ServerEnd<SomeProtocolMarker>,
}
impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for Handles {}
#[cfg(feature = "driver")]
#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
pub struct DriverProtocolMarker;
#[cfg(feature = "driver")]
impl fidl_driver::endpoints::DriverProtocolMarker for DriverProtocolMarker {
const DEBUG_NAME: &'static str = "(anonymous) DriverProtocol";
}
#[cfg(feature = "driver")]
#[derive(Debug)]
pub enum DriverProtocolRequest {}
#[cfg(feature = "driver")]
impl DriverProtocolRequest {
#[allow(irrefutable_let_patterns)]
pub fn read_from(bytes: &[u8], _handles: &mut [zx::HandleInfo]) -> Result<Self, fidl::Error> {
let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
match header.ordinal {
_ => Err(fidl::Error::UnknownOrdinal {
ordinal: header.ordinal,
protocol_name: <DriverProtocolMarker as fidl_driver::endpoints::DriverProtocolMarker>::DEBUG_NAME
}),
}
}
pub fn read_from_message(
mut message: fdf::Message<[u8]>,
) -> Result<(fdf::Arena, Self), fidl::Error> {
let (arena, Some(body), Some(handles)) = message.take_arena_boxes() else {
return Err(fidl::Error::Invalid);
};
let mut handles = arena.try_insert_from_iter(
handles
.into_iter()
.map(|handle| unsafe { fidl_driver::encoding::mixed_into_handle_info(handle) }),
);
let res = match handles {
Ok(ref mut handles) => Self::read_from(&*body, handles)?,
Err(_) => return Err(fidl::Error::Invalid),
};
std::mem::drop((body, handles));
Ok((message.take_arena(), res))
}
/// Name of the method defined in FIDL
pub fn method_name(&self) -> &'static str {
match *self {}
}
}
/// Like [`DriverProtocolRequest::read_from_message`] except it drops the [`Arena`].
#[cfg(feature = "driver")]
impl std::convert::TryFrom<fdf::Message<[u8]>> for DriverProtocolRequest {
type Error = fidl::Error;
fn try_from(msg: fdf::Message<[u8]>) -> Result<DriverProtocolRequest, fidl::Error> {
Ok(DriverProtocolRequest::read_from_message(msg)?.1)
}
}
#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
pub struct SomeProtocolMarker;
impl fidl::endpoints::ProtocolMarker for SomeProtocolMarker {
type Proxy = SomeProtocolProxy;
type RequestStream = SomeProtocolRequestStream;
#[cfg(target_os = "fuchsia")]
type SynchronousProxy = SomeProtocolSynchronousProxy;
const DEBUG_NAME: &'static str = "(anonymous) SomeProtocol";
}
pub trait SomeProtocolProxyInterface: Send + Sync {}
#[derive(Debug)]
#[cfg(target_os = "fuchsia")]
pub struct SomeProtocolSynchronousProxy {
client: fidl::client::sync::Client,
}
#[cfg(target_os = "fuchsia")]
impl fidl::endpoints::SynchronousProxy for SomeProtocolSynchronousProxy {
type Proxy = SomeProtocolProxy;
type Protocol = SomeProtocolMarker;
fn from_channel(inner: fidl::Channel) -> Self {
Self::new(inner)
}
fn into_channel(self) -> fidl::Channel {
self.client.into_channel()
}
fn as_channel(&self) -> &fidl::Channel {
self.client.as_channel()
}
}
#[cfg(target_os = "fuchsia")]
impl SomeProtocolSynchronousProxy {
pub fn new(channel: fidl::Channel) -> Self {
let protocol_name = <SomeProtocolMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
}
pub fn into_channel(self) -> fidl::Channel {
self.client.into_channel()
}
/// Waits until an event arrives and returns it. It is safe for other
/// threads to make concurrent requests while waiting for an event.
pub fn wait_for_event(
&self,
deadline: zx::MonotonicInstant,
) -> Result<SomeProtocolEvent, fidl::Error> {
SomeProtocolEvent::decode(self.client.wait_for_event(deadline)?)
}
}
#[cfg(target_os = "fuchsia")]
impl From<SomeProtocolSynchronousProxy> for zx::Handle {
fn from(value: SomeProtocolSynchronousProxy) -> Self {
value.into_channel().into()
}
}
#[cfg(target_os = "fuchsia")]
impl From<fidl::Channel> for SomeProtocolSynchronousProxy {
fn from(value: fidl::Channel) -> Self {
Self::new(value)
}
}
#[cfg(target_os = "fuchsia")]
impl fidl::endpoints::FromClient for SomeProtocolSynchronousProxy {
type Protocol = SomeProtocolMarker;
fn from_client(value: fidl::endpoints::ClientEnd<SomeProtocolMarker>) -> Self {
Self::new(value.into_channel())
}
}
#[derive(Debug, Clone)]
pub struct SomeProtocolProxy {
client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
}
impl fidl::endpoints::Proxy for SomeProtocolProxy {
type Protocol = SomeProtocolMarker;
fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
Self::new(inner)
}
fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
self.client.into_channel().map_err(|client| Self { client })
}
fn as_channel(&self) -> &::fidl::AsyncChannel {
self.client.as_channel()
}
}
impl SomeProtocolProxy {
/// Create a new Proxy for test.handles/SomeProtocol.
pub fn new(channel: ::fidl::AsyncChannel) -> Self {
let protocol_name = <SomeProtocolMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
Self { client: fidl::client::Client::new(channel, protocol_name) }
}
/// Get a Stream of events from the remote end of the protocol.
///
/// # Panics
///
/// Panics if the event stream was already taken.
pub fn take_event_stream(&self) -> SomeProtocolEventStream {
SomeProtocolEventStream { event_receiver: self.client.take_event_receiver() }
}
}
impl SomeProtocolProxyInterface for SomeProtocolProxy {}
pub struct SomeProtocolEventStream {
event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
}
impl std::marker::Unpin for SomeProtocolEventStream {}
impl futures::stream::FusedStream for SomeProtocolEventStream {
fn is_terminated(&self) -> bool {
self.event_receiver.is_terminated()
}
}
impl futures::Stream for SomeProtocolEventStream {
type Item = Result<SomeProtocolEvent, fidl::Error>;
fn poll_next(
mut self: std::pin::Pin<&mut Self>,
cx: &mut std::task::Context<'_>,
) -> std::task::Poll<Option<Self::Item>> {
match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
&mut self.event_receiver,
cx
)?) {
Some(buf) => std::task::Poll::Ready(Some(SomeProtocolEvent::decode(buf))),
None => std::task::Poll::Ready(None),
}
}
}
#[derive(Debug)]
pub enum SomeProtocolEvent {}
impl SomeProtocolEvent {
/// Decodes a message buffer as a [`SomeProtocolEvent`].
fn decode(
mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
) -> Result<SomeProtocolEvent, fidl::Error> {
let (bytes, _handles) = buf.split_mut();
let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
debug_assert_eq!(tx_header.tx_id, 0);
match tx_header.ordinal {
_ => Err(fidl::Error::UnknownOrdinal {
ordinal: tx_header.ordinal,
protocol_name: <SomeProtocolMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
}),
}
}
}
/// A Stream of incoming requests for test.handles/SomeProtocol.
pub struct SomeProtocolRequestStream {
inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
is_terminated: bool,
}
impl std::marker::Unpin for SomeProtocolRequestStream {}
impl futures::stream::FusedStream for SomeProtocolRequestStream {
fn is_terminated(&self) -> bool {
self.is_terminated
}
}
impl fidl::endpoints::RequestStream for SomeProtocolRequestStream {
type Protocol = SomeProtocolMarker;
type ControlHandle = SomeProtocolControlHandle;
fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
}
fn control_handle(&self) -> Self::ControlHandle {
SomeProtocolControlHandle { inner: self.inner.clone() }
}
fn into_inner(
self,
) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
{
(self.inner, self.is_terminated)
}
fn from_inner(
inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
is_terminated: bool,
) -> Self {
Self { inner, is_terminated }
}
}
impl futures::Stream for SomeProtocolRequestStream {
type Item = Result<SomeProtocolRequest, fidl::Error>;
fn poll_next(
mut self: std::pin::Pin<&mut Self>,
cx: &mut std::task::Context<'_>,
) -> std::task::Poll<Option<Self::Item>> {
let this = &mut *self;
if this.inner.check_shutdown(cx) {
this.is_terminated = true;
return std::task::Poll::Ready(None);
}
if this.is_terminated {
panic!("polled SomeProtocolRequestStream after completion");
}
fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
|bytes, handles| {
match this.inner.channel().read_etc(cx, bytes, handles) {
std::task::Poll::Ready(Ok(())) => {}
std::task::Poll::Pending => return std::task::Poll::Pending,
std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
this.is_terminated = true;
return std::task::Poll::Ready(None);
}
std::task::Poll::Ready(Err(e)) => {
return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
e.into(),
))));
}
}
// A message has been received from the channel
let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
std::task::Poll::Ready(Some(match header.ordinal {
_ => Err(fidl::Error::UnknownOrdinal {
ordinal: header.ordinal,
protocol_name:
<SomeProtocolMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
}),
}))
},
)
}
}
#[derive(Debug)]
pub enum SomeProtocolRequest {}
impl SomeProtocolRequest {
/// Name of the method defined in FIDL
pub fn method_name(&self) -> &'static str {
match *self {}
}
}
#[derive(Debug, Clone)]
pub struct SomeProtocolControlHandle {
inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
}
impl fidl::endpoints::ControlHandle for SomeProtocolControlHandle {
fn shutdown(&self) {
self.inner.shutdown()
}
fn shutdown_with_epitaph(&self, status: zx_status::Status) {
self.inner.shutdown_with_epitaph(status)
}
fn is_closed(&self) -> bool {
self.inner.channel().is_closed()
}
fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
self.inner.channel().on_closed()
}
#[cfg(target_os = "fuchsia")]
fn signal_peer(
&self,
clear_mask: zx::Signals,
set_mask: zx::Signals,
) -> Result<(), zx_status::Status> {
use fidl::Peered;
self.inner.channel().signal_peer(clear_mask, set_mask)
}
}
impl SomeProtocolControlHandle {}
mod internal {
use super::*;
impl fidl::encoding::ResourceTypeMarker for Handles {
type Borrowed<'a> = &'a mut Self;
fn take_or_borrow<'a>(
value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
) -> Self::Borrowed<'a> {
value
}
}
unsafe impl fidl::encoding::TypeMarker for Handles {
type Owned = Self;
#[inline(always)]
fn inline_align(_context: fidl::encoding::Context) -> usize {
4
}
#[inline(always)]
fn inline_size(_context: fidl::encoding::Context) -> usize {
140
}
}
unsafe impl fidl::encoding::Encode<Handles, fidl::encoding::DefaultFuchsiaResourceDialect>
for &mut Handles
{
#[inline]
unsafe fn encode(
self,
encoder: &mut fidl::encoding::Encoder<
'_,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
offset: usize,
_depth: fidl::encoding::Depth,
) -> fidl::Result<()> {
encoder.debug_check_bounds::<Handles>(offset);
// Delegate to tuple encoding.
fidl::encoding::Encode::<Handles, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
(
<fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.plain_handle),
<fidl::encoding::HandleType<fidl::Bti, { fidl::ObjectType::BTI.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.bti_handle),
<fidl::encoding::HandleType<fidl::Channel, { fidl::ObjectType::CHANNEL.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.channel_handle),
<fidl::encoding::HandleType<fidl::Clock, { fidl::ObjectType::CLOCK.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.clock_handle),
<fidl::encoding::HandleType<fidl::DebugLog, { fidl::ObjectType::DEBUGLOG.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.debuglog_handle),
<fidl::encoding::HandleType<fidl::Event, { fidl::ObjectType::EVENT.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.event_handle),
<fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.eventpair_handle),
<fidl::encoding::HandleType<fidl::Exception, { fidl::ObjectType::EXCEPTION.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.exception_handle),
<fidl::encoding::HandleType<fidl::Fifo, { fidl::ObjectType::FIFO.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.fifo_handle),
<fidl::encoding::HandleType<fidl::Guest, { fidl::ObjectType::GUEST.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.guest_handle),
<fidl::encoding::HandleType<fidl::Interrupt, { fidl::ObjectType::INTERRUPT.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.interrupt_handle),
<fidl::encoding::HandleType<fidl::Iob, { fidl::ObjectType::IOB.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.iob_handle),
<fidl::encoding::HandleType<fidl::Iommu, { fidl::ObjectType::IOMMU.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.iommu_handle),
<fidl::encoding::HandleType<fidl::Job, { fidl::ObjectType::JOB.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.job_handle),
<fidl::encoding::HandleType<fidl::Msi, { fidl::ObjectType::MSI.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.msi_handle),
<fidl::encoding::HandleType<fidl::Pager, { fidl::ObjectType::PAGER.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.pager_handle),
<fidl::encoding::HandleType<fidl::Pmt, { fidl::ObjectType::PMT.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.pmt_handle),
<fidl::encoding::HandleType<fidl::Port, { fidl::ObjectType::PORT.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.port_handle),
<fidl::encoding::HandleType<fidl::Process, { fidl::ObjectType::PROCESS.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.process_handle),
<fidl::encoding::HandleType<fidl::Profile, { fidl::ObjectType::PROFILE.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.profile_handle),
<fidl::encoding::HandleType<fidl::Resource, { fidl::ObjectType::RESOURCE.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.resource_handle),
<fidl::encoding::HandleType<fidl::Socket, { fidl::ObjectType::SOCKET.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.socket_handle),
<fidl::encoding::HandleType<fidl::Stream, { fidl::ObjectType::STREAM.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.stream_handle),
<fidl::encoding::HandleType<fidl::SuspendToken, { fidl::ObjectType::SUSPEND_TOKEN.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.suspendtoken_handle),
<fidl::encoding::HandleType<fidl::Thread, { fidl::ObjectType::THREAD.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.thread_handle),
<fidl::encoding::HandleType<fidl::Timer, { fidl::ObjectType::TIMER.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.timer_handle),
<fidl::encoding::HandleType<fidl::Vcpu, { fidl::ObjectType::VCPU.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.vcpu_handle),
<fidl::encoding::HandleType<fidl::Vmar, { fidl::ObjectType::VMAR.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.vmar_handle),
<fidl::encoding::HandleType<fidl::Vmo, { fidl::ObjectType::VMO.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.vmo_handle),
<fidl::encoding::HandleType<fidl::Vmo, { fidl::ObjectType::VMO.into_raw() }, 5> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.rights_handle),
<fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.aliased_plain_handle_field),
<fidl::encoding::HandleType<fidl::Vmo, { fidl::ObjectType::VMO.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.aliased_subtype_handle_field),
<fidl::encoding::HandleType<fidl::Vmo, { fidl::ObjectType::VMO.into_raw() }, 1> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.aliased_rights_handle_field),
<fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<SomeProtocolMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.some_protocol),
<fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<SomeProtocolMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.request_some_protocol),
),
encoder, offset, _depth
)
}
}
unsafe impl<
T0: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Handle,
{ fidl::ObjectType::NONE.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T1: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Bti,
{ fidl::ObjectType::BTI.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T2: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Channel,
{ fidl::ObjectType::CHANNEL.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T3: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Clock,
{ fidl::ObjectType::CLOCK.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T4: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::DebugLog,
{ fidl::ObjectType::DEBUGLOG.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T5: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Event,
{ fidl::ObjectType::EVENT.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T6: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::EventPair,
{ fidl::ObjectType::EVENTPAIR.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T7: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Exception,
{ fidl::ObjectType::EXCEPTION.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T8: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Fifo,
{ fidl::ObjectType::FIFO.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T9: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Guest,
{ fidl::ObjectType::GUEST.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T10: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Interrupt,
{ fidl::ObjectType::INTERRUPT.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T11: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Iob,
{ fidl::ObjectType::IOB.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T12: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Iommu,
{ fidl::ObjectType::IOMMU.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T13: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Job,
{ fidl::ObjectType::JOB.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T14: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Msi,
{ fidl::ObjectType::MSI.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T15: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Pager,
{ fidl::ObjectType::PAGER.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T16: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Pmt,
{ fidl::ObjectType::PMT.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T17: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Port,
{ fidl::ObjectType::PORT.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T18: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Process,
{ fidl::ObjectType::PROCESS.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T19: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Profile,
{ fidl::ObjectType::PROFILE.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T20: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Resource,
{ fidl::ObjectType::RESOURCE.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T21: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Socket,
{ fidl::ObjectType::SOCKET.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T22: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Stream,
{ fidl::ObjectType::STREAM.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T23: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::SuspendToken,
{ fidl::ObjectType::SUSPEND_TOKEN.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T24: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Thread,
{ fidl::ObjectType::THREAD.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T25: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Timer,
{ fidl::ObjectType::TIMER.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T26: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Vcpu,
{ fidl::ObjectType::VCPU.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T27: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Vmar,
{ fidl::ObjectType::VMAR.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T28: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Vmo,
{ fidl::ObjectType::VMO.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T29: fidl::encoding::Encode<
fidl::encoding::HandleType<fidl::Vmo, { fidl::ObjectType::VMO.into_raw() }, 5>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T30: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Handle,
{ fidl::ObjectType::NONE.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T31: fidl::encoding::Encode<
fidl::encoding::HandleType<
fidl::Vmo,
{ fidl::ObjectType::VMO.into_raw() },
2147483648,
>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T32: fidl::encoding::Encode<
fidl::encoding::HandleType<fidl::Vmo, { fidl::ObjectType::VMO.into_raw() }, 1>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T33: fidl::encoding::Encode<
fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<SomeProtocolMarker>>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
T34: fidl::encoding::Encode<
fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<SomeProtocolMarker>>,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
> fidl::encoding::Encode<Handles, fidl::encoding::DefaultFuchsiaResourceDialect>
for (
T0,
T1,
T2,
T3,
T4,
T5,
T6,
T7,
T8,
T9,
T10,
T11,
T12,
T13,
T14,
T15,
T16,
T17,
T18,
T19,
T20,
T21,
T22,
T23,
T24,
T25,
T26,
T27,
T28,
T29,
T30,
T31,
T32,
T33,
T34,
)
{
#[inline]
unsafe fn encode(
self,
encoder: &mut fidl::encoding::Encoder<
'_,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
offset: usize,
depth: fidl::encoding::Depth,
) -> fidl::Result<()> {
encoder.debug_check_bounds::<Handles>(offset);
// Zero out padding regions. There's no need to apply masks
// because the unmasked parts will be overwritten by fields.
// Write the fields.
self.0.encode(encoder, offset + 0, depth)?;
self.1.encode(encoder, offset + 4, depth)?;
self.2.encode(encoder, offset + 8, depth)?;
self.3.encode(encoder, offset + 12, depth)?;
self.4.encode(encoder, offset + 16, depth)?;
self.5.encode(encoder, offset + 20, depth)?;
self.6.encode(encoder, offset + 24, depth)?;
self.7.encode(encoder, offset + 28, depth)?;
self.8.encode(encoder, offset + 32, depth)?;
self.9.encode(encoder, offset + 36, depth)?;
self.10.encode(encoder, offset + 40, depth)?;
self.11.encode(encoder, offset + 44, depth)?;
self.12.encode(encoder, offset + 48, depth)?;
self.13.encode(encoder, offset + 52, depth)?;
self.14.encode(encoder, offset + 56, depth)?;
self.15.encode(encoder, offset + 60, depth)?;
self.16.encode(encoder, offset + 64, depth)?;
self.17.encode(encoder, offset + 68, depth)?;
self.18.encode(encoder, offset + 72, depth)?;
self.19.encode(encoder, offset + 76, depth)?;
self.20.encode(encoder, offset + 80, depth)?;
self.21.encode(encoder, offset + 84, depth)?;
self.22.encode(encoder, offset + 88, depth)?;
self.23.encode(encoder, offset + 92, depth)?;
self.24.encode(encoder, offset + 96, depth)?;
self.25.encode(encoder, offset + 100, depth)?;
self.26.encode(encoder, offset + 104, depth)?;
self.27.encode(encoder, offset + 108, depth)?;
self.28.encode(encoder, offset + 112, depth)?;
self.29.encode(encoder, offset + 116, depth)?;
self.30.encode(encoder, offset + 120, depth)?;
self.31.encode(encoder, offset + 124, depth)?;
self.32.encode(encoder, offset + 128, depth)?;
self.33.encode(encoder, offset + 132, depth)?;
self.34.encode(encoder, offset + 136, depth)?;
Ok(())
}
}
impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect> for Handles {
#[inline(always)]
fn new_empty() -> Self {
Self {
plain_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
bti_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Bti, { fidl::ObjectType::BTI.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
channel_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Channel, { fidl::ObjectType::CHANNEL.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
clock_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Clock, { fidl::ObjectType::CLOCK.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
debuglog_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::DebugLog, { fidl::ObjectType::DEBUGLOG.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
event_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Event, { fidl::ObjectType::EVENT.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
eventpair_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
exception_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Exception, { fidl::ObjectType::EXCEPTION.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
fifo_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Fifo, { fidl::ObjectType::FIFO.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
guest_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Guest, { fidl::ObjectType::GUEST.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
interrupt_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Interrupt, { fidl::ObjectType::INTERRUPT.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
iob_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Iob, { fidl::ObjectType::IOB.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
iommu_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Iommu, { fidl::ObjectType::IOMMU.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
job_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Job, { fidl::ObjectType::JOB.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
msi_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Msi, { fidl::ObjectType::MSI.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
pager_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Pager, { fidl::ObjectType::PAGER.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
pmt_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Pmt, { fidl::ObjectType::PMT.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
port_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Port, { fidl::ObjectType::PORT.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
process_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Process, { fidl::ObjectType::PROCESS.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
profile_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Profile, { fidl::ObjectType::PROFILE.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
resource_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Resource, { fidl::ObjectType::RESOURCE.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
socket_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Socket, { fidl::ObjectType::SOCKET.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
stream_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Stream, { fidl::ObjectType::STREAM.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
suspendtoken_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::SuspendToken, { fidl::ObjectType::SUSPEND_TOKEN.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
thread_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Thread, { fidl::ObjectType::THREAD.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
timer_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Timer, { fidl::ObjectType::TIMER.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
vcpu_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Vcpu, { fidl::ObjectType::VCPU.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
vmar_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Vmar, { fidl::ObjectType::VMAR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
vmo_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Vmo, { fidl::ObjectType::VMO.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
rights_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Vmo, { fidl::ObjectType::VMO.into_raw() }, 5>, fidl::encoding::DefaultFuchsiaResourceDialect),
aliased_plain_handle_field: fidl::new_empty!(fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
aliased_subtype_handle_field: fidl::new_empty!(fidl::encoding::HandleType<fidl::Vmo, { fidl::ObjectType::VMO.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
aliased_rights_handle_field: fidl::new_empty!(fidl::encoding::HandleType<fidl::Vmo, { fidl::ObjectType::VMO.into_raw() }, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
some_protocol: fidl::new_empty!(
fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<SomeProtocolMarker>>,
fidl::encoding::DefaultFuchsiaResourceDialect
),
request_some_protocol: fidl::new_empty!(
fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<SomeProtocolMarker>>,
fidl::encoding::DefaultFuchsiaResourceDialect
),
}
}
#[inline]
unsafe fn decode(
&mut self,
decoder: &mut fidl::encoding::Decoder<
'_,
fidl::encoding::DefaultFuchsiaResourceDialect,
>,
offset: usize,
_depth: fidl::encoding::Depth,
) -> fidl::Result<()> {
decoder.debug_check_bounds::<Self>(offset);
// Verify that padding bytes are zero.
fidl::decode!(fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.plain_handle, decoder, offset + 0, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Bti, { fidl::ObjectType::BTI.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.bti_handle, decoder, offset + 4, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Channel, { fidl::ObjectType::CHANNEL.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.channel_handle, decoder, offset + 8, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Clock, { fidl::ObjectType::CLOCK.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.clock_handle, decoder, offset + 12, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::DebugLog, { fidl::ObjectType::DEBUGLOG.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.debuglog_handle, decoder, offset + 16, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Event, { fidl::ObjectType::EVENT.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.event_handle, decoder, offset + 20, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.eventpair_handle, decoder, offset + 24, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Exception, { fidl::ObjectType::EXCEPTION.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.exception_handle, decoder, offset + 28, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Fifo, { fidl::ObjectType::FIFO.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.fifo_handle, decoder, offset + 32, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Guest, { fidl::ObjectType::GUEST.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.guest_handle, decoder, offset + 36, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Interrupt, { fidl::ObjectType::INTERRUPT.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.interrupt_handle, decoder, offset + 40, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Iob, { fidl::ObjectType::IOB.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.iob_handle, decoder, offset + 44, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Iommu, { fidl::ObjectType::IOMMU.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.iommu_handle, decoder, offset + 48, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Job, { fidl::ObjectType::JOB.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.job_handle, decoder, offset + 52, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Msi, { fidl::ObjectType::MSI.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.msi_handle, decoder, offset + 56, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Pager, { fidl::ObjectType::PAGER.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.pager_handle, decoder, offset + 60, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Pmt, { fidl::ObjectType::PMT.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.pmt_handle, decoder, offset + 64, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Port, { fidl::ObjectType::PORT.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.port_handle, decoder, offset + 68, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Process, { fidl::ObjectType::PROCESS.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.process_handle, decoder, offset + 72, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Profile, { fidl::ObjectType::PROFILE.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.profile_handle, decoder, offset + 76, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Resource, { fidl::ObjectType::RESOURCE.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.resource_handle, decoder, offset + 80, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Socket, { fidl::ObjectType::SOCKET.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.socket_handle, decoder, offset + 84, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Stream, { fidl::ObjectType::STREAM.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.stream_handle, decoder, offset + 88, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::SuspendToken, { fidl::ObjectType::SUSPEND_TOKEN.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.suspendtoken_handle, decoder, offset + 92, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Thread, { fidl::ObjectType::THREAD.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.thread_handle, decoder, offset + 96, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Timer, { fidl::ObjectType::TIMER.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.timer_handle, decoder, offset + 100, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Vcpu, { fidl::ObjectType::VCPU.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.vcpu_handle, decoder, offset + 104, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Vmar, { fidl::ObjectType::VMAR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.vmar_handle, decoder, offset + 108, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Vmo, { fidl::ObjectType::VMO.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.vmo_handle, decoder, offset + 112, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Vmo, { fidl::ObjectType::VMO.into_raw() }, 5>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.rights_handle, decoder, offset + 116, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.aliased_plain_handle_field, decoder, offset + 120, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Vmo, { fidl::ObjectType::VMO.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.aliased_subtype_handle_field, decoder, offset + 124, _depth)?;
fidl::decode!(fidl::encoding::HandleType<fidl::Vmo, { fidl::ObjectType::VMO.into_raw() }, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.aliased_rights_handle_field, decoder, offset + 128, _depth)?;
fidl::decode!(
fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<SomeProtocolMarker>>,
fidl::encoding::DefaultFuchsiaResourceDialect,
&mut self.some_protocol,
decoder,
offset + 132,
_depth
)?;
fidl::decode!(
fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<SomeProtocolMarker>>,
fidl::encoding::DefaultFuchsiaResourceDialect,
&mut self.request_some_protocol,
decoder,
offset + 136,
_depth
)?;
Ok(())
}
}
}