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 Decode<ExposeProtocol> for ExposeProtocol
impl Decode<ExposeProtocol> for ExposeProtocol
source§impl Default for ExposeProtocol
impl Default for ExposeProtocol
source§fn default() -> ExposeProtocol
fn default() -> ExposeProtocol
source§impl Encode<ExposeProtocol> for &ExposeProtocol
impl Encode<ExposeProtocol> for &ExposeProtocol
source§impl PartialEq for ExposeProtocol
impl PartialEq for ExposeProtocol
source§fn eq(&self, other: &ExposeProtocol) -> bool
fn eq(&self, other: &ExposeProtocol) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl TypeMarker for ExposeProtocol
impl TypeMarker for ExposeProtocol
§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
§type Borrowed<'a> = &'a ExposeProtocol
type Borrowed<'a> = &'a ExposeProtocol
Encode<Self>
type cheaply obtainable from &Self::Owned
. There are three cases: Read more