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.

bool has_url ()

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

::std::string * mutable_url ()

The resolved URL of the component.

This is the canonical URL obtained by the component resolver after

following redirects and resolving relative paths.

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

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::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 294 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 298 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 305 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 313 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 333 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 337 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 353 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 361 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 371 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 375 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 381 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 389 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 410 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 414 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 431 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 439 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 448 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 452 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 457 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 465 of file fidling/gen/sdk/fidl/fuchsia.component.resolution/fuchsia.component.resolution/hlcpp/fuchsia/component/resolution/cpp/fidl.h

Component & set_url (::std::string _value)
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 ()
void Component (Component && other)
const ::std::string & url ()

The resolved URL of the component.

This is the canonical URL obtained by the component resolver after

following redirects and resolving relative paths.

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

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)