Struct ExposeProtocol
pub struct ExposeProtocol {
pub source: Option<Ref>,
pub source_name: Option<String>,
pub target: Option<Ref>,
pub target_name: Option<String>,
pub availability: Option<Availability>,
pub source_dictionary: Option<String>,
/* private fields */
}
Expand description
Declares a protocol exposed to a component’s containing realm, such as a protocol exposed by the component or one of its children at runtime.
To learn more about protocols, see: https://fuchsia.dev/fuchsia-src/glossary#protocol
Fields§
§source: Option<Ref>
(Required) The provider of the capability relative to the component
itself. Must be self
or child
, or void
. If set to void
, then the
target must expose, offer, or use the capability with OPTIONAL
or
TRANSITIONAL
availability.
source_name: Option<String>
(Required) Name identifying the protocol, by which it was presented to this component.
target: Option<Ref>
(Required) The destination to which the protocol is exposed: either the component’s realm or the framework.
target_name: Option<String>
(Required) The name by which the capability is being exposed.
availability: Option<Availability>
(Optional, defaults to REQUIRED
) The availability of this capability.
See Availability
.
source_dictionary: Option<String>
(Optional) Path in a dictionary offered by ref
which contains source_name
.
If this field is absent, source_name
identifies a capability directly routed
by source
. If set, source_name
identifies a capability nested inside a
dictionary. The name of the top-level dictionary is given by the first path
segment of source_dictionary
, and source
is expected to route a
dictionary capability with this name. The rest of the path (possibly empty)
represents the path to a dictionary nested in the top-level dictionary which
is expected to contain source_name
.
Trait Implementations§
§impl Clone for ExposeProtocol
impl Clone for ExposeProtocol
§fn clone(&self) -> ExposeProtocol
fn clone(&self) -> ExposeProtocol
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for ExposeProtocol
impl Debug for ExposeProtocol
§impl<D> Decode<ExposeProtocol, D> for ExposeProtocolwhere
D: ResourceDialect,
impl<D> Decode<ExposeProtocol, D> for ExposeProtocolwhere
D: ResourceDialect,
§fn new_empty() -> ExposeProtocol
fn new_empty() -> ExposeProtocol
Self
. The specific value does not matter,
since it will be overwritten by decode
.§impl Default for ExposeProtocol
impl Default for ExposeProtocol
§fn default() -> ExposeProtocol
fn default() -> ExposeProtocol
§impl<D> Encode<ExposeProtocol, D> for &ExposeProtocolwhere
D: ResourceDialect,
impl<D> Encode<ExposeProtocol, D> for &ExposeProtocolwhere
D: ResourceDialect,
§impl PartialEq for ExposeProtocol
impl PartialEq for ExposeProtocol
§impl TypeMarker for ExposeProtocol
impl TypeMarker for ExposeProtocol
§type Owned = ExposeProtocol
type Owned = ExposeProtocol
§fn inline_align(_context: Context) -> usize
fn inline_align(_context: Context) -> usize
§fn inline_size(_context: Context) -> usize
fn inline_size(_context: Context) -> usize
inline_align
.§fn encode_is_copy() -> bool
fn encode_is_copy() -> bool
Self::Owned
matches the FIDL wire
format and encoding requires no validation. When true, we can optimize
encoding arrays and vectors of Self::Owned
to a single memcpy. Read more§fn decode_is_copy() -> bool
fn decode_is_copy() -> bool
Self::Owned
matches the FIDL wire
format and decoding requires no validation. When true, we can optimize
decoding arrays and vectors of Self::Owned
to a single memcpy.§impl ValueTypeMarker for ExposeProtocol
impl ValueTypeMarker for ExposeProtocol
§type Borrowed<'a> = &'a ExposeProtocol
type Borrowed<'a> = &'a ExposeProtocol
Encode<Self>
type cheaply obtainable from &Self::Owned
. There are three cases: Read more§fn borrow(
value: &<ExposeProtocol as TypeMarker>::Owned,
) -> <ExposeProtocol as ValueTypeMarker>::Borrowed<'_>
fn borrow( value: &<ExposeProtocol as TypeMarker>::Owned, ) -> <ExposeProtocol as ValueTypeMarker>::Borrowed<'_>
&Self::Owned
to Self::Borrowed
.