template <typename BuilderImpl>

class WireTableBaseBuilder

Defined at line 14077 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::UseProtocol 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 protocol relative to the component

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

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

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

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

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 protocol, by which it was presented to this

component.

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

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

component.

bool has_target_path ()
void clear_target_path ()

Clears the target_path field.

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

O(number_of_fields) complexity.

::fidl::StringView & target_path ()

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

namespace.

Must be an absolute path starting with /.

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

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

namespace.

Must be an absolute path starting with /.

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

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

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

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

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 component is likely to malfunction if this

capability is not provided. If set to `optional`, the component can

handle the capability's absence.

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

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

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_numbered_handle ()
void clear_numbered_handle ()

Clears the numbered_handle field.

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

O(number_of_fields) complexity.

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.

BuilderImpl & numbered_handle (uint8_t elem)

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

Protected Methods

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

Records