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)