Enumerations

enum class StorageId : uint32_t
Name Value Comments
STATIC_INSTANCE_ID 1u

Isolated storage directories are keyed using a component's instance ID
specified in the component ID index. Components which are not listed in
the index cannot use or open this storage capability.

STATIC_INSTANCE_ID_OR_MONIKER 2u

Isolated storage directories are keyed using a component's instance ID
if one is specified in the component ID index. Otherwise, a component's
moniker from the storage capability is used to key its isolated
storage directory.

Declares which identifier to use to key a component's isolated storage

directory.

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

enum class StartupMode : uint32_t
Name Value Comments
LAZY 0u

Start component instance only when it receives an incoming capability request or it's
started directly with [`fuchsia.component/Controller.Start`].

EAGER 1u

Start component instance automatically when the parent starts or (for dynamic
components) when the component is created.

Describes under what conditions the component may be started.

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

enum class OnTerminate : uint32_t
Name Value Comments
NONE 0u

No action, the default

REBOOT 1u

Trigger a graceful system reboot if the component terminates, unless its controller reports
via [`fuchsia.component.runner/ComponentController.OnStop`] a `termination_status` of Ok and
an `exit_code` that is either unset or 0. This is a specialized feature gated by Component
Framework security policy.

Describes the action to take if this component instance terminates

unexpectedly.

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

enum class Durability : uint32_t
Name Value Comments
TRANSIENT 2u

An instance exists until either its parent instance is stopped
or it is explicitly destroyed.

SINGLE_RUN 3u

An instance is started upon creation and is immediately destroyed when
it stops.

The durability of component instances created in a collection.

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

enum class AllowedOffers : uint32_t
Name Value Comments
STATIC_ONLY 1u

Only static offers may target components in the collection. "Static
offers" are the offers in the `ComponentDecl` that target the collection
itself.

This is the default behavior.

STATIC_AND_DYNAMIC 2u

Both static offers and dynamic offers may target components in the
collection. "Static offers" are the offers in the `ComponentDecl` that
target the collection itself. "Dynamic offers" are additional offers
that are passed to `CreateChild` at runtime.

The kinds of offers that can target the children in a collection.

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

enum class EnvironmentExtends : uint32_t
Name Value Comments
NONE 0u

The environment has no initial set of properties.

REALM 1u

The environment's initial set of properties are inherited from its realm.
Inherited properties include any fields defined in `EnvironmentDecl`.

Specifies how a declared environment's initial set of properties are assigned.

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

enum class DependencyType : uint32_t
Name Value Comments
STRONG 1u

A strong dependency which may be required by components that use it.

WEAK 2u

A weak dependency which is allowed to form a cycle. Components that use
a weak dependency must support the dependency being unavailable at
arbitrary times.

Describes the type of dependency implied by the capability.

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

enum class Availability : uint32_t
Name Value Comments
REQUIRED 1u

The capability must be available. Failure to route the capability is an
error.

OPTIONAL 2u

Inside a use declaration: the component can function if it fails to
obtain the capability.

Inside an offer/expose declaration: the capability may not be available
in some system configurations. As a corollary, the target component must
not have a required dependency on the capability.

SAME_AS_TARGET 3u

If the target of the corresponding offer or expose declaration requires
the capability, then the behavior is equivalent to required. If the
target has an optional dependency on the capability, then the behavior
is equivalent to optional. This is useful for container components that
would like to change their routing availability based on ones inside.

This value is not allowed inside a use declaration.

TRANSITIONAL 4u

The source may omit the route completely without even having to route
from `void`.

[`TRANSITIONAL`] is used for soft transitions that introduce new
capabilities.

Describes the expected availability of the capability.

Some capabilities may not be present on all system configurations. In those

cases, the availability will be declared as `OPTIONAL` along the chains of

exposes/offers/uses, and the capability would be routed from `void` on

system configurations where it does not make sense to route or provide a

particular capability (e.g. graphical capabilities on a headless system).

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

Records

Functions

  • zx_status_t Clone (::fuchsia::component::decl::StorageId value, ::fuchsia::component::decl::StorageId * result)

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

  • zx_status_t Clone (::fuchsia::component::decl::StartupMode value, ::fuchsia::component::decl::StartupMode * result)

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

  • zx_status_t Clone (::fuchsia::component::decl::OnTerminate value, ::fuchsia::component::decl::OnTerminate * result)

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

  • zx_status_t Clone (::fuchsia::component::decl::Durability value, ::fuchsia::component::decl::Durability * result)

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

  • zx_status_t Clone (::fuchsia::component::decl::AllowedOffers value, ::fuchsia::component::decl::AllowedOffers * result)

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

  • zx_status_t Clone (::fuchsia::component::decl::ConfigTypeLayout value, ::fuchsia::component::decl::ConfigTypeLayout * result)

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

  • zx_status_t Clone (::fuchsia::component::decl::ConfigMutability value, ::fuchsia::component::decl::ConfigMutability * result)

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

  • zx_status_t Clone (::fuchsia::component::decl::EnvironmentExtends value, ::fuchsia::component::decl::EnvironmentExtends * result)

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

  • zx_status_t Clone (::fuchsia::component::decl::DependencyType value, ::fuchsia::component::decl::DependencyType * result)

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

  • zx_status_t Clone (::fuchsia::component::decl::Availability value, ::fuchsia::component::decl::Availability * result)

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

  • zx_status_t Clone (::fuchsia::component::decl::DeliveryType value, ::fuchsia::component::decl::DeliveryType * result)

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

  • zx_status_t Clone (const ::fuchsia::component::decl::ConfigChecksum & value, ::fuchsia::component::decl::ConfigChecksum * result)

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

  • zx_status_t Clone (const ::fuchsia::component::decl::ConfigValueSource & value, ::fuchsia::component::decl::ConfigValueSource * result)

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

  • zx_status_t Clone (const ::fuchsia::component::decl::LayoutConstraint & value, ::fuchsia::component::decl::LayoutConstraint * result)

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

  • zx_status_t Clone (const ::fuchsia::component::decl::ConfigType & _value, ::fuchsia::component::decl::ConfigType * _result)

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

  • zx_status_t Clone (const ::fuchsia::component::decl::LayoutParameter & value, ::fuchsia::component::decl::LayoutParameter * result)

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

  • zx_status_t Clone (const ::fuchsia::component::decl::ConfigSingleValue & value, ::fuchsia::component::decl::ConfigSingleValue * result)

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

  • zx_status_t Clone (const ::fuchsia::component::decl::ConfigVectorValue & value, ::fuchsia::component::decl::ConfigVectorValue * result)

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

  • zx_status_t Clone (const ::fuchsia::component::decl::ConfigValue & value, ::fuchsia::component::decl::ConfigValue * result)

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

  • zx_status_t Clone (const ::fuchsia::component::decl::ResolvedConfigField & _value, ::fuchsia::component::decl::ResolvedConfigField * _result)

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

  • zx_status_t Clone (const ::fuchsia::component::decl::ResolvedConfig & _value, ::fuchsia::component::decl::ResolvedConfig * _result)

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

  • zx_status_t Clone (const ::fuchsia::component::decl::ParentRef & _value, ::fuchsia::component::decl::ParentRef * _result)

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

  • zx_status_t Clone (const ::fuchsia::component::decl::SelfRef & _value, ::fuchsia::component::decl::SelfRef * _result)

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

  • zx_status_t Clone (const ::fuchsia::component::decl::DebugRef & _value, ::fuchsia::component::decl::DebugRef * _result)

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

  • zx_status_t Clone (const ::fuchsia::component::decl::FrameworkRef & _value, ::fuchsia::component::decl::FrameworkRef * _result)

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

  • zx_status_t Clone (const ::fuchsia::component::decl::CapabilityRef & _value, ::fuchsia::component::decl::CapabilityRef * _result)

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

  • zx_status_t Clone (const ::fuchsia::component::decl::VoidRef & _value, ::fuchsia::component::decl::VoidRef * _result)

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

  • zx_status_t Clone (const ::fuchsia::component::decl::EnvironmentRef & _value, ::fuchsia::component::decl::EnvironmentRef * _result)

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

  • zx_status_t Clone (const ::fuchsia::component::decl::NameMapping & _value, ::fuchsia::component::decl::NameMapping * _result)

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

  • zx_status_t Clone (const ::fuchsia::component::decl::CollectionRef & _value, ::fuchsia::component::decl::CollectionRef * _result)

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

  • zx_status_t Clone (const ::fuchsia::component::decl::ChildRef & _value, ::fuchsia::component::decl::ChildRef * _result)

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

  • zx_status_t Clone (const ::fuchsia::component::decl::Ref & value, ::fuchsia::component::decl::Ref * result)

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

  • zx_status_t Clone (const ::fuchsia::component::decl::DebugRegistration & value, ::fuchsia::component::decl::DebugRegistration * result)

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

  • zx_status_t Clone (const ::fuchsia::component::decl::Expose & value, ::fuchsia::component::decl::Expose * result)

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

  • zx_status_t Clone (const ::fuchsia::component::decl::Offer & value, ::fuchsia::component::decl::Offer * result)

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

  • zx_status_t Clone (const ::fuchsia::component::decl::Capability & value, ::fuchsia::component::decl::Capability * result)

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

  • zx_status_t Clone (const ::fuchsia::component::decl::Use & value, ::fuchsia::component::decl::Use * result)

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