fuchsia.component.sandbox

Added: 20

PROTOCOLS

Dictionary

Defined in fuchsia.component.sandbox/sandbox.fidl

Added: 20

Clone

Creates a new connection to the same underlying dictionary.

Use Copy to a new dictionary with clones of all the exiting entries.

Added: HEAD

Request

<EMPTY>

Response

NameType
payload Dictionary_Clone_Result

Copy

Create a new dictionary that contains a clone of all the entries in this dictionary.

For example, if this dictionary contains nested dictionaries, the newly created dictionary will contain references to those same nested dictionaries because the entries are cloned rather than copied.

Added: HEAD

Request

<EMPTY>

Response

NameType
payload Dictionary_Copy_Result

Drain

Removes all the entries in this dictionary.

If contents is not provided, all the items are discarded without enumerating them.

Added: HEAD

Request

NameType
contents server_end<DictionaryIterator>?

Enumerate

Enumerates the entries in this dictionary.

Creates a clone of each item during enumeration.

Added: HEAD

Request

NameType
contents server_end<DictionaryIterator>

Get

Get a clone of a capability from this dictionary.

  • error DictionaryError.NOT_FOUND if the dictionary does not contain the key.
Added: HEAD

Request

NameType
key DictionaryKey

Response

NameType
payload Dictionary_Get_Result

Insert

Inserts a key-value pair into the dictionary.

  • error DictionaryError.ALREADY_EXISTS if the dictionary already contains an item with the same key.
Added: HEAD

Request

NameType
key DictionaryKey
value Capability

Response

NameType
payload Dictionary_Insert_Result

Read

Returns all items in this dictionary, sorted by key in natural order.

This operation creates shallow clones of values.

Added: HEAD

Request

<EMPTY>

Response

NameType
payload Dictionary_Read_Result

Remove

Removes a key from the dictionary, returning the Capability value.

  • error DictionaryError.NOT_FOUND if the dictionary does not contain the key.
Added: HEAD

Request

NameType
key DictionaryKey

Response

NameType
payload Dictionary_Remove_Result

DictionaryGetter

Defined in fuchsia.component.sandbox/sandbox.fidl

Components can use [DictionaryGetter] to provide a [Dictionary] by serving

Added: HEAD

Get

Returns the [Dictionary].

Note: Consecutive calls to [Get] are not required to return the same [Dictionary].

Request

<EMPTY>

Response

NameType
payload DictionaryGetter_Get_Result

DictionaryIterator

Defined in fuchsia.component.sandbox/sandbox.fidl

Added: HEAD

GetNext

Request

<EMPTY>

Response

NameType
payload DictionaryIterator_GetNext_Result

Factory

Defined in fuchsia.component.sandbox/sandbox.fidl

Entrypoint for instantiation of sandbox types.

Added: HEAD

CreateDictionary

Creates a new empty Dictionary.

Request

<EMPTY>

Response

NameType
payload Factory_CreateDictionary_Result

CreateDirectory

Creates a Directory capability from a client_end:fuchsia.io.Directory, and registers it as a sandbox capability.

Request

NameType
client_end fuchsia.io/Directory

Response

NameType
payload Factory_CreateDirectory_Result

CreateSender

Creates a Sender from a client served Receiver.

Request

NameType
receiver Receiver

Response

NameType
payload Factory_CreateSender_Result

HandleCapability

Defined in fuchsia.component.sandbox/sandbox.fidl

Added: HEAD

Clone2

Request

NameType
request server_end<fuchsia.unknown/Cloneable>

GetHandle

Request

<EMPTY>

Response

NameType
payload HandleCapability_GetHandle_Result

Receiver

Defined in fuchsia.component.sandbox/sandbox.fidl

A receiver is served by clients and allows them to receive channels from the framework.

Added: HEAD

Receive

Sends a channel to this receiver.

Request

NameType
channel handle<channel>

Router

Defined in fuchsia.component.sandbox/sandbox.fidl

A router allows a client to request a capability.

Added: HEAD

Route

Request

NameType
payload RouteRequest

Response

NameType
payload Router_Route_Result

Sender

Defined in fuchsia.component.sandbox/sandbox.fidl

A sender allows a client to send a channel to the framework so that it can be connected.

Added: HEAD

Clone2

Request

NameType
request server_end<fuchsia.unknown/Cloneable>

Send

Sends a channel over this sender.

Request

NameType
channel handle<channel>

STRUCTS

ComponentToken resource

Defined in fuchsia.component.sandbox/sandbox.fidl

This represents a component within the framework. There are currently no methods here as this is used as a token.

Added: HEAD

FieldTypeDescriptionDefault
token handle<eventpair> No default

DictionaryGetter_Get_Response resource

Defined in fuchsia.component.sandbox/sandbox.fidl

FieldTypeDescriptionDefault
dictionary Dictionary No default

DictionaryItem resource

Defined in fuchsia.component.sandbox/sandbox.fidl

A key-value pair in a Dictionary.

Added: HEAD

FieldTypeDescriptionDefault
key DictionaryKey No default
value Capability No default

DictionaryIterator_GetNext_Response resource

Defined in fuchsia.component.sandbox/sandbox.fidl

FieldTypeDescriptionDefault
items vector<DictionaryItem>[128] No default

Dictionary_Clone_Response resource

Defined in fuchsia.component.sandbox/sandbox.fidl

FieldTypeDescriptionDefault
dictionary Dictionary No default

Dictionary_Copy_Response resource

Defined in fuchsia.component.sandbox/sandbox.fidl

FieldTypeDescriptionDefault
dictionary Dictionary No default

Dictionary_Get_Response resource

Defined in fuchsia.component.sandbox/sandbox.fidl

FieldTypeDescriptionDefault
capability Capability No default

Dictionary_Insert_Response

Defined in fuchsia.component.sandbox/sandbox.fidl

<EMPTY>

Dictionary_Read_Response resource

Defined in fuchsia.component.sandbox/sandbox.fidl

FieldTypeDescriptionDefault
items vector<DictionaryItem> No default

Dictionary_Remove_Response resource

Defined in fuchsia.component.sandbox/sandbox.fidl

FieldTypeDescriptionDefault
capability Capability No default

Factory_CreateDictionary_Response resource

Defined in fuchsia.component.sandbox/sandbox.fidl

FieldTypeDescriptionDefault
dictionary Dictionary No default

Factory_CreateDirectory_Response resource

Defined in fuchsia.component.sandbox/sandbox.fidl

FieldTypeDescriptionDefault
capability Capability No default

Factory_CreateSender_Response resource

Defined in fuchsia.component.sandbox/sandbox.fidl

FieldTypeDescriptionDefault
sender Sender No default

HandleCapability_GetHandle_Response resource

Defined in fuchsia.component.sandbox/sandbox.fidl

FieldTypeDescriptionDefault
handle handle<handle> No default

ProtocolPayload resource

Defined in fuchsia.component.sandbox/sandbox.fidl

Contains a protocol open request.

Added: HEAD

FieldTypeDescriptionDefault
channel handle<channel> No default

Router_Route_Response resource

Defined in fuchsia.component.sandbox/sandbox.fidl

FieldTypeDescriptionDefault
capability Capability No default

UnitCapability

Defined in fuchsia.component.sandbox/sandbox.fidl

<EMPTY>

ENUMS

Availability strict

Type: uint32

Defined in fuchsia.component.sandbox/availability.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).

Added: HEAD

NameValueDescription
1

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

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.

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.

4

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

TRANSITIONAL is used for soft transitions that introduce new capabilities.

BedrockError flexible

Type: uint32

Defined in fuchsia.component.sandbox/sandbox.fidl

Added: HEAD

NameValueDescription
1

Routing the capability failed.

2

A lifecycle transition failed for some capability in the routing chain.

3

Could not open the capability in the provider component.

4

The arguments provided to the function are invalid.

DictionaryError flexible

Type: uint32

Defined in fuchsia.component.sandbox/sandbox.fidl

Error returned from methods in Dictionary.

Added: HEAD

NameValueDescription
1

The Dictionary does not contain an item with the given key.

2

The Dictionary already contains an item with the given key.

3

The Capability is invalid.

Capabilites must be created by sandbox, via fuchsia.component.sandbox.Factory or returned from other Component Framework APIs.

4

The key is invalid. The constraints for valid keys are documented at https://fuchsia.dev/reference/cml#names.

HandleCapabilityError strict

Type: uint32

Defined in fuchsia.component.sandbox/sandbox.fidl

NameValueDescription
1

TABLES

RouteRequest resource

Defined in fuchsia.component.sandbox/sandbox.fidl

A request for a route.

Added: HEAD

OrdinalFieldTypeDescription
availability Availability

The requested availability for this capability.

requesting ComponentToken

The component that is requesting the capability.

UNIONS

Capability flexible resource

Defined in fuchsia.component.sandbox/sandbox.fidl

Added: HEAD
OrdinalVariantTypeDescription
unit UnitCapability
handle HandleCapability
data DataCapability
dictionary Dictionary
sender Sender
directory fuchsia.io/Directory
router Router

DataCapability flexible

Defined in fuchsia.component.sandbox/sandbox.fidl

Added: HEAD
OrdinalVariantTypeDescription
bytes vector<uint8>[8192]
string string[8192]
int64 int64
uint64 uint64

DictionaryGetter_Get_Result strict resource

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response DictionaryGetter_Get_Response
framework_err internal

DictionaryIterator_GetNext_Result strict resource

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response DictionaryIterator_GetNext_Response
framework_err internal

Dictionary_Clone_Result strict resource

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response Dictionary_Clone_Response
framework_err internal

Dictionary_Copy_Result strict resource

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response Dictionary_Copy_Response
framework_err internal

Dictionary_Get_Result strict resource

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response Dictionary_Get_Response
err DictionaryError
framework_err internal

Dictionary_Insert_Result strict

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response Dictionary_Insert_Response
err DictionaryError
framework_err internal

Dictionary_Read_Result strict resource

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response Dictionary_Read_Response
framework_err internal

Dictionary_Remove_Result strict resource

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response Dictionary_Remove_Response
err DictionaryError
framework_err internal

Factory_CreateDictionary_Result strict resource

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response Factory_CreateDictionary_Response
framework_err internal

Factory_CreateDirectory_Result strict resource

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response Factory_CreateDirectory_Response
framework_err internal

Factory_CreateSender_Result strict resource

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response Factory_CreateSender_Response
framework_err internal

HandleCapability_GetHandle_Result strict resource

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response HandleCapability_GetHandle_Response
err HandleCapabilityError

Router_Route_Result strict resource

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response Router_Route_Response
err BedrockError
framework_err internal

CONSTANTS

NameValueTypeDescription
MAX_DATA_LENGTH 8192 uint32

Maximum number of bytes in a [DataCapability].

MAX_DICTIONARY_ITEMS_CHUNK 128 uint32

Maximum number of items returned by [DictionaryIterator].

MAX_NAME_LENGTH fuchsia.io/MAX_NAME_LENGTH uint64

The maximum length of a dictionary key. This should coincide with fuchsia.component.MAX_NAME_LENGTH.

Added: HEAD

ALIASES

NameValueDescription
DictionaryKey string[MAX_NAME_LENGTH]

The key of a DictionaryItem. The constraints for valid keys are documented at https://fuchsia.dev/reference/cml#names.

Added: HEAD