STRUCTS
CapabilityRef
Defined in fuchsia.component.decl/relative_refs.fidl
A reference to a capability declared in this component.
Field | Type | Description | Default |
---|---|---|---|
name |
string[100]
|
No default |
ChildRef
Defined in fuchsia.component.decl/relative_refs.fidl
A reference to one of the component's child instances.
Field | Type | Description | Default |
---|---|---|---|
name |
child_name
|
The name assigned to the child by its parent. If |
No default |
collection |
name
|
The collection |
No default |
CollectionRef
Defined in fuchsia.component.decl/relative_refs.fidl
A reference to one of the component's collections.
Field | Type | Description | Default |
---|---|---|---|
name |
name
|
No default |
ConfigType
Defined in fuchsia.component.decl/config.fidl
Field | Type | Description | Default |
---|---|---|---|
layout |
ConfigTypeLayout
|
No default | |
parameters |
vector<LayoutParameter>?
|
No default | |
constraints |
vector<LayoutConstraint>
|
No default |
DebugRef
Defined in fuchsia.component.decl/relative_refs.fidl
A reference to the environment's debug capabilities.
<EMPTY>
FrameworkRef
Defined in fuchsia.component.decl/relative_refs.fidl
A reference to the component framework itself.
<EMPTY>
NameMapping
Defined in fuchsia.component.decl/offer.fidl
Type used to create a mapping between 2 names. Used to rename service or component instances in FIDL declarations.
Field | Type | Description | Default |
---|---|---|---|
source_name |
name
|
Name used in the source instance. |
No default |
target_name |
name
|
Name used in the target instance. |
No default |
ParentRef
Defined in fuchsia.component.decl/relative_refs.fidl
A reference to a component's parent instance.
<EMPTY>
ResolvedConfig
Defined in fuchsia.component.decl/config.fidl
A configuration that has been completely resolved by component manager.
Field | Type | Description | Default |
---|---|---|---|
fields |
vector<ResolvedConfigField>
|
No default | |
checksum |
ConfigChecksum
|
No default |
ResolvedConfigField
Defined in fuchsia.component.decl/config.fidl
Field | Type | Description | Default |
---|---|---|---|
key |
string
|
No default | |
value |
ConfigValue
|
No default |
SelfRef
Defined in fuchsia.component.decl/relative_refs.fidl
A reference to the component itself.
<EMPTY>
VoidRef
Defined in fuchsia.component.decl/relative_refs.fidl
A reference to an intentionally missing offer source.
<EMPTY>
ENUMS
AllowedOffers strict
Type: uint32
Defined in fuchsia.component.decl/collection.fidl
The kinds of offers that can target the children in a collection.
Name | Value | Description |
---|---|---|
STATIC_ONLY |
1 |
Only static offers may target components in the collection. "Static
offers" are the offers in the This is the default behavior. |
STATIC_AND_DYNAMIC |
2 |
Both static offers and dynamic offers may target components in the
collection. "Static offers" are the offers in the |
Availability strict
Type: uint32
Defined in fuchsia.component.decl/offer.fidl
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).
Name | Value | Description |
---|---|---|
REQUIRED |
1 |
The capability must be available. Failure to route the capability is an error. |
OPTIONAL |
2 |
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 |
3 |
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 |
4 |
The source may omit the route completely without even having to route
from TRANSITIONAL is used for soft transitions that introduce new capabilities. Added: 9
|
ConfigTypeLayout flexible
Type: uint32
Defined in fuchsia.component.decl/config.fidl
Name | Value | Description |
---|---|---|
BOOL |
1 |
|
UINT8 |
2 |
|
UINT16 |
3 |
|
UINT32 |
4 |
|
UINT64 |
5 |
|
INT8 |
6 |
|
INT16 |
7 |
|
INT32 |
8 |
|
INT64 |
9 |
|
STRING |
10 |
|
VECTOR |
11 |
DependencyType strict
Type: uint32
Defined in fuchsia.component.decl/offer.fidl
Describes the type of dependency implied by the capability.
Name | Value | Description |
---|---|---|
STRONG |
1 |
A strong dependency which may be required by components that use it. |
WEAK |
2 |
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. |
WEAK_FOR_MIGRATION |
3 |
A weak dependency specifically used to mark cyclic dependencies from migrated v1 components. |
Durability strict
Type: uint32
Defined in fuchsia.component.decl/collection.fidl
The durability of component instances created in a collection.
Name | Value | Description |
---|---|---|
TRANSIENT |
2 |
An instance exists until either its parent instance is stopped or it is explicitly destroyed. |
SINGLE_RUN |
3 |
An instance is started upon creation and is immediately destroyed when it stops. |
EnvironmentExtends strict
Type: uint32
Defined in fuchsia.component.decl/environment.fidl
Specifies how a declared environment's initial set of properties are assigned.
Name | Value | Description |
---|---|---|
NONE |
0 |
The environment has no initial set of properties. |
REALM |
1 |
The environment's initial set of properties are inherited from its realm.
Inherited properties include any fields defined in |
OnTerminate strict
Type: uint32
Defined in fuchsia.component.decl/child.fidl
Describes the action to take if this component instance terminates unexpectedly.
Name | Value | Description |
---|---|---|
NONE |
0 |
No action, the default |
REBOOT |
1 |
Trigger a graceful system reboot if the component terminates for any reason. This is a specialized feature gated by Component Framework security policy. |
StartupMode strict
Type: uint32
Defined in fuchsia.component.decl/child.fidl
Describes under what conditions the component may be started.
Name | Value | Description |
---|---|---|
LAZY |
0 |
Start component instance only when another instance binds to it. |
EAGER |
1 |
Start component instance as soon as parent starts. This mode is only supported for statically declared children -- a dynamic instance may only be started by binding to it. |
StorageId strict
Type: uint32
Defined in fuchsia.component.decl/capability.fidl
Declares which identifier to use to key a component's isolated storage directory.
Name | Value | Description |
---|---|---|
STATIC_INSTANCE_ID |
1 |
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 |
2 |
Isolated storage directories are keyed using a component's instance ID if one is specified in the component ID index. Otherwise, a component's relative moniker from the storage capability is used to key its isolated storage directory. |
TABLES
Child
Defined in fuchsia.component.decl/child.fidl
Statically declares a child component instance.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
name |
child_name
|
(Required) The name assigned to the child by its parent. Must be non-empty, unique among all siblings, and contain only the following characters: [a-z0-9-_.]. |
2 |
url |
fuchsia.url/Url
|
(Required) The child component's URL. Must be non-empty and a well-formed URL. |
3 |
startup |
StartupMode
|
(Required) The startup mode for the component instance. Must be set. |
4 |
environment |
name
|
(Optional) The environment assigned to this child. May be unset, in which case the child will inherit the parent component's
environment. If set, the name must reference an environment defined in
the |
5 |
on_terminate |
OnTerminate
|
(Optional, defaults to |
6 |
config_overrides |
vector<ConfigOverride>
|
Configuration overrides to apply to the child's base configuration. For a configuration field to be overridden it must be marked as mutable by parent. Parents must pass Added: 12
|
Collection
Defined in fuchsia.component.decl/collection.fidl
Statically declares a component instance collection.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
name |
name
|
(Required) The name of the collection. Instances created in the collection are scoped to this name. |
2 |
durability |
Durability
|
(Required) The durability of instances in the collection. |
3 |
environment |
name
|
(Optional) The environment assigned to child instances in this collection. May be unset, in which case children in this collection will inherit the
parent component's environment. If set, the name must reference an
environment defined in the |
4 |
allowed_offers |
AllowedOffers
|
(Optional, defaults to Only components using the |
5 |
allow_long_names |
bool
|
(Optional, defaults to Only components using the |
6 |
persistent_storage |
bool
|
(Optional) Whether the data in isolated storage used by dynamic child instances and their descendants will persist after the instances are destroyed. New dynamic instances inherit the previous instances' data stores. This setting can be overridden by a lower-level collection that is a descendant of a collection that enables/disables this setting. This setting applies to all storage capabilities consumed by the collection components and their descendants. The default is the value inherited from an ancestral collection if set,
otherwise |
Component
Defined in fuchsia.component.decl/component.fidl
A component declaration.
This information is typically encoded in the component manifest (.cm file) if it has one or may be generated at runtime by a component resolver for those that don't.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
program |
Program
|
(Optional) Information about the program to run when the component is executed. Omitted for non-executable components. |
2 |
uses |
vector<Use>
|
(Optional) List of capabilities used by the component. These consist of capabilities offered to the component that are installed in its incoming namespace. The used capabilities must be unique and non-overlapping. |
3 |
exposes |
vector<Expose>
|
(Optional) List of capabilities exposed by the component. These consist of
capabilities that are made visible to the parent. The parent
may The exposed capabilities must be unique and non-overlapping. |
4 |
offers |
vector<Offer>
|
(Optional) List of capabilities offered to the component's children. These consist
of capabilities that the given children may The offered capabilities must be unique and non-overlapping. |
5 |
capabilities |
vector<Capability>
|
(Optional) List of capabilities defined by the component. |
6 |
children |
vector<Child>
|
(Optional) The component's statically instantiated children. The children must have unique names. |
7 |
collections |
vector<Collection>
|
(Optional) The component's collections. The collections must have unique names. |
8 |
environments |
vector<Environment>
|
(Optional) List of environments created by this component. Environments are assigned to children and control aspects of a child component's runtime. |
9 |
facets |
fuchsia.data/Dictionary
|
(Optional) Additional metadata about the component. |
10 |
config |
ConfigSchema
|
(Optional) The schema of the component's configuration interface. |
ConfigField
Defined in fuchsia.component.decl/config.fidl
Declares a single config field (key + type)
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
key |
ConfigKey
|
(Required) The identifier for this config field. This key will be used to match overrides. |
2 |
type |
ConfigType
|
(Required) The type of config values. Config values are verified against this layout at build time and run time. |
3 |
mutability |
ConfigMutability
|
Allowed sources for runtime overrides of this field's value. Added: 12
|
ConfigOverride
Defined in fuchsia.component.decl/child.fidl
A directive to override the value of a particular configuration field in the child.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
key |
ConfigKey
|
|
2 |
value |
ConfigValue
|
ConfigSchema
Defined in fuchsia.component.decl/config.fidl
The schema of a component's configuration interface.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
fields |
vector<ConfigField>
|
(Required) Ordered fields of the component's configuration interface. |
2 |
checksum |
ConfigChecksum
|
(Required) Checksum over the config declaration. |
3 |
value_source |
ConfigValueSource
|
(Required) Strategy used to resolve config values. |
ConfigValueSpec
Defined in fuchsia.component.decl/config.fidl
An individual configuration value. It is matched against a specific configuration field based
on its offset within ValuesData.values
.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
value |
ConfigValue
|
ConfigValuesData
Defined in fuchsia.component.decl/config.fidl
Contents of the configuration value file. Defines the base values for a component's config.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
values |
vector<ConfigValueSpec>
|
The concrete values for the component's configuration. |
2 |
checksum |
ConfigChecksum
|
A SHA-256 checksum of the configuration schema. Must match the checksum in the component manifest and config parser library used to resolve the final configuration. |
DebugProtocolRegistration
Defined in fuchsia.component.decl/environment.fidl
Registers a protocol in the environment as a debug capability. This makes
it available to any component in the environment that uses it with
source == debug
.
To learn more about protocols, see: https://fuchsia.dev/fuchsia-src/glossary#protocol
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name identifying the protocol being offered. |
3 |
target_name |
name
|
(Required) The name by which the capability is being offered. |
Directory
Defined in fuchsia.component.decl/capability.fidl
Declares a directory capability backed by this component.
To learn more about directories, see: https://fuchsia.dev/fuchsia-src/glossary#directory
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
name |
name
|
(Required) The name of this directory. |
2 |
source_path |
string[1024]
|
(Required) The path to the directory in the component's outgoing directory. |
3 |
rights |
fuchsia.io/Rights
|
(Required) The maximum rights that can be set by a component using this directory. |
Environment
Defined in fuchsia.component.decl/environment.fidl
Declares an environment which configures a realm.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
name |
name
|
(Required) The name of this environment. |
2 |
extends |
EnvironmentExtends
|
(Required) Specifies how the initial state of this environment is constructed. |
3 |
runners |
vector<RunnerRegistration>
|
(Optional) List of runners available in this environment. This list determines the total set of runners that are available for any component in the environment to use. |
4 |
resolvers |
vector<ResolverRegistration>
|
(Optional) List of component resolvers and the URL schemes they are
registered to resolve. These registrations determine how components are
resolved in the realm. If the component URL scheme does not match any of
these resolvers, URL resolution is delegated to the parent environment,
if this environment |
5 |
debug_capabilities |
vector<DebugRegistration>
|
(Optional) Expose capabilities to debug section when component manager allows it. These capabilities are accessible to any component in the environment
with a |
6 |
stop_timeout_ms |
uint32
|
(Optional) The duration in milliseconds that the component will have to
stop before it is killed. Required if this environment |
EventStream
Defined in fuchsia.component.decl/capability.fidl
Declares an event_stream capability
This type cannot be used in fuchsia.component.decl.Component
. It is only
used for the framework's built-in capabilities declared in
internal.Config
.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
name |
name
|
(Required) The name of this event stream. Must be unique among built-in capabilities. |
EventSubscription
Defined in fuchsia.component.decl/events.fidl
Indicates the event name to subscribe to with a given event mode.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
event_name |
name
|
(Required) The event names to subscribe to. |
ExposeDirectory
Defined in fuchsia.component.decl/expose.fidl
Declares a directory exposed to a component's containing realm, such as a directory exposed by the component or one of its children at runtime.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name identifying the directory, by which it was presented to this component. |
3 |
target |
Ref
|
(Required) The destination to which the directory is exposed: either the component's realm or the framework. |
4 |
target_name |
name
|
(Required) The name by which the capability is being exposed. |
5 |
rights |
fuchsia.io/Rights
|
(Optional) The maximum rights that can be set by a component using this
directory. If unset, the rights are inherited from |
6 |
subdir |
string[1024]
|
(Optional) The subdirectory of this directory to expose instead of the root. |
7 |
availability |
Availability
|
(Optional, defaults to Added: 11
|
ExposeProtocol
Defined in fuchsia.component.decl/expose.fidl
Declares a protocol exposed to a component's containing realm, such as a protocol exposed by the component or one of its children at runtime.
To learn more about protocols, see: https://fuchsia.dev/fuchsia-src/glossary#protocol
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name identifying the protocol, by which it was presented to this component. |
3 |
target |
Ref
|
(Required) The destination to which the protocol is exposed: either the component's realm or the framework. |
4 |
target_name |
name
|
(Required) The name by which the capability is being exposed. |
5 |
availability |
Availability
|
(Optional, defaults to Added: 11
|
ExposeResolver
Defined in fuchsia.component.decl/expose.fidl
Declares a resolver exposed to a component's containing realm, such as a resolver exposed by the component or one of its children at runtime.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) The name of the resolver, by which it was presented to this component. |
3 |
target |
Ref
|
(Required) The destination to which the resolver is exposed |
4 |
target_name |
name
|
(Required) The name by which the capability is being exposed. |
ExposeRunner
Defined in fuchsia.component.decl/expose.fidl
Declares a runner exposed to a component's containing realm, such as a runner exposed by the component or one of its children at runtime.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) The name of the runner, by which it was presented to this component. |
3 |
target |
Ref
|
(Required) The destination to which the runner is exposed: either the component's realm or the framework. |
4 |
target_name |
name
|
(Required) The name by which the capability is being exposed. |
ExposeService
Defined in fuchsia.component.decl/expose.fidl
Declares a service exposed to a component's containing realm, such as a service exposed by the component or one of its children at runtime.
To learn more about services, see: https://fuchsia.dev/fuchsia-src/glossary#service
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name identifying the service, by which it was presented to this component. |
3 |
target |
Ref
|
(Required) The destination to which the service is exposed: either the component's realm or the framework. |
4 |
target_name |
name
|
(Required) The name by which the capability is being exposed. |
5 |
availability |
Availability
|
(Optional, defaults to Added: 11
|
OfferDirectory
Defined in fuchsia.component.decl/offer.fidl
Declares a directory offered by a component to one of its children, which may have been offered by the component's containing realm, the component itself, or one of its other children.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name identifying the directory being offered. |
3 |
target |
Ref
|
(Required) Reference to the target of the capability. Must be |
4 |
target_name |
name
|
(Required) The name by which the capability is being offered. |
5 |
rights |
fuchsia.io/Rights
|
(Optional) The maximum rights that can be set by a component using this
directory. IF unset, the rights are inherited from |
6 |
subdir |
string[1024]
|
(Optional) The subdirectory of this directory to offer instead of the root. Optional. |
7 |
dependency_type |
DependencyType
|
(Required) The dependency type this offer represents. A component which receives a weak offer must support the offered capability being unavailable at any point. |
8 |
availability |
Availability
|
(Optional, defaults to |
OfferEventStream
Defined in fuchsia.component.decl/offer.fidl
Declares an event stream offered by a component.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name of the event being offered. |
3 |
scope |
vector<Ref>
|
(Optional) When an event is offered from framework, the scope is required and allows one to define the child (or array of children) which the event is about. When the event is offered from parent, the scope can be used to downscope the event to a certain child scope, otherwise the event will carry the scope coming from the parent. |
4 |
target |
Ref
|
(Required) The destination to which the event stream is offered. |
5 |
target_name |
name
|
(Required) Name under which the event stream is being offered. |
6 |
filter |
fuchsia.data/Dictionary
|
(Optional) Filter for the event stream. Only present for DirectoryReady events and CapabilityRequested events |
7 |
availability |
Availability
|
(Optional, defaults to |
OfferProtocol
Defined in fuchsia.component.decl/offer.fidl
Declares a protocol offered by a component to one of its children, which may have been offered by the component's containing realm, the component itself, or one of its other children.
To learn more about protocols, see: https://fuchsia.dev/fuchsia-src/glossary#protocol
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name identifying the protocol being offered. |
3 |
target |
Ref
|
(Required) Reference to the target. Must be |
4 |
target_name |
name
|
(Required) The name by which the capability is being offered. |
5 |
dependency_type |
DependencyType
|
(Required) The dependency type this offer represents. A component which receives a weak offer must support the offered capability being unavailable at any point. |
6 |
availability |
Availability
|
(Optional, defaults to |
OfferResolver
Defined in fuchsia.component.decl/offer.fidl
Declares a resolver capability offered by a component to one of its children, which may have been offered by the component's containing realm, the component itself, or one of its other children.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name of the resolver being offered. |
3 |
target |
Ref
|
(Required) Reference to the target of the capability. Must be |
4 |
target_name |
name
|
(Required) Name under which the capability is being offered. |
OfferRunner
Defined in fuchsia.component.decl/offer.fidl
Declares a runner offered by a component to one of its children, which may have been offered by the component's containing realm, the component itself, or one of its other children.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name of the runner being offered. |
3 |
target |
Ref
|
(Required) Reference to the target of the capability. Must be |
4 |
target_name |
name
|
(Required) Name under which the capability is being offered. |
OfferService
Defined in fuchsia.component.decl/offer.fidl
Declares a service offered by a component to one of its children, which may have been offered by the component's containing realm, the component itself, or one of its other children.
To learn more about services, see: https://fuchsia.dev/fuchsia-src/glossary#service
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name identifying the service being offered. |
3 |
target |
Ref
|
(Required) Reference to the target. Must be |
4 |
target_name |
name
|
(Required) The name under which the capability is being offered. |
5 |
source_instance_filter |
vector<string>
|
(Optional) The list of allow listed instances to be offered. Instances of the service not in this list will not be accessible by the target component. If this is not set that means all instances from the source service are offered. |
6 |
renamed_instances |
vector<NameMapping>
|
(Optional) List of renamed service instances. |
7 |
availability |
Availability
|
(Optional, defaults to |
OfferStorage
Defined in fuchsia.component.decl/offer.fidl
Declares a storage capability offered by a component to one of its children, such as meta storage offered by the component's containing realm or cache storage offered by the component itself.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source_name |
name
|
(Required) The name of the storage capability being offered |
2 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
3 |
target |
Ref
|
(Required) Reference to the target of the capability. Must be |
4 |
target_name |
name
|
(Required) The name the storage capability is being offered as |
5 |
availability |
Availability
|
(Optional, defaults to |
Program
Defined in fuchsia.component.decl/program.fidl
A program declaration.
This declaration is set by executable components to designate the runner to use and pass runner-specific program information to it.
To learn more about runners, see: https://fuchsia.dev/fuchsia-src/glossary#runner
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
runner |
name
|
(Required) The name of the runner to use to run the component. Must
match a |
2 |
info |
fuchsia.data/Dictionary
|
(Required) Information about the program to run when the component is executed. The component manager provides the contents of this dictionary to the runner when executing this program. For instance, this might contain a path to the program's executable image, or program arguments.
|
Protocol
Defined in fuchsia.component.decl/capability.fidl
Declares a protocol capability backed by this component.
To learn more about protocols, see: https://fuchsia.dev/fuchsia-src/glossary#protocol
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
name |
name
|
(Required) The name of this protocol. |
2 |
source_path |
string[1024]
|
(Required) The path to the protocol in the component's outgoing directory. |
Resolver
Defined in fuchsia.component.decl/capability.fidl
Declares a resolver which is responsible for resolving component URLs to
actual components. See fuchsia.component.resolution.Resolver
for the
protocol resolvers are expected to implement.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
name |
name
|
(Required) The name of this resolver. Must be unique among resolvers declared in the same |
2 |
source_path |
string[1024]
|
(Required) The path to the resolver protocol in the component's outgoing directory |
ResolverRegistration
Defined in fuchsia.component.decl/environment.fidl
A mapping of URL scheme to resolver name.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
resolver |
name
|
(Required) The name of the resolver. |
2 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
3 |
scheme |
url_scheme
|
(Required) The URL scheme the resolver is registered to handle. Only one
resolver may be registered to a particular URL scheme. The URL scheme
must start with a lowercase ASCII letter (a-z), and may contain
lowercase ASCII letters, digits, |
Runner
Defined in fuchsia.component.decl/capability.fidl
Declares a runner capability backed by a service.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
name |
name
|
(Required) The name of this runner. Must unique among runners declared in the same |
2 |
source_path |
string[1024]
|
(Required) The path to the runner protocol in the component's outgoing directory. |
RunnerRegistration
Defined in fuchsia.component.decl/environment.fidl
A repository of the runners available in an environment.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source_name |
name
|
(Required) The name of the runner capability as it's exposed to, offered, or defined by this component. |
2 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
3 |
target_name |
name
|
(Required) The name by which the runner is made available in this environment. |
Service
Defined in fuchsia.component.decl/capability.fidl
Declares a service capability backed by this component.
To learn more about services, see: https://fuchsia.dev/fuchsia-src/glossary#service
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
name |
name
|
(Required) The name of this service. |
2 |
source_path |
string[1024]
|
(Required) The path to the service in the component's outgoing directory. |
Storage
Defined in fuchsia.component.decl/capability.fidl
Declares a storage capability backed by a directory from which data, cache, or meta storage can be offered.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
name |
name
|
(Required) The name of this storage |
2 |
source |
Ref
|
(Required) The provider of the backing directory capability relative to
the component itself. Must be |
3 |
backing_dir |
name
|
(Required) The name of the directory capability from |
4 |
subdir |
string[1024]
|
(Optional) The subdirectory of the source directory that will back the storage |
5 |
storage_id |
StorageId
|
(Required) This enum determines how to key a component's isolated storage directory. Each option corresponds to a different key'ing strategy. |
UseDirectory
Defined in fuchsia.component.decl/use.fidl
Declares a directory used by a component, which was offered to it.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the directory relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name identifying the directory, by which it was presented to this component. |
3 |
target_path |
string[1024]
|
(Required) The path where the capability should be installed in the component's namespace. Must be an absolute path starting with /. |
4 |
rights |
fuchsia.io/Rights
|
(Required) The rights required by the component to use this directory. |
5 |
subdir |
string[1024]
|
(Optional) The subdirectory of this directory to use instead of the root. |
6 |
dependency_type |
DependencyType
|
(Required) The dependency type this use represents. A component which offers a capability to a child from itself and uses a
capability from the same child, must mark the dependency as |
7 |
availability |
Availability
|
(Optional, defaults to |
UseEventStream
Defined in fuchsia.component.decl/use.fidl
Declares an EventStream used by a component.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source_name |
name
|
(Required) The names of the event streams. |
2 |
source |
Ref
|
(Required) The provider of the event. Must be |
3 |
scope |
vector<Ref>
|
(Optional) When an event is used from framework, the scope is required to specify the child (or array of children) which the event will be about. When the event is used from parent, the scope can be used to downscope the event to a certain child scope, otherwise the event will carry the scope coming from the parent. |
4 |
target_path |
name
|
(Required) The path where the capability should be installed in the component's namespace. Must be an absolute path starting with /. |
5 |
availability |
Availability
|
(Optional, defaults to |
6 |
filter |
fuchsia.data/Dictionary
|
(Optional) Filter for the event stream. The structure of the filter
depends on the event stream type. Only supported for the
Added: 9
|
UseProtocol
Defined in fuchsia.component.decl/use.fidl
Declares a protocol used by a component, which was offered to it.
A protocol is a service with a single instance, provided by a single FIDL protocol.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the protocol relative to the component itself.
Must be |
2 |
source_name |
name
|
(Required) Name identifying the protocol, by which it was presented to this component. |
3 |
target_path |
string[1024]
|
(Required) The path where the capability should be installed in the component's namespace. Must be an absolute path starting with /. |
4 |
dependency_type |
DependencyType
|
(Required) The dependency type this use represents. A component which offers a capability to a child from itself and uses a
capability from the same child, must mark the dependency as |
5 |
availability |
Availability
|
(Optional, defaults to |
UseService
Defined in fuchsia.component.decl/use.fidl
Declares a service used by a component, which was offered to it.
To learn more about services, see: https://fuchsia.dev/fuchsia-src/glossary#service
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the service relative to the component itself.
Must be |
2 |
source_name |
name
|
(Required) Name identifying the service, by which it was presented to this component. |
3 |
target_path |
string[1024]
|
(Required) The path where the capability should be installed in the component's namespace. Must be an absolute path starting with /. |
4 |
dependency_type |
DependencyType
|
(Required) The dependency type this use represents. A component which offers a capability to a child from itself and uses a
capability from the same child, must mark the dependency as |
5 |
availability |
Availability
|
(Optional, defaults to |
UseStorage
Defined in fuchsia.component.decl/use.fidl
Declares storage used by a component, which was offered to it.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source_name |
name
|
(Required) Name identifying the storage, by which it was presented to
this component. If the availability is set to |
2 |
target_path |
string[1024]
|
(Required) The path where the capability should be installed in the component's namespace. Must be an absolute path starting with /. |
3 |
availability |
Availability
|
(Optional, defaults to |
UNIONS
Capability flexible
Defined in fuchsia.component.decl/capability.fidl
Declares a capability defined by this component.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
service |
Service
|
|
2 |
protocol |
Protocol
|
|
3 |
directory |
Directory
|
|
4 |
storage |
Storage
|
|
5 |
runner |
Runner
|
|
6 |
resolver |
Resolver
|
|
7 |
|
|
|
8 |
event_stream |
EventStream
|
Added: 8
|
ConfigChecksum flexible
Defined in fuchsia.component.decl/config.fidl
The checksum produced for a configuration interface. Two configuration interfaces are the same if their checksums are the same.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
sha256 |
uint8[32]
|
A SHA-256 hash produced over a component's config interface. |
ConfigSingleValue flexible
Defined in fuchsia.component.decl/config.fidl
A single configuration value.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
bool |
bool
|
|
2 |
uint8 |
uint8
|
|
3 |
uint16 |
uint16
|
|
4 |
uint32 |
uint32
|
|
5 |
uint64 |
uint64
|
|
6 |
int8 |
int8
|
|
7 |
int16 |
int16
|
|
8 |
int32 |
int32
|
|
9 |
int64 |
int64
|
|
10 |
string |
string
|
ConfigValue flexible
Defined in fuchsia.component.decl/config.fidl
A configuration value which can be provided to a component.
Used both for storing configuration at-rest and in runtime configuration APIs.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
single |
ConfigSingleValue
|
|
2 |
vector |
ConfigVectorValue
|
ConfigValueSource flexible
Defined in fuchsia.component.decl/config.fidl
Strategies available for resolving configuration values.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
package_path |
string
|
(Required) The path within the component's package at which to find config value files. |
ConfigVectorValue flexible
Defined in fuchsia.component.decl/config.fidl
A vector configuration value.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
bool_vector |
vector<bool>
|
|
2 |
uint8_vector |
vector<uint8>
|
|
3 |
uint16_vector |
vector<uint16>
|
|
4 |
uint32_vector |
vector<uint32>
|
|
5 |
uint64_vector |
vector<uint64>
|
|
6 |
int8_vector |
vector<int8>
|
|
7 |
int16_vector |
vector<int16>
|
|
8 |
int32_vector |
vector<int32>
|
|
9 |
int64_vector |
vector<int64>
|
|
10 |
string_vector |
vector<string>
|
DebugRegistration flexible
Defined in fuchsia.component.decl/environment.fidl
Declares a capability registered in the debug section of an environment.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
protocol |
DebugProtocolRegistration
|
Expose flexible
Defined in fuchsia.component.decl/expose.fidl
Declares a capability exposed to either a component's containing realm or to the framework. For example, a legacy service exposed by the component at runtime.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
service |
ExposeService
|
|
2 |
protocol |
ExposeProtocol
|
|
3 |
directory |
ExposeDirectory
|
|
4 |
runner |
ExposeRunner
|
|
5 |
resolver |
ExposeResolver
|
LayoutConstraint flexible
Defined in fuchsia.component.decl/config.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
max_size |
uint32
|
LayoutParameter flexible
Defined in fuchsia.component.decl/config.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
nested_type |
ConfigType
|
Offer flexible
Defined in fuchsia.component.decl/offer.fidl
Declares a capability offered by a component to one of its children, which may have been offered by the component's containing realm, the component itself, or one of its other children.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
service |
OfferService
|
|
2 |
protocol |
OfferProtocol
|
|
3 |
directory |
OfferDirectory
|
|
4 |
storage |
OfferStorage
|
|
5 |
runner |
OfferRunner
|
|
6 |
resolver |
OfferResolver
|
|
7 |
|
|
|
8 |
event_stream |
OfferEventStream
|
Ref flexible
Defined in fuchsia.component.decl/relative_refs.fidl
A reference to a capability source or destination relative to this component.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
parent |
ParentRef
|
|
2 |
self |
SelfRef
|
|
3 |
child |
ChildRef
|
|
4 |
collection |
CollectionRef
|
|
5 |
framework |
FrameworkRef
|
|
6 |
capability |
CapabilityRef
|
|
7 |
debug |
DebugRef
|
|
8 |
void_type |
VoidRef
|
Use flexible
Defined in fuchsia.component.decl/use.fidl
Declares a capability used by a component, which was offered to it.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
service |
UseService
|
|
2 |
protocol |
UseProtocol
|
|
3 |
directory |
UseDirectory
|
|
4 |
storage |
UseStorage
|
|
5 |
|
|
|
6 |
|
|
|
7 |
event_stream |
UseEventStream
|
BITS
ConfigMutability flexible
Type: uint32
Defined in fuchsia.component.decl/config.fidl
Allowed sources for runtime overrides of a config field's value.
Name | Value | Description |
---|---|---|
PARENT |
1 | Allow parent components to provide overrides for the configuration field. |
CONSTANTS
Name | Value | Type | Description |
---|---|---|---|
CONFIG_KEY_MAX_SIZE |
64
|
uint32 |
Config keys can only consist of these many bytes |
MAX_CHILD_NAME_LENGTH |
1024
|
uint32 |
|
MAX_MONIKER_LENGTH |
4096
|
uint32 |
|
MAX_NAME_LENGTH |
100
|
uint32 |
|
MAX_NUM_EVENT_STREAM_SUBSCRIPTIONS |
100
|
uint64 |
The maximum number of EventSubscriptions in an EventStream. |
MAX_PATH_LENGTH |
1024
|
uint32 |
|
MAX_URL_SCHEME_LENGTH |
100
|
uint32 |
ALIASES
Name | Value | Description |
---|---|---|
ConfigKey |
string [CONFIG_KEY_MAX_SIZE ] |
The string identifier for a config field. |
child_name |
string [MAX_CHILD_NAME_LENGTH ] |
|
name |
string [MAX_NAME_LENGTH ] |
|
url_scheme |
string [MAX_URL_SCHEME_LENGTH ] |