class UseProtocol

Defined at line 11273 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

Declares a protocol used by a component, which was offered to it.

A protocol is a service with a single instance, provided by a single FIDL

protocol.

Public Members

static const fidl_type_t * FidlType

Public Methods

bool IsEmpty ()

Returns whether no field is set.

UseProtocol & set_source (::fuchsia::component::decl::Ref _value)
UseProtocol & set_source_name (::std::string _value)
UseProtocol & set_target_path (::std::string _value)
UseProtocol & set_dependency_type (::fuchsia::component::decl::DependencyType _value)
UseProtocol & set_availability (::fuchsia::component::decl::Availability _value)
UseProtocol & set_source_dictionary (::std::string _value)
UseProtocol & set_numbered_handle (uint8_t _value)
void UseProtocol ()
void UseProtocol (UseProtocol && other)
void ~UseProtocol ()
UseProtocol & operator= (UseProtocol && other)
::std::unique_ptr<UseProtocol> New ()
void Encode (::fidl::Encoder * _encoder, size_t _offset, std::optional< ::fidl::HandleInformation> maybe_handle_info)
void Decode (::fidl::Decoder * _decoder, UseProtocol * _value, size_t _offset)
zx_status_t Clone (UseProtocol * _result)
const ::fuchsia::component::decl::Ref & source ()

(Required) The provider of the protocol relative to the component

itself. Must be `parent`, `framework`, `debug`, `capability` or `child`.

Defined at line 11281 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

bool has_source ()

Defined at line 11285 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

::fuchsia::component::decl::Ref * mutable_source ()

(Required) The provider of the protocol relative to the component

itself. Must be `parent`, `framework`, `debug`, `capability` or `child`.

Defined at line 11291 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

void clear_source ()

Defined at line 11299 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

const ::std::string & source_name ()

(Required) Name identifying the protocol, by which it was presented to this

component.

Defined at line 11309 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

bool has_source_name ()

Defined at line 11313 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

::std::string * mutable_source_name ()

(Required) Name identifying the protocol, by which it was presented to this

component.

Defined at line 11319 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

void clear_source_name ()

Defined at line 11327 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

const ::std::string & target_path ()

(Required) The path where the capability should be installed in the component's

namespace.

Must be an absolute path starting with /.

Defined at line 11339 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

bool has_target_path ()

Defined at line 11343 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

::std::string * mutable_target_path ()

(Required) The path where the capability should be installed in the component's

namespace.

Must be an absolute path starting with /.

Defined at line 11351 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

void clear_target_path ()

Defined at line 11359 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

const ::fuchsia::component::decl::DependencyType & dependency_type ()

(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.

Defined at line 11375 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

bool has_dependency_type ()

Defined at line 11379 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

::fuchsia::component::decl::DependencyType * mutable_dependency_type ()

(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.

Defined at line 11391 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

void clear_dependency_type ()

Defined at line 11399 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

const ::fuchsia::component::decl::Availability & 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.

Defined at line 11411 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

bool has_availability ()

Defined at line 11415 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

::fuchsia::component::decl::Availability * mutable_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.

Defined at line 11423 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

void clear_availability ()

Defined at line 11431 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

const ::std::string & source_dictionary ()

(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.

Defined at line 11443 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

bool has_source_dictionary ()

Defined at line 11447 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

::std::string * mutable_source_dictionary ()

(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.

Defined at line 11455 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

void clear_source_dictionary ()

Defined at line 11463 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

const uint8_t & numbered_handle ()

(Optional) A processargs ordinal (zircon/processargs.h) by which a channel to this protocol

will be delivered to the component's processargs.

Must be a valid processargs ordinal defined in `zircon/processargs.h`.

If this is set, we still require `target_path` to also be set, although we could relax this

restriction in the future.

Defined at line 11478 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

bool has_numbered_handle ()

Defined at line 11482 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

uint8_t * mutable_numbered_handle ()

(Optional) A processargs ordinal (zircon/processargs.h) by which a channel to this protocol

will be delivered to the component's processargs.

Must be a valid processargs ordinal defined in `zircon/processargs.h`.

If this is set, we still require `target_path` to also be set, although we could relax this

restriction in the future.

Defined at line 11493 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

void clear_numbered_handle ()

Defined at line 11501 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h