pub struct UseService {
pub source: Option<Ref>,
pub source_name: Option<String>,
pub target_path: Option<String>,
pub dependency_type: Option<DependencyType>,
pub availability: Option<Availability>,
pub source_dictionary: Option<String>,
/* private fields */
}
Expand description
Declares a service used by a component, which was offered to it.
To learn more about services, see: https://fuchsia.dev/fuchsia-src/glossary#service
Fields§
§source: Option<Ref>
(Required) The provider of the protocol relative to the component
itself. Must be parent
, framework
, self
, or child
.
source_name: Option<String>
(Required) Name identifying the service, by which it was presented to this component.
target_path: Option<String>
(Required) The path where the capability should be installed in the component’s namespace.
Must be an absolute path starting with /.
dependency_type: Option<DependencyType>
(Required) The dependency type this use represents.
A component which offers a capability to a child from itself and uses a
capability from the same child, must mark the dependency as weak
. A
weak
dependency implies that the capability may become unavailable at
any point. Taking a strong dependency on a child’s capability will
cause this the child to shut down before its parent. When using a weak
dependency, the parent shuts down before the child.
availability: Option<Availability>
(Optional, defaults to REQUIRED
) The availability of this capability.
If set to required
, the component is likely to malfunction if this
capability is not provided. If set to optional
, the component can
handle the capability’s absence.
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 UseService
impl Clone for UseService
Source§fn clone(&self) -> UseService
fn clone(&self) -> UseService
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for UseService
impl Debug for UseService
Source§impl<D: ResourceDialect> Decode<UseService, D> for UseService
impl<D: ResourceDialect> Decode<UseService, D> for UseService
Source§impl Default for UseService
impl Default for UseService
Source§fn default() -> UseService
fn default() -> UseService
Source§impl<D: ResourceDialect> Encode<UseService, D> for &UseService
impl<D: ResourceDialect> Encode<UseService, D> for &UseService
Source§impl PartialEq for UseService
impl PartialEq for UseService
Source§impl TypeMarker for UseService
impl TypeMarker for UseService
Source§type Owned = UseService
type Owned = UseService
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 UseService
impl ValueTypeMarker for UseService
Source§type Borrowed<'a> = &'a UseService
type Borrowed<'a> = &'a UseService
Encode<Self>
type cheaply obtainable from &Self::Owned
. There are three cases: Read more