template <typename BuilderImpl>

class WireTableBaseBuilder

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

Public Methods

::fuchsia_component_decl::wire::OfferService Build ()

Build and return the table. The builder should not be used after this.

bool has_source ()
void clear_source ()

Clears the source field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fuchsia_component_decl::wire::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.

BuilderImpl & source (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_component_decl::wire::Ref>> elem)

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

bool has_source_name ()
void clear_source_name ()

Clears the source_name field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::StringView & source_name ()

(Required) Name identifying the service being offered.

BuilderImpl & source_name (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::StringView>> elem)

(Required) Name identifying the service being offered.

bool has_target ()
void clear_target ()

Clears the target field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fuchsia_component_decl::wire::Ref & target ()

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

a dictionary `capability`.

BuilderImpl & target (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_component_decl::wire::Ref>> elem)

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

a dictionary `capability`.

bool has_target_name ()
void clear_target_name ()

Clears the target_name field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::StringView & target_name ()

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

BuilderImpl & target_name (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::StringView>> elem)

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

bool has_source_instance_filter ()
void clear_source_instance_filter ()

Clears the source_instance_filter field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::VectorView< ::fidl::StringView> & source_instance_filter ()

(Optional) The list of allowlisted instances to be offered. Instances

of the service not in this list will not be accessible by the target

component. If this is not set that means all instances from the source

service are offered.

BuilderImpl & source_instance_filter (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fidl::StringView>>> elem)

(Optional) The list of allowlisted instances to be offered. Instances

of the service not in this list will not be accessible by the target

component. If this is not set that means all instances from the source

service are offered.

bool has_renamed_instances ()
void clear_renamed_instances ()

Clears the renamed_instances field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::VectorView< ::fuchsia_component_decl::wire::NameMapping> & renamed_instances ()

(Optional) The list of allowlisted instances to be offered, with

renames.

If this is set and nonempty, the set of instances in the target service

will be restricted to the instances in this list, renaming `source_name`

to `target_name`.

If it is set and nonempty, `source_instance_filter` will further

restrict the set of instances to those whose `target_name` appears in

that list. There is generally no reason to set both, but we support it

for compatibility.

BuilderImpl & renamed_instances (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_component_decl::wire::NameMapping>>> elem)

(Optional) The list of allowlisted instances to be offered, with

renames.

If this is set and nonempty, the set of instances in the target service

will be restricted to the instances in this list, renaming `source_name`

to `target_name`.

If it is set and nonempty, `source_instance_filter` will further

restrict the set of instances to those whose `target_name` appears in

that list. There is generally no reason to set both, but we support it

for compatibility.

bool has_availability ()
void clear_availability ()

Clears the availability field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fuchsia_component_decl::wire::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.

BuilderImpl & availability (::fuchsia_component_decl::wire::Availability elem)

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

bool has_source_dictionary ()
void clear_source_dictionary ()

Clears the source_dictionary field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::StringView & 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.

BuilderImpl & source_dictionary (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::StringView>> elem)

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

bool has_dependency_type ()
void clear_dependency_type ()

Clears the dependency_type field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fuchsia_component_decl::wire::DependencyType & dependency_type ()

(Optional, defaults to `STRONG`) The dependency type this offer represents.

A component which receives a weak offer must support the offered capability being

unavailable at any point.

BuilderImpl & dependency_type (::fuchsia_component_decl::wire::DependencyType elem)

(Optional, defaults to `STRONG`) The dependency type this offer represents.

A component which receives a weak offer must support the offered capability being

unavailable at any point.

Protected Methods

void WireTableBaseBuilder< ::fuchsia_component_decl::wire::OfferService, BuilderImpl> (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_component_decl::wire::OfferService>> && frame)

Records