Google is committed to advancing racial equity for Black communities. See how.

fuchsia.component.decl

STRUCTS

CapabilityRef

Defined in fuchsia.component.decl/relative_refs.fidl

A reference to a capability declared in this component.

FieldTypeDescriptionDefault
name string[100] No default

ChildRef

Defined in fuchsia.component.decl/relative_refs.fidl

A reference to one of the component's child instances.

FieldTypeDescriptionDefault
name name

The name assigned to the child by its parent. If collection is set, name is scoped to collection and the child is a dynamic instance. Required.

No default
collection name

The collection name belongs to. If omitted, name references a static instance. This field must be omitted if the ChildRef is being used in a component declaration. Optional.

No default

CollectionRef

Defined in fuchsia.component.decl/relative_refs.fidl

A reference to one of the component's collections.

FieldTypeDescriptionDefault
name name 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>

ParentRef

Defined in fuchsia.component.decl/relative_refs.fidl

A reference to a component's parent instance.

<EMPTY>

SelfRef

Defined in fuchsia.component.decl/relative_refs.fidl

A reference to the component itself.

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

NameValueDescription
STATIC_ONLY 1

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 2

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.

DependencyType strict

Type: uint32

Defined in fuchsia.component.decl/offer.fidl

Describes the type of dependency implied by the capability.

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

NameValueDescription
PERSISTENT 1

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

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.

NameValueDescription
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 EnvironmentDecl.

EventMode strict

Type: uint32

Defined in fuchsia.component.decl/events.fidl

Describes the consumption mode of an event.

NameValueDescription
ASYNC 0

The event source dispatches the event and doesn't wait for the listener to handle it.

SYNC 1

The event source awaits the listener to notify it that it's done handling the event.

OnTerminate strict

Type: uint32

Defined in fuchsia.component.decl/child.fidl

Describes the action to take if this component instance terminates unexpectedly.

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

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

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

OrdinalFieldTypeDescription
1 name name

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

The child component's URL.

Must be non-empty and a well-formed URL.

3 startup StartupMode

The startup mode for the component instance.

4 environment name

The environment assigned to this child.

Must be non-empty, reference an environment defined in the containing ComponentDecl, and contain only the following characters: [a-z0-9-_.].

5 on_terminate OnTerminate

The action to take if this component instance terminates unexpectedly.

May be unset, in which case defaults to NONE.

Collection

Defined in fuchsia.component.decl/collection.fidl

Statically declares a component instance collection.

OrdinalFieldTypeDescription
1 name name

The name of the collection. Instances created in the collection are scoped to this name.

2 durability Durability

The durability of instances in the collection.

4 allowed_offers AllowedOffers

The kinds of offers that can target the child instances in this collection. The default value is STATIC_ONLY.

Only components using the dynamic_offers restricted feature may set this field.

3 environment name

The environment assigned to child instances in this collection.

Must be non-empty, reference an environment defined in the containing ComponentDecl, and contain only the following characters: [a-z0-9-_.].

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.

OrdinalFieldTypeDescription
1 program Program

Information about the program to run when the component is executed. Omitted for non-executable components.

2 uses vector<Use>

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>

List of capabilities exposed by the component. These consist of capabilities that are made visible to the parent. The parent may offer these capabilities to its children, but not use them.

The exposed capabilities must be unique and non-overlapping.

4 offers vector<Offer>

List of capabilities offered to the component's children. These consist of capabilities that the given children may use, which may come from a child, the parent, or the component's own outgoing namespace.

The offered capabilities must be unique and non-overlapping.

5 capabilities vector<Capability>

List of capabilities defined by the component.

6 children vector<Child>

The component's statically instantiated children. The children must have unique names.

7 collections vector<Collection>

The component's collections. The collections must have unique names.

8 environments vector<Environment>

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

Additional metadata about the component.

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

OrdinalFieldTypeDescription
1 source Ref

The provider of the capability relative to the component itself. Must be parent, self, or child.

2 source_name name

Name identifying the protocol being offered.

3 target_name name

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

OrdinalFieldTypeDescription
1 name name

The name of this directory.

2 source_path string[1024]

The path to the directory in the component's outgoing directory.

3 rights fuchsia.io2/Rights

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.

OrdinalFieldTypeDescription
1 name name

The name of this environment.

2 extends EnvironmentExtends

Specifies how the initial state of this environment is constructed.

3 runners vector<RunnerRegistration>

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>

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 extends from REALM.

5 debug_capabilities vector<DebugRegistration>

Expose capabilties to debug section when component manager allows it.

These capabilities are accessible to any component in the environment with a use declaration with source == debug. Only capabilities intended to support development should be declared here, and they are only allowed if explicitly included in the component manager allowlist.

6 stop_timeout_ms uint32

The duration in milliseconds that the component will have to stop before it is killed.

Event

Defined in fuchsia.component.decl/capability.fidl

Declares an event capability which component instances may subscribe to. This type cannot be used in fuchsia.sys2.ComponentDecl. It is only used for the framework's built-in capabilities declared in internal.Config.

OrdinalFieldTypeDescription
1 name name

The name of this event. Must be non-empty, 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.

OrdinalFieldTypeDescription
1 event_name name
2 mode EventMode

The event mode with which to subscribe to the event names above.

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.

OrdinalFieldTypeDescription
1 source Ref

The provider of the capability relative to the component itself. Must be self or child.

2 source_name name

Name identifying the directory, by which it was presented to this component.

3 target Ref

The destination to which the directory is exposed: either the component's realm or the framework.

4 target_name name

The name by which the capability is being exposed.

5 rights fuchsia.io2/Rights

The maximum rights that can be set by a component using this directory, required iff source == self.

6 subdir string[1024]

The subdirectory of this directory to expose instead of the root. Optional.

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

OrdinalFieldTypeDescription
1 source Ref

The provider of the capability relative to the component itself. Must be self or child.

2 source_name name

Name identifying the protocol, by which it was presented to this component.

3 target Ref

The destination to which the protocol is exposed: either the component's realm or the framework.

4 target_name name

The name by which the capability is being exposed.

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.

OrdinalFieldTypeDescription
1 source Ref

The provider of the capability relative to the component itself. Must be self or child.

2 source_name name

The name of the resolver, by which it was presented to this component.

3 target Ref

The destination to which the resolver is exposed: either the component's realm or the framework.

4 target_name name

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.

OrdinalFieldTypeDescription
1 source Ref

The provider of the capability relative to the component itself. Must be self or child.

2 source_name name

The name of the runner, by which it was presented to this component.

3 target Ref

The destination to which the runner is exposed: either the component's realm or the framework.

4 target_name name

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

OrdinalFieldTypeDescription
1 source Ref

The provider of the capability relative to the component itself. Must be self or child.

2 source_name name

Name identifying the service, by which it was presented to this component.

3 target Ref

The destination to which the service is exposed: either the component's realm or the framework.

4 target_name name

The name by which the capability is being exposed.

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.

OrdinalFieldTypeDescription
1 source Ref

The provider of the capability relative to the component itself. Must be parent, self, or child.

2 source_name name

Name identifying the directory being offered.

3 target Ref

Reference to the target of the capability. Must be child or collection.

4 target_name name

The name by which the capability is being offered.

5 rights fuchsia.io2/Rights

The maximum rights that can be set by a component using this directory, required iff source == self.

6 subdir string[1024]

The subdirectory of this directory to offer instead of the root. Optional.

7 dependency_type DependencyType

The dependency type this offer represents. A component which recieves a weak offer must support the offered capability being unavailable at any point.

OfferEvent

Defined in fuchsia.component.decl/offer.fidl

Declares an event offered by a component.

OrdinalFieldTypeDescription
1 source Ref

The provider of the event. Must be parent.

2 source_name name

Name of the event being offered.

3 target Ref

Reference to the target of the event. Must be child or collection.

4 target_name name

Name under which the event is being offered.

5 mode EventMode

The mode offered for the event.

6 filter fuchsia.data/Dictionary

Filter for the event. The structure of the filter depends on the event type. May be absent for some events.

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

OrdinalFieldTypeDescription
1 source Ref

The provider of the capability relative to the component itself. Must be parent, self, or child.

2 source_name name

Name identifying the protocol being offered.

3 target Ref

Reference to the target. Must be child or collection.

4 target_name name

The name by which the capability is being offered.

5 dependency_type DependencyType

The dependency type this offer represents. A component which recieves a weak offer must support the offered capability being unavailable at any point.

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.

OrdinalFieldTypeDescription
1 source Ref

The provider of the capability relative to the component itself. Must be parent, self, or child.

2 source_name name

Name of the resolver being offered.

3 target Ref

Reference to the target of the capability. Must be child or collection.

4 target_name name

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.

OrdinalFieldTypeDescription
1 source Ref

The provider of the capability relative to the component itself. Must be parent, self, or child.

2 source_name name

Name of the runner being offered.

3 target Ref

Reference to the target of the capability. Must be child or collection.

4 target_name name

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

OrdinalFieldTypeDescription
1 source Ref

The provider of the capability relative to the component itself. Must be parent, self, or child.

2 source_name name

Name identifying the service being offered.

3 target Ref

Reference to the target. Must be child or collection.

4 target_name name

The name under which the capability is being offered.

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.

OrdinalFieldTypeDescription
1 source_name name

The name of the storage capability being offered

2 source Ref

The source of the storage capability. Must be parent or storage.

3 target Ref

Reference to the target of the capability. Must be child or collection.

4 target_name name

The name the storage capability is being offered as

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

OrdinalFieldTypeDescription
1 runner name

The name of the runner to use to run the component. Must match a RunnerRegistration in the component's environment.

This may be absent if a UseRunnerDecl is set instead.

2 info fuchsia.data/Dictionary

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

OrdinalFieldTypeDescription
1 name name

The name of this protocol.

2 source_path string[1024]

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.sys2.ComponentResolver for the protocol resolvers are expected to implement.

OrdinalFieldTypeDescription
1 name name

The name of this resolver. Must be non-empty, unique among resolvers declared in the same ComponentDecl.

2 source_path string[1024]

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.

OrdinalFieldTypeDescription
1 resolver name

The name of the resolver.

2 source Ref

The provider of the capability relative to the component itself. Must be parent, self, or child.

3 scheme url_scheme

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, +, -, and ..

Runner

Defined in fuchsia.component.decl/capability.fidl

Declares a runner capability backed by a service.

OrdinalFieldTypeDescription
1 name name

The name of this runner. Must be non-empty, unique among runners declared in the same ComponentDecl.

2 source_path string[1024]

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.

OrdinalFieldTypeDescription
1 source_name name

The name of the runner capability as it's exposed to, offered, or defined by this component.

2 source Ref

The provider of the capability relative to the component itself. Must be parent, self, or child.

3 target_name name

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

OrdinalFieldTypeDescription
1 name name

The name of this service.

2 source_path string[1024]

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.

OrdinalFieldTypeDescription
1 name name

The name of this storage

2 source Ref

The provider of the backing directory capability relative to the component itself. Must be parent, self, or child.

3 backing_dir name

The name of the directory capability from source that backs the storage.

4 subdir string[1024]

The subdirectory of the source directory that will back the storage

5 storage_id StorageId

This enum determines how to key a component's isolated storage directory. Each option corresponds to a different key'ing strategy. This field is required.

UseDirectory

Defined in fuchsia.component.decl/use.fidl

Declares a directory used by a component, which was offered to it.

OrdinalFieldTypeDescription
1 source Ref

The provider of the directory relative to the component itself. Must be parent or framework.

2 source_name name

Name identifying the directory, by which it was presented to this component.

3 target_path string[1024]

The path where the capability should be installed in the component's namespace.

Must be an absolute path starting with /.

4 rights fuchsia.io2/Rights

The rights required by the component to use this directory.

5 subdir string[1024]

The subdirectory of this directory to use instead of the root. Optional.

6 dependency_type DependencyType

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 weak. A weak dependency implies that the capability may become unavailable at any point. Taking a strong dependency on a child's capability will cause this the child to shut down before its parent. When using a weak dependency, the parent shuts down before the child.

UseEvent

Defined in fuchsia.component.decl/use.fidl

Declares an event used by a component, which was offered to it.

OrdinalFieldTypeDescription
1 source Ref

The provider of the event. Must be |realm| or |framework|.

2 source_name name

Name identifying the event which was presented to this component.

3 target_name name

The name which the component will use to refer to this event.

4 filter fuchsia.data/Dictionary

Filter for the event. The structure of the filter depends on the event type. May be absent for some events.

5 mode EventMode

The mode that the event can use.

6 dependency_type DependencyType

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 weak. A weak dependency implies that the capability may become unavailable at any point. Taking a strong dependency on a child's capability will cause this the child to shut down before its parent. When using a weak dependency, the parent shuts down before the child.

UseEventStream

Defined in fuchsia.component.decl/use.fidl

Declares a static EventStream used by a component.

OrdinalFieldTypeDescription
1 name name

The name of the event stream.

2 subscriptions vector<EventSubscription>[100]

The set of events to which this EventStream is subscribed. Note: This vector must be non-empty.

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.

OrdinalFieldTypeDescription
1 source Ref

The provider of the protocol relative to the component itself. Must be parent, framework, debug or capability.

2 source_name name

Name identifying the protocol, by which it was presented to this component.

3 target_path string[1024]

The path where the capability should be installed in the component's namespace.

Must be an absolute path starting with /.

4 dependency_type DependencyType

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 weak. A weak dependency implies that the capability may become unavailable at any point. Taking a strong dependency on a child's capability will cause this the child to shut down before its parent. When using a weak dependency, the parent shuts down before the child.

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

OrdinalFieldTypeDescription
1 source Ref

The provider of the service relative to the component itself. Must be parent or framework.

2 source_name name

Name identifying the service, by which it was presented to this component.

3 target_path string[1024]

The path where the capability should be installed in the component's namespace.

Must be an absolute path starting with /.

4 dependency_type DependencyType

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 weak. A weak dependency implies that the capability may become unavailable at any point. Taking a strong dependency on a child's capability will cause this the child to shut down before its parent. When using a weak dependency, the parent shuts down before the child.

UseStorage

Defined in fuchsia.component.decl/use.fidl

Declares storage used by a component, which was offered to it.

OrdinalFieldTypeDescription
1 source_name name

Name identifying the storage, by which it was presented to this component.

2 target_path string[1024]

The path where the capability should be installed in the component's namespace.

Must be an absolute path starting with /.

UNIONS

Capability flexible

Defined in fuchsia.component.decl/capability.fidl

Declares a capability defined by this component.

Ordinal
VariantTypeDescription
1 service Service
2 protocol Protocol
3 directory Directory
4 storage Storage
5 runner Runner
6 resolver Resolver
7 event Event

DebugRegistration flexible

Defined in fuchsia.component.decl/environment.fidl

Declares a capability registered in the debug section of an environment.

Ordinal
VariantTypeDescription
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
VariantTypeDescription
1 service ExposeService
2 protocol ExposeProtocol
3 directory ExposeDirectory
4 runner ExposeRunner
5 resolver ExposeResolver

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
VariantTypeDescription
1 service OfferService
2 protocol OfferProtocol
3 directory OfferDirectory
4 storage OfferStorage
5 runner OfferRunner
6 resolver OfferResolver
7 event OfferEvent

Ref flexible

Defined in fuchsia.component.decl/relative_refs.fidl

A reference to a capability source or destination relative to this component.

Ordinal
VariantTypeDescription
1 parent ParentRef
2 self SelfRef
3 child ChildRef
4 collection CollectionRef
5 framework FrameworkRef
6 capability CapabilityRef
7 debug DebugRef

Use flexible

Defined in fuchsia.component.decl/use.fidl

Declares a capability used by a component, which was offered to it.

Ordinal
VariantTypeDescription
1 service UseService
2 protocol UseProtocol
3 directory UseDirectory
4 storage UseStorage
5 event UseEvent
6 event_stream UseEventStream

CONSTANTS

NameValueTypeDescription
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

TYPE ALIASES

NameValueDescription
name string[MAX_NAME_LENGTH]
url_scheme string[MAX_URL_SCHEME_LENGTH]