Skip to main content

ViewIdentityOnCreation

Struct ViewIdentityOnCreation 

Source
#[repr(C)]
pub struct ViewIdentityOnCreation { pub view_ref: ViewRef, pub view_ref_control: ViewRefControl, }
Expand description

Convenience data type to self-identify the view, during view creation.

A ViewRef is used to identify the view, and can be freely cloned and distributed to other components.

A ViewRefControl is used to implement lifecycle notification, and must not be cloned, and cannot be distributed to other components. Scenic binds the ViewRefControl object to the view, so when the view is destroyed, the destruction of the ViewRefControl triggers a ZX_EVENTPAIR_PEER_CLOSED signal to all ViewRef holders, thus notifying view death.

Usage: When creating a view, place a ViewRef and ViewRefControl together in this struct, so that they travel as a unit to the destination component. This convenience struct allows a protocol author to describe this traveling pair as one argument. It improves readability and reduces mishandling.

Fields§

§view_ref: ViewRef§view_ref_control: ViewRefControl

Trait Implementations§

Source§

impl Debug for ViewIdentityOnCreation

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<___E> Encode<ViewIdentityOnCreation, ___E> for ViewIdentityOnCreation
where ___E: InternalHandleEncoder + ?Sized + HandleEncoder,

Source§

const COPY_OPTIMIZATION: CopyOptimization<Self, ViewIdentityOnCreation>

Whether the conversion from Self to W is equivalent to copying the raw bytes of Self. Read more
Source§

fn encode( self, encoder_: &mut ___E, out_: &mut MaybeUninit<ViewIdentityOnCreation>, _: (), ) -> Result<(), EncodeError>

Encodes this value into an encoder and output.
Source§

impl<___E> EncodeOption<Box<'static, ViewIdentityOnCreation>, ___E> for ViewIdentityOnCreation
where ___E: Encoder + ?Sized, ViewIdentityOnCreation: Encode<ViewIdentityOnCreation, ___E>,

Source§

fn encode_option( this: Option<Self>, encoder: &mut ___E, out: &mut MaybeUninit<Box<'static, ViewIdentityOnCreation>>, _: (), ) -> Result<(), EncodeError>

Encodes this optional value into an encoder and output.
Source§

impl FromWire<ViewIdentityOnCreation> for ViewIdentityOnCreation

Source§

const COPY_OPTIMIZATION: CopyOptimization<ViewIdentityOnCreation, Self>

Whether the conversion from W to Self is equivalent to copying the raw bytes of W. Read more
Source§

fn from_wire(wire: ViewIdentityOnCreation) -> Self

Converts the given owned value to this type.
Source§

impl PartialEq for ViewIdentityOnCreation

Source§

fn eq(&self, other: &ViewIdentityOnCreation) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for ViewIdentityOnCreation

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, W> FromWireOption<Box<'_, W>> for T
where T: FromWire<W>,

§

fn from_wire_option(wire: Box<'_, W>) -> Option<T>

Converts the given owned value to an option of this type.
§

impl<T> InstanceFromServiceTransport<T> for T

§

fn from_service_transport(handle: T) -> T

Converts the given service transport handle of type T to [Self]
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<E> RunsTransport<Mpsc> for E

§

impl<E> RunsTransport<Mpsc> for E
where E: RunsTransport<Mpsc>,