class Component

Defined at line 166 of file fidling/gen/sdk/fidl/fuchsia.component.resolution/fuchsia.component.resolution/cpp/fidl/fuchsia.component.resolution/cpp/natural_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 (Storage_ storage)
void Component ()

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

void Component (Component && )

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

bool IsEmpty ()
Component & operator= (Component && )

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

const std::optional< ::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.

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

Component & url (std::optional< ::std::string> value)

The resolved URL of the component.

This is the canonical URL obtained by the component resolver after

following redirects and resolving relative paths.

const std::optional< ::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.

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

Component & decl (std::optional< ::fuchsia_mem::Data> value)

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.

const std::optional< ::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.

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

Component & package (std::optional< ::fuchsia_component_resolution::Package> value)

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.

const std::optional< ::fuchsia_mem::Data> & config_values ()

Binary representation of the component's configuration values

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

::std::optional< ::fuchsia_mem::Data> & config_values ()

Binary representation of the component's configuration values

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

Component & config_values (std::optional< ::fuchsia_mem::Data> value)

Binary representation of the component's configuration values

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

const std::optional< ::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`.

::std::optional< ::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`.

Component & resolution_context (std::optional< ::fuchsia_component_resolution::Context> value)

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

const std::optional<uint64_t> & abi_revision ()

The target ABI revision of the resolved component.

::std::optional<uint64_t> & abi_revision ()

The target ABI revision of the resolved component.

Component & abi_revision (std::optional<uint64_t> value)

The target ABI revision of the resolved component.

void Component (::fidl::internal::DefaultConstructPossiblyInvalidObjectTag )

Friends

class MemberVisitor
class NaturalTableCodingTraits