class OfferProtocol

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

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

Public Members

static const fidl_type_t * FidlType

Public Methods

bool IsEmpty ()

Returns whether no field is set.

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

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

Defined at line 8625 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 8629 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 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.

Defined at line 8637 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 8645 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 being offered.

Defined at line 8654 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 8658 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 being offered.

Defined at line 8663 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 8671 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h

const ::fuchsia::component::decl::Ref & target ()

(Required) Reference to the target. Must be `child`, `collection`, or

a dictionary `capability`.

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

bool has_target ()

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

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

(Required) Reference to the target. Must be `child`, `collection`, or

a dictionary `capability`.

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

void clear_target ()

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

const ::std::string & target_name ()

(Required) The name by which the capability is being offered.

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

bool has_target_name ()

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

::std::string * mutable_target_name ()

(Required) The name by which the capability is being offered.

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

void clear_target_name ()

Defined at line 8725 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 offer represents. A component which

receives a weak offer must support the offered capability being

unavailable at any point.

Defined at line 8736 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 8740 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 offer represents. A component which

receives a weak offer must support the offered capability being

unavailable at any point.

Defined at line 8747 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 8755 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 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.

Defined at line 8769 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 8773 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 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.

Defined at line 8783 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 8791 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 8803 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 8807 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 8815 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 8823 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h