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 moreimpl Persistable for ExposeProtocol
impl StructuralPartialEq for ExposeProtocol
Auto Trait Implementations§
impl Freeze for ExposeProtocol
impl RefUnwindSafe for ExposeProtocol
impl Send for ExposeProtocol
impl Sync for ExposeProtocol
impl Unpin for ExposeProtocol
impl UnwindSafe for ExposeProtocol
Blanket Implementations§
§impl<T> Body for Twhere
T: Persistable,
impl<T> Body for Twhere
T: Persistable,
§type MarkerAtTopLevel = T
type MarkerAtTopLevel = T
§type MarkerInResultUnion = T
type MarkerInResultUnion = T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)