pub struct OfferProtocol {
pub source: Option<Ref>,
pub source_name: Option<String>,
pub target: Option<Ref>,
pub target_name: Option<String>,
pub dependency_type: Option<DependencyType>,
pub availability: Option<Availability>,
pub source_dictionary: Option<String>,
/* private fields */
}
Expand description
Declares a protocol offered by a component to one of its children, which may have been offered by the component’s containing realm, the component itself, or one of its other children.
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 parent
, self
, child
, or void
.
If set to void
, then the target must offer or use the capability with
OPTIONAL
or TRANSITIONAL
availability.
source_name: Option<String>
(Required) Name identifying the protocol being offered.
target: Option<Ref>
(Required) Reference to the target. Must be child
, collection
, or
a dictionary capability
.
target_name: Option<String>
(Required) The name by which the capability is being offered.
dependency_type: Option<DependencyType>
(Required) The dependency type this offer represents. A component which receives a weak offer must support the offered capability being unavailable at any point.
availability: Option<Availability>
(Optional, defaults to REQUIRED
) The availability of this capability.
If set to required
, the target may use or offer the capability with
either required
or optional
availability. If set to optional
, the
target must use or offer the capability with optional
availability.
The same_as_target
value causes this offer’s availability to match the
availability set in the target.
source_dictionary: Option<String>
(Optional) Path in a dictionary provided by source
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 this
dictionary.
Trait Implementations§
Source§impl Clone for OfferProtocol
impl Clone for OfferProtocol
Source§fn clone(&self) -> OfferProtocol
fn clone(&self) -> OfferProtocol
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for OfferProtocol
impl Debug for OfferProtocol
Source§impl<D: ResourceDialect> Decode<OfferProtocol, D> for OfferProtocol
impl<D: ResourceDialect> Decode<OfferProtocol, D> for OfferProtocol
Source§impl Default for OfferProtocol
impl Default for OfferProtocol
Source§fn default() -> OfferProtocol
fn default() -> OfferProtocol
Source§impl<D: ResourceDialect> Encode<OfferProtocol, D> for &OfferProtocol
impl<D: ResourceDialect> Encode<OfferProtocol, D> for &OfferProtocol
Source§impl PartialEq for OfferProtocol
impl PartialEq for OfferProtocol
Source§impl TypeMarker for OfferProtocol
impl TypeMarker for OfferProtocol
Source§type Owned = OfferProtocol
type Owned = OfferProtocol
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 OfferProtocol
impl ValueTypeMarker for OfferProtocol
Source§type Borrowed<'a> = &'a OfferProtocol
type Borrowed<'a> = &'a OfferProtocol
Encode<Self>
type cheaply obtainable from &Self::Owned
. There are three cases: Read moreimpl Persistable for OfferProtocol
impl StructuralPartialEq for OfferProtocol
Auto Trait Implementations§
impl Freeze for OfferProtocol
impl RefUnwindSafe for OfferProtocol
impl Send for OfferProtocol
impl Sync for OfferProtocol
impl Unpin for OfferProtocol
impl UnwindSafe for OfferProtocol
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
)