class Component

Defined at line 255 of file fidling/gen/sdk/fidl/fuchsia.component.resolution/fuchsia.component.resolution/hlcpp/fuchsia/component/resolution/cpp/fidl.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 Members

static const fidl_type_t * FidlType

Public Methods

bool IsEmpty ()

Returns whether no field is set.

void Component ()
void Component (Component && other)
const ::fuchsia::mem::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.

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

bool has_decl ()

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

::fuchsia::mem::Data * mutable_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.

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

void clear_decl ()

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

const ::fuchsia::component::resolution::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.

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

bool has_package ()

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

::fuchsia::component::resolution::Package * mutable_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.

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

void clear_package ()

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

const ::fuchsia::mem::Data & config_values ()

Binary representation of the component's configuration values

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

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

bool has_config_values ()

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

::fuchsia::mem::Data * mutable_config_values ()

Binary representation of the component's configuration values

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

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

void clear_config_values ()

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

const ::fuchsia::component::resolution::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`.

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

bool has_resolution_context ()

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

::fuchsia::component::resolution::Context * mutable_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`.

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

void clear_resolution_context ()

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

const uint64_t & abi_revision ()

The target ABI revision of the resolved component.

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

bool has_abi_revision ()

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

uint64_t * mutable_abi_revision ()

The target ABI revision of the resolved component.

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

void clear_abi_revision ()

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

Component & set_decl (::fuchsia::mem::Data _value)
Component & set_package (::fuchsia::component::resolution::Package _value)
Component & set_config_values (::fuchsia::mem::Data _value)
Component & set_resolution_context (::fuchsia::component::resolution::Context _value)
Component & set_abi_revision (uint64_t _value)
void ~Component ()
Component & operator= (Component && other)
::std::unique_ptr<Component> New ()
void Encode (::fidl::Encoder * _encoder, size_t _offset, std::optional< ::fidl::HandleInformation> maybe_handle_info)
void Decode (::fidl::Decoder * _decoder, Component * _value, size_t _offset)
zx_status_t Clone (Component * _result)