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§
Source§impl Clone for ExposeProtocol
impl Clone for ExposeProtocol
Source§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 moreSource§impl Debug for ExposeProtocol
impl Debug for ExposeProtocol
Source§impl<D: ResourceDialect> Decode<ExposeProtocol, D> for ExposeProtocol
impl<D: ResourceDialect> Decode<ExposeProtocol, D> for ExposeProtocol
Source§impl Default for ExposeProtocol
impl Default for ExposeProtocol
Source§fn default() -> ExposeProtocol
fn default() -> ExposeProtocol
Source§impl<D: ResourceDialect> Encode<ExposeProtocol, D> for &ExposeProtocol
impl<D: ResourceDialect> Encode<ExposeProtocol, D> for &ExposeProtocol
Source§impl PartialEq for ExposeProtocol
impl PartialEq for ExposeProtocol
Source§impl TypeMarker for ExposeProtocol
impl TypeMarker for ExposeProtocol
Source§type Owned = ExposeProtocol
type Owned = ExposeProtocol
Source§fn inline_align(_context: Context) -> usize
fn inline_align(_context: Context) -> usize
Source§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.Source§impl ValueTypeMarker for ExposeProtocol
impl ValueTypeMarker for ExposeProtocol
Source§type Borrowed<'a> = &'a ExposeProtocol
type Borrowed<'a> = &'a ExposeProtocol
Encode<Self>
type cheaply obtainable from &Self::Owned
. There are three cases: Read more