template <typename BuilderImpl>

class WireTableBaseBuilder

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

Public Methods

::fuchsia_component_resolution::wire::Component Build ()

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

bool has_url ()
void clear_url ()

Clears the url field.

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

O(number_of_fields) complexity.

::fidl::StringView & url ()

The resolved URL of the component.

This is the canonical URL obtained by the component resolver after

following redirects and resolving relative paths.

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

The resolved URL of the component.

This is the canonical URL obtained by the component resolver after

following redirects and resolving relative paths.

bool has_decl ()
void clear_decl ()

Clears the decl field.

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

O(number_of_fields) complexity.

::fuchsia_mem::wire::Data & decl ()

Binary representation of the component's declaration (`fuchsia.component.decl.Component`).

This information is typically obtained from the component's manifest

or generated by the component resolver.

BuilderImpl & decl (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_mem::wire::Data>> elem)

Binary representation of the component's declaration (`fuchsia.component.decl.Component`).

This information is typically obtained from the component's manifest

or generated by the component resolver.

bool has_package ()
void clear_package ()

Clears the package field.

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

O(number_of_fields) complexity.

::fuchsia_component_resolution::wire::Package & package ()

The package that contains the component.

By convention, the component's package is mapped to "/pkg" in its

namespace at runtime.

This is null if the component is not represented as a package.

In that case, it is the runner's responsibility to load the component's

resource from the `url`. This mechanism is used for web

applications.

Most runners, including but not limited to the builtin ELF runner,

require the package's directory connection to have OPEN_RIGHT_EXECUTABLE

rights in order to run the resolved component.

BuilderImpl & package (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_component_resolution::wire::Package>> elem)

The package that contains the component.

By convention, the component's package is mapped to "/pkg" in its

namespace at runtime.

This is null if the component is not represented as a package.

In that case, it is the runner's responsibility to load the component's

resource from the `url`. This mechanism is used for web

applications.

Most runners, including but not limited to the builtin ELF runner,

require the package's directory connection to have OPEN_RIGHT_EXECUTABLE

rights in order to run the resolved component.

bool has_config_values ()
void clear_config_values ()

Clears the config_values field.

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

O(number_of_fields) complexity.

::fuchsia_mem::wire::Data & config_values ()

Binary representation of the component's configuration values

(`fuchsia.component.config.ValuesData`).

BuilderImpl & config_values (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_mem::wire::Data>> elem)

Binary representation of the component's configuration values

(`fuchsia.component.config.ValuesData`).

bool has_resolution_context ()
void clear_resolution_context ()

Clears the resolution_context field.

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

O(number_of_fields) complexity.

::fuchsia_component_resolution::wire::Context & resolution_context ()

The context used to resolve `component_url`s relative to this

component. Pass this value to `Resolver::ResolveWithContext()` when

resolving a component URL that _may_ be relative to this `Component`.

The `resolution_context` is an opaque value (from the perspective of

component resolution) that is provided by a component `Resolver` to save

with a parent `Component`.

`Resolver`s that can resolve relative path component URLs, via

`ResolveWithContext`, should return a `resolution_context` from both

`Resolve` and `ResolveWithContext`. Relative path component URLs can

only be resolved via `ResolveWithContext`, which requires a valid

resolution `Context`.

BuilderImpl & resolution_context (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_component_resolution::wire::Context>> elem)

The context used to resolve `component_url`s relative to this

component. Pass this value to `Resolver::ResolveWithContext()` when

resolving a component URL that _may_ be relative to this `Component`.

The `resolution_context` is an opaque value (from the perspective of

component resolution) that is provided by a component `Resolver` to save

with a parent `Component`.

`Resolver`s that can resolve relative path component URLs, via

`ResolveWithContext`, should return a `resolution_context` from both

`Resolve` and `ResolveWithContext`. Relative path component URLs can

only be resolved via `ResolveWithContext`, which requires a valid

resolution `Context`.

bool has_abi_revision ()
void clear_abi_revision ()

Clears the abi_revision field.

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

O(number_of_fields) complexity.

uint64_t & abi_revision ()

The target ABI revision of the resolved component.

BuilderImpl & abi_revision (Wrapper_Ignore_Me_< ::fidl::ObjectView<uint64_t>> elem)

The target ABI revision of the resolved component.

Protected Methods

void WireTableBaseBuilder< ::fuchsia_component_resolution::wire::Component, BuilderImpl> (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_component_resolution::wire::Component>> && frame)

Records