class Component

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

A component is a unit of executable software.

This object provides the component's declaration, access to its package's

content, and relevant metadata as resolved `fuchsia.component.resolution.Resolver`.

Public Methods

void Component ()

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

void Component (const Component & other)

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

void Component (Component && other)

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

bool IsEmpty ()

Returns whether no field is set.

bool HasUnknownData ()

Returns whether the table references unknown fields.

void _CloseHandles ()
::fidl::WireTableBuilder< ::fuchsia_component_resolution::wire::Component> Builder (::fidl::AnyArena & arena)

Return a builder that by defaults allocates of an arena.

::fidl::WireTableExternalBuilder< ::fuchsia_component_resolution::wire::Component> ExternalBuilder (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_component_resolution::wire::Component>> frame)

Return a builder that relies on explicitly allocating |fidl::ObjectView|s.

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

bool has_url ()
::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.

bool has_decl ()
::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.

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

Binary representation of the component's configuration values

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

bool has_config_values ()
::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`.

bool has_resolution_context ()
uint64_t & abi_revision ()

The target ABI revision of the resolved component.

bool has_abi_revision ()
Component & set_url (::fidl::ObjectView< ::fidl::StringView> elem)
Component & set_url (std::nullptr_t )
Component & clear_url ()
Component & set_decl (::fidl::ObjectView< ::fuchsia_mem::wire::Data> elem)
Component & set_decl (std::nullptr_t )
Component & clear_decl ()
Component & set_package (::fidl::ObjectView< ::fuchsia_component_resolution::wire::Package> elem)
Component & set_package (std::nullptr_t )
Component & clear_package ()
Component & set_config_values (::fidl::ObjectView< ::fuchsia_mem::wire::Data> elem)
Component & set_config_values (std::nullptr_t )
Component & clear_config_values ()
Component & set_resolution_context (::fidl::ObjectView< ::fuchsia_component_resolution::wire::Context> elem)
Component & set_resolution_context (std::nullptr_t )
Component & clear_resolution_context ()
Component & set_abi_revision (::fidl::ObjectView<uint64_t> elem)
Component & set_abi_revision (std::nullptr_t )
Component & clear_abi_revision ()
void Component (::fidl::AnyArena & allocator)
void Component (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_component_resolution::wire::Component>> && frame)

This constructor allows a user controlled allocation (not using a Arena).

It should only be used when performance is key.

As soon as the frame is given to the table, it must not be used directly or for another table.

void Allocate (::fidl::AnyArena & allocator)
void Init (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_component_resolution::wire::Component>> && frame_ptr)
Component & operator= (const Component & other)

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

Component & operator= (Component && other)

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

void ~Component ()

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

Friends

class WireTableBaseBuilder
class WireTableBaseBuilder