class OfferProtocol

Defined at line 5697 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/cpp/fidl/fuchsia.component.decl/cpp/natural_types.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 Methods

void OfferProtocol (Storage_ storage)
void OfferProtocol ()

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

void OfferProtocol (OfferProtocol && )

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

void OfferProtocol (const OfferProtocol & other)
OfferProtocol & operator= (OfferProtocol && )

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

OfferProtocol & operator= (const OfferProtocol & other)
bool operator== (const OfferProtocol & other)
bool operator!= (const OfferProtocol & other)
bool IsEmpty ()
const std::optional< ::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.

::std::optional< ::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.

OfferProtocol & source (std::optional< ::fuchsia_component_decl::Ref> value)

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

const std::optional< ::std::string> & source_name ()

(Required) Name identifying the protocol being offered.

::std::optional< ::std::string> & source_name ()

(Required) Name identifying the protocol being offered.

OfferProtocol & source_name (std::optional< ::std::string> value)

(Required) Name identifying the protocol being offered.

const std::optional< ::fuchsia_component_decl::Ref> & target ()

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

a dictionary `capability`.

::std::optional< ::fuchsia_component_decl::Ref> & target ()

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

a dictionary `capability`.

OfferProtocol & target (std::optional< ::fuchsia_component_decl::Ref> value)

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

a dictionary `capability`.

const std::optional< ::std::string> & target_name ()

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

::std::optional< ::std::string> & target_name ()

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

OfferProtocol & target_name (std::optional< ::std::string> value)

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

const std::optional< ::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.

::std::optional< ::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.

OfferProtocol & dependency_type (std::optional< ::fuchsia_component_decl::DependencyType> value)

(Required) The dependency type this offer represents. A component which

receives a weak offer must support the offered capability being

unavailable at any point.

const std::optional< ::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.

::std::optional< ::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.

OfferProtocol & availability (std::optional< ::fuchsia_component_decl::Availability> value)

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

const std::optional< ::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.

::std::optional< ::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.

OfferProtocol & source_dictionary (std::optional< ::std::string> value)

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

void OfferProtocol (::fidl::internal::DefaultConstructPossiblyInvalidObjectTag )

Friends

class MemberVisitor
class NaturalTableCodingTraits