协议
功能
在 fuchsia.component.runtime/capabilities.fidl 中定义
用于在组件框架中创建和操作对运行时功能的引用的 API。这些功能均由组件管理器进行引用计数,并且在使用此协议访问时,引用会作为事件对句柄实现。
CapabilityAssociateHandle
将 other_handle 与 capability_handle 引用的同一 capability 相关联。
通常,如果已经有 capability_handle,则可以复制该句柄以创建引用同一对象的新句柄,但如果其他人提供了应与现有对象关联的句柄,则此方法不起作用。
请求
| 名称 | 类型 |
|---|---|
capability_handle |
handle<eventpair>
|
other_handle |
handle<eventpair>
|
响应
| 名称 | 类型 |
|---|---|
payload |
Capabilities_CapabilityAssociateHandle_Result
|
ConnectorCreate
创建对新连接器功能的引用。连接器打开后,提供给打开调用的通道将通过 receiver_client_end 发送。
在将句柄的对等方传递给此 API 中的其他方法之前,请确保此方法会返回。在此之前,创建可能尚未完成。
请求
| 名称 | 类型 |
|---|---|
connector |
handle<eventpair>
|
receiver_client_end |
client_end:Receiver
|
响应
| 名称 | 类型 |
|---|---|
payload |
Capabilities_ConnectorCreate_Result
|
ConnectorOpen
使用提供的 connector,通过将此通道传递给创建连接器的任何人来打开新连接。
如果出现错误,系统会在 channel 上将其报告为 zx.Status 墓志铭。
如果 connector 事件对句柄与提供给 ConnectorCreate 的句柄不相关,则此连接将关闭。
请求
| 名称 | 类型 |
|---|---|
connector |
handle<eventpair>
|
channel |
handle<channel>
|
响应
| 名称 | 类型 |
|---|---|
payload |
Capabilities_ConnectorOpen_Result
|
ConnectorRouterCreate
创建对新路由器功能的引用,该功能在使用时将返回连接器功能。
在将句柄的对等方传递给此 API 中的其他方法之前,请确保此方法会返回。在此之前,创建可能尚未完成。
请求
| 名称 | 类型 |
|---|---|
router |
handle<eventpair>
|
router_client_end |
client_end:ConnectorRouter
|
响应
| 名称 | 类型 |
|---|---|
payload |
Capabilities_ConnectorRouterCreate_Result
|
ConnectorRouterRoute
尝试从此 ConnectorRouter 生成 Connector 功能。
request 包含此路由的上下文,instance_token 引用正在执行路由操作的组件。
此操作会返回:
- 如果
connector已与连接器关联,则为SUCCESS。 - 如果该功能不可用,则为
UNAVAILABLE,在这种情况下,connector将关闭。 - 如果操作失败,则返回错误。
请求
| 名称 | 类型 |
|---|---|
router |
handle<eventpair>
|
request |
RouteRequest
|
instance_token |
handle<eventpair>
|
connector |
handle<eventpair>
|
响应
| 名称 | 类型 |
|---|---|
payload |
Capabilities_ConnectorRouterRoute_Result
|
DataCreate
使用给定值创建对新数据功能的引用。
在将句柄的对等方传递给此 API 中的其他方法之前,请确保此方法会返回。在此之前,创建可能尚未完成。
请求
| 名称 | 类型 |
|---|---|
data_handle |
handle<eventpair>
|
data |
Data
|
响应
| 名称 | 类型 |
|---|---|
payload |
Capabilities_DataCreate_Result
|
DataGet
返回提供给与 data_handle 搭配使用的 DataCreate 调用的 Data 值。
请求
| 名称 | 类型 |
|---|---|
data_handle |
handle<eventpair>
|
响应
| 名称 | 类型 |
|---|---|
payload |
Capabilities_DataGet_Result
|
DataRouterCreate
创建对新路由器功能的引用,该功能在使用时会返回数据值。
在将句柄的对等方传递给此 API 中的其他方法之前,请确保此方法会返回。在此之前,创建可能尚未完成。
请求
| 名称 | 类型 |
|---|---|
router |
handle<eventpair>
|
router_client_end |
client_end:DataRouter
|
响应
| 名称 | 类型 |
|---|---|
payload |
Capabilities_DataRouterCreate_Result
|
DataRouterRoute
尝试从此 DataRouter 生成 Data 功能。
request 包含此路由的上下文,instance_token 引用正在执行路由操作的组件。
此操作会返回:
- 如果
data已与连接器关联,则为SUCCESS。 - 如果该功能不可用,则为
UNAVAILABLE,在这种情况下,data将关闭。 - 如果操作失败,则返回错误。
请求
| 名称 | 类型 |
|---|---|
router |
handle<eventpair>
|
request |
RouteRequest
|
instance_token |
handle<eventpair>
|
data |
handle<eventpair>
|
响应
| 名称 | 类型 |
|---|---|
payload |
Capabilities_DataRouterRoute_Result
|
DictionaryCreate
创建对新字典功能的引用。
在将句柄的对等方传递给此 API 中的其他方法之前,请确保此方法会返回。在此之前,创建可能尚未完成。
请求
| 名称 | 类型 |
|---|---|
dictionary |
handle<eventpair>
|
响应
| 名称 | 类型 |
|---|---|
payload |
Capabilities_DictionaryCreate_Result
|
DictionaryGet
如果此
字典中存在名为 key 的 capability,则创建对该 的新引用。该功能仍会保留在字典中。如需从字典中移除某项功能,请使用 DictionaryRemove。
如果 key 不存在,value 将不会引用任何功能,并且会返回 NO_SUCH_CAPABILITY 错误值。
在将句柄的对等方传递给此 API 中的其他方法之前,请确保此方法会返回。在此之前,创建可能尚未完成。
请求
| 名称 | 类型 |
|---|---|
dictionary |
handle<eventpair>
|
key |
fuchsia.component.decl/name
|
value |
handle<eventpair>
|
响应
| 名称 | 类型 |
|---|---|
payload |
Capabilities_DictionaryGet_Result
|
DictionaryInsert
将新的 capability 插入到此 Dictionary 中,名称为 key。
覆盖所有现有条目。
请求
| 名称 | 类型 |
|---|---|
dictionary |
handle<eventpair>
|
key |
fuchsia.component.decl/name
|
value |
handle<eventpair>
|
响应
| 名称 | 类型 |
|---|---|
payload |
Capabilities_DictionaryInsert_Result
|
DictionaryIterateKeys
打开一个迭代器,可用于迭代此字典的键。
请求
| 名称 | 类型 |
|---|---|
dictionary |
handle<eventpair>
|
key_iterator |
server_end:DictionaryKeyIterator
|
响应
| 名称 | 类型 |
|---|---|
payload |
Capabilities_DictionaryIterateKeys_Result
|
DictionaryRemove
从此字典中移除名为 key 的 capability,并返回对它的引用(如果该功能存在)。
必须提供 dictionary 和 key。capability 是可选的,设置后将与从字典中移除的功能相关联。
如果 key 不存在,value 将不会引用任何功能,并且会返回 NO_SUCH_CAPABILITY 错误值。
在将 capability 的对等方传递给此 API 中的其他方法之前,请确保此方法已返回。在此之前,创建可能尚未完成。
请求
| 名称 | 类型 |
|---|---|
payload |
CapabilitiesDictionaryRemoveRequest
|
响应
| 名称 | 类型 |
|---|---|
payload |
Capabilities_DictionaryRemove_Result
|
DictionaryRouterCreate
创建对新路由器功能的引用,该功能在使用时将返回字典功能。
在将句柄的对等方传递给此 API 中的其他方法之前,请确保此方法会返回。在此之前,创建可能尚未完成。
请求
| 名称 | 类型 |
|---|---|
router |
handle<eventpair>
|
router_client_end |
client_end:DictionaryRouter
|
响应
| 名称 | 类型 |
|---|---|
payload |
Capabilities_DictionaryRouterCreate_Result
|
DictionaryRouterRoute
尝试从此 DictionaryRouter 生成 Dictionary 功能。
request 包含此路由的上下文,instance_token 引用正在执行路由操作的组件。
此操作会返回:
- 如果
dictionary已与连接器关联,则为SUCCESS。 - 如果该功能不可用,则为
UNAVAILABLE,在这种情况下,dictionary将关闭。 - 如果操作失败,则返回错误。
请求
| 名称 | 类型 |
|---|---|
router |
handle<eventpair>
|
request |
RouteRequest
|
instance_token |
handle<eventpair>
|
dictionary |
handle<eventpair>
|
响应
| 名称 | 类型 |
|---|---|
payload |
Capabilities_DictionaryRouterRoute_Result
|
DirConnectorCreate
创建对新目录连接器功能的引用。打开目录连接器后,提供给打开调用的通道将通过 receiver_client_end 发送。
在将句柄的对等方传递给此 API 中的其他方法之前,请确保此方法会返回。在此之前,创建可能尚未完成。
请求
| 名称 | 类型 |
|---|---|
dir_connector |
handle<eventpair>
|
receiver_client_end |
client_end:DirReceiver
|
响应
| 名称 | 类型 |
|---|---|
payload |
Capabilities_DirConnectorCreate_Result
|
DirConnectorOpen
使用提供的 dir_connector,通过将此渠道传递给创建目录连接器的任何人来打开新的目录连接。
如果出现错误,系统会在 channel 上将其报告为 zx.Status 墓志铭。
如果 dir_connector 事件对句柄与提供给 DirConnectorCreate 的句柄不相关,则此连接将关闭。
dir_connector 和 channel 均为必填字段。flags 和 path 可以省略。
请求
| 名称 | 类型 |
|---|---|
payload |
CapabilitiesDirConnectorOpenRequest
|
响应
| 名称 | 类型 |
|---|---|
payload |
Capabilities_DirConnectorOpen_Result
|
DirConnectorRouterCreate
创建对新路由器功能的引用,该功能在使用时将返回目录连接器功能。
在将句柄的对等方传递给此 API 中的其他方法之前,请确保此方法会返回。在此之前,创建可能尚未完成。
请求
| 名称 | 类型 |
|---|---|
router |
handle<eventpair>
|
router_client_end |
client_end:DirConnectorRouter
|
响应
| 名称 | 类型 |
|---|---|
payload |
Capabilities_DirConnectorRouterCreate_Result
|
DirConnectorRouterRoute
尝试从此 DirConnectorRouter 生成 DirConnector 功能。
request 包含此路由的上下文,instance_token 引用正在执行路由操作的组件。
此操作会返回:
- 如果
dir_connector已与连接器关联,则为SUCCESS。 - 如果该功能不可用,则为
UNAVAILABLE,在这种情况下,dir_connector将关闭。 - 如果操作失败,则返回错误。
请求
| 名称 | 类型 |
|---|---|
router |
handle<eventpair>
|
request |
RouteRequest
|
instance_token |
handle<eventpair>
|
dir_connector |
handle<eventpair>
|
响应
| 名称 | 类型 |
|---|---|
payload |
Capabilities_DirConnectorRouterRoute_Result
|
HandleCreate
创建对封装给定 handle 的新句柄功能的引用。
在将句柄的对等方传递给此 API 中的其他方法之前,请确保此方法会返回。在此之前,创建可能尚未完成。
请求
| 名称 | 类型 |
|---|---|
handle_capability |
handle<eventpair>
|
handle |
handle<handle>
|
响应
| 名称 | 类型 |
|---|---|
payload |
Capabilities_HandleCreate_Result
|
HandleGet
获取并返回提供给与 handle_capability 搭配使用的 HandleCreate 调用的 zx.Handle。如果标识名已被占用,则返回 HANDLE_ALREADY_TAKEN。
请求
| 名称 | 类型 |
|---|---|
handle_capability |
handle<eventpair>
|
响应
| 名称 | 类型 |
|---|---|
payload |
Capabilities_HandleGet_Result
|
InstanceTokenCreate
创建新的实例令牌,这是与特定组件关联的不透明标识符。此实例令牌将与打开此连接的组件相关联。
在将句柄的对等方传递给此 API 中的其他方法之前,请确保此方法会返回。在此之前,创建可能尚未完成。
请求
| 名称 | 类型 |
|---|---|
instance_token |
handle<eventpair>
|
响应
| 名称 | 类型 |
|---|---|
payload |
Capabilities_InstanceTokenCreate_Result
|
ServiceAggregateCreate
创建对新目录连接器功能的引用,该功能会将待处理的请求转发到一组来源。
在将句柄的对等方传递给此 API 中的其他方法之前,请确保此方法会返回。在此之前,创建可能尚未完成。
请求
| 名称 | 类型 |
|---|---|
dir_connector |
handle<eventpair>
|
sources |
vector<AggregateSource>
|
响应
| 名称 | 类型 |
|---|---|
payload |
Capabilities_ServiceAggregateCreate_Result
|
ConnectorRouter
在 fuchsia.component.runtime/capabilities.fidl 中定义
Connector 功能的工厂。
路线
尝试从此 ConnectorRouter 生成 Connector 功能。
request 包含此路由的上下文,instance_token 引用正在执行路由操作的组件。
此操作会返回:
- 如果
handle已与连接器关联,则为SUCCESS。 - 如果该功能不可用,则为
UNAVAILABLE,在这种情况下,handle将关闭。 - 如果操作失败,则返回错误。
请求
| 名称 | 类型 |
|---|---|
request |
RouteRequest
|
instance_token |
handle<eventpair>
|
handle |
handle<eventpair>
|
响应
| 名称 | 类型 |
|---|---|
payload |
ConnectorRouter_Route_Result
|
DataRouter
在 fuchsia.component.runtime/capabilities.fidl 中定义
Data 功能的工厂。
路线
尝试从此 DataRouter 生成 Data 功能。
request 包含此路由的上下文,instance_token 引用正在执行路由操作的组件。
此操作会返回:
- 如果
handle已与连接器关联,则为SUCCESS。 - 如果该功能不可用,则为
UNAVAILABLE,在这种情况下,handle将关闭。 - 如果操作失败,则返回错误。
请求
| 名称 | 类型 |
|---|---|
request |
RouteRequest
|
instance_token |
handle<eventpair>
|
handle |
handle<eventpair>
|
响应
| 名称 | 类型 |
|---|---|
payload |
DataRouter_Route_Result
|
DictionaryKeyIterator
在 fuchsia.component.runtime/capabilities.fidl 中定义
GetNext
返回此字典中的下一组键。当没有更多键可供迭代时,返回空向量。
请求
<EMPTY>
响应
| 名称 | 类型 |
|---|---|
keys |
vector<fuchsia.component.decl/name>
|
DictionaryRouter
在 fuchsia.component.runtime/capabilities.fidl 中定义
Dictionary 功能的工厂。
路线
尝试从此 DictionaryRouter 生成 Dictionary 功能。
request 包含此路由的上下文,instance_token 引用正在执行路由操作的组件。
此操作会返回:
- 如果
handle已与连接器关联,则为SUCCESS。 - 如果该功能不可用,则为
UNAVAILABLE,在这种情况下,handle将关闭。 - 如果操作失败,则返回错误。
请求
| 名称 | 类型 |
|---|---|
request |
RouteRequest
|
instance_token |
handle<eventpair>
|
handle |
handle<eventpair>
|
响应
| 名称 | 类型 |
|---|---|
payload |
DictionaryRouter_Route_Result
|
DirConnectorRouter
在 fuchsia.component.runtime/capabilities.fidl 中定义
DirConnector 功能的工厂。
路线
尝试从此 DirConnectorRouter 生成 DirConnector 功能。
request 包含此路由的上下文,instance_token 引用正在执行路由操作的组件。
此操作会返回:
- 如果
handle已与连接器关联,则为SUCCESS。 - 如果该功能不可用,则为
UNAVAILABLE,在这种情况下,handle将关闭。 - 如果操作失败,则返回错误。
请求
| 名称 | 类型 |
|---|---|
request |
RouteRequest
|
instance_token |
handle<eventpair>
|
handle |
handle<eventpair>
|
响应
| 名称 | 类型 |
|---|---|
payload |
DirConnectorRouter_Route_Result
|
DirReceiver
在 fuchsia.component.runtime/capabilities.fidl 中定义
DirReceiver 表示 DirConnector 的接收端。
接收
每当有新句柄提供给与此 DirReceiver 关联的任何 DirConnector 时,组件管理器都会调用 Receive。
请求
| 名称 | 类型 |
|---|---|
channel |
server_end:fuchsia.io/Directory
|
path |
fuchsia.io/Path
|
rights |
fuchsia.io/Flags
|
接收器
在 fuchsia.component.runtime/capabilities.fidl 中定义
Receiver 表示 Connector 的接收端。
接收
每当向与此 Receiver 关联的任何 Connector 提供新句柄时,组件管理器都会调用 Receive。
请求
| 名称 | 类型 |
|---|---|
channel |
handle<channel>
|
STRUCTS
Capabilities_CapabilityAssociateHandle_Response
在 fuchsia.component.runtime/capabilities.fidl 中定义
<EMPTY>
Capabilities_ConnectorCreate_Response
在 fuchsia.component.runtime/capabilities.fidl 中定义
<EMPTY>
Capabilities_ConnectorOpen_Response
在 fuchsia.component.runtime/capabilities.fidl 中定义
<EMPTY>
Capabilities_ConnectorRouterCreate_Response
在 fuchsia.component.runtime/capabilities.fidl 中定义
<EMPTY>
Capabilities_ConnectorRouterRoute_Response
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 字段 | 类型 | 说明 | 默认 |
|---|---|---|---|
response |
RouterResponse
|
无默认应用 |
Capabilities_DataCreate_Response
在 fuchsia.component.runtime/capabilities.fidl 中定义
<EMPTY>
Capabilities_DataRouterCreate_Response
在 fuchsia.component.runtime/capabilities.fidl 中定义
<EMPTY>
Capabilities_DataRouterRoute_Response
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 字段 | 类型 | 说明 | 默认 |
|---|---|---|---|
response |
RouterResponse
|
无默认应用 |
Capabilities_DictionaryCreate_Response
在 fuchsia.component.runtime/capabilities.fidl 中定义
<EMPTY>
Capabilities_DictionaryGet_Response 资源
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 字段 | 类型 | 说明 | 默认 |
|---|---|---|---|
capability_type |
CapabilityType
|
无默认应用 |
Capabilities_DictionaryInsert_Response
在 fuchsia.component.runtime/capabilities.fidl 中定义
<EMPTY>
Capabilities_DictionaryIterateKeys_Response
在 fuchsia.component.runtime/capabilities.fidl 中定义
<EMPTY>
Capabilities_DictionaryRemove_Response 资源
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 字段 | 类型 | 说明 | 默认 |
|---|---|---|---|
capability_type |
CapabilityType
|
无默认应用 |
Capabilities_DictionaryRouterCreate_Response
在 fuchsia.component.runtime/capabilities.fidl 中定义
<EMPTY>
Capabilities_DictionaryRouterRoute_Response
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 字段 | 类型 | 说明 | 默认 |
|---|---|---|---|
response |
RouterResponse
|
无默认应用 |
Capabilities_DirConnectorCreate_Response
在 fuchsia.component.runtime/capabilities.fidl 中定义
<EMPTY>
Capabilities_DirConnectorOpen_Response
在 fuchsia.component.runtime/capabilities.fidl 中定义
<EMPTY>
Capabilities_DirConnectorRouterCreate_Response
在 fuchsia.component.runtime/capabilities.fidl 中定义
<EMPTY>
Capabilities_DirConnectorRouterRoute_Response
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 字段 | 类型 | 说明 | 默认 |
|---|---|---|---|
response |
RouterResponse
|
无默认应用 |
Capabilities_HandleCreate_Response
在 fuchsia.component.runtime/capabilities.fidl 中定义
<EMPTY>
Capabilities_HandleGet_Response 资源
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 字段 | 类型 | 说明 | 默认 |
|---|---|---|---|
handle |
handle<handle>
|
无默认应用 |
Capabilities_InstanceTokenCreate_Response
在 fuchsia.component.runtime/capabilities.fidl 中定义
<EMPTY>
Capabilities_ServiceAggregateCreate_Response
在 fuchsia.component.runtime/capabilities.fidl 中定义
<EMPTY>
ConnectorRouter_Route_Response
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 字段 | 类型 | 说明 | 默认 |
|---|---|---|---|
response |
RouterResponse
|
无默认应用 |
DataRouter_Route_Response
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 字段 | 类型 | 说明 | 默认 |
|---|---|---|---|
response |
RouterResponse
|
无默认应用 |
DictionaryRouter_Route_Response
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 字段 | 类型 | 说明 | 默认 |
|---|---|---|---|
response |
RouterResponse
|
无默认应用 |
DirConnectorRouter_Route_Response
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 字段 | 类型 | 说明 | 默认 |
|---|---|---|---|
response |
RouterResponse
|
无默认应用 |
枚举
CapabilitiesError flexible
类型:uint32
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 名称 | 值 | 说明 |
|---|---|---|
NO_SUCH_CAPABILITY |
1 |
|
INVALID_NAME |
2 |
|
HANDLE_DOES_NOT_REFERENCE_CAPABILITY |
3 |
|
INVALID_CAPABILITY_TYPE |
4 |
|
UNREGISTERED_CAPABILITY |
5 |
|
INVALID_HANDLE |
6 |
|
HANDLE_ALREADY_REGISTERED |
7 |
|
INVALID_DATA |
8 |
|
INVALID_ARGS |
9 |
|
HANDLE_ALREADY_TAKEN |
10 |
CapabilityType flexible
类型:uint32
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 名称 | 值 | 说明 |
|---|---|---|
连接器 |
1 |
|
DIR_CONNECTOR |
2 |
|
词典 |
3 |
|
数据 |
4 |
|
CONNECTOR_ROUTER |
5 |
|
DIR_CONNECTOR_ROUTER |
6 |
|
DICTIONARY_ROUTER |
7 |
|
DATA_ROUTER |
8 |
|
INSTANCE_TOKEN |
9 |
|
标识名 |
10 |
RouterError flexible
类型:uint32
在 fuchsia.component.runtime/capabilities.fidl 中定义
路由操作失败时返回的错误值。
| 名称 | 值 | 说明 |
|---|---|---|
NOT_FOUND |
1 |
路由器未能找到该功能。 |
INVALID_ARGS |
2 |
为函数提供的参数无效。 |
NOT_SUPPORTED |
3 |
不支持此操作。 |
INTERNAL |
4 |
发生内部错误。 |
未知 |
5 |
发生未知错误。 |
RouterResponse flexible
类型:uint32
在 fuchsia.component.runtime/capabilities.fidl 中定义
路由操作成功时返回的错误值。
| 名称 | 值 | 说明 |
|---|---|---|
成功 |
1 |
服务器端已连接到有效对象。 |
目前无法购买 |
2 |
该功能已被标记为不可用。 |
TABLES
AggregateSource 资源
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
dir_connector |
handle<eventpair>
|
对来源 |
2 |
source_instance_filter |
vector<fuchsia.component.decl/name>
|
(可选)要提供的许可清单实例列表。目标组件将无法访问此列表中未包含的服务实例。如果未设置此字段,则表示提供源服务中的所有实例。 |
3 |
renamed_instances |
vector<fuchsia.component.decl/NameMapping>
|
(可选)要提供的许可清单实例列表,包含重命名。 如果此字段已设置且不为空,则目标服务中的实例集将仅限于此列表中的实例,并将 如果已设置且不为空, |
CapabilitiesDictionaryRemoveRequest 资源
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
dictionary |
handle<eventpair>
|
|
2 |
key |
fuchsia.component.decl/name
|
|
3 |
value |
handle<eventpair>
|
CapabilitiesDirConnectorOpenRequest 资源
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
dir_connector |
handle<eventpair>
|
|
2 |
channel |
server_end:fuchsia.io/Directory
|
|
3 |
flags |
fuchsia.io/Flags
|
|
4 |
path |
fuchsia.io/Path
|
RouteRequest
在 fuchsia.component.runtime/capabilities.fidl 中定义
包含有关所请求 capability 的元数据,可用于修改返回的 capability(例如减少目录权限),或用于拒绝路由(即返回错误)。
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
build_type_name |
fuchsia.component.decl/name
|
所路由功能的构建时类型(例如协议、存储或解析器)。应始终设置。 |
2 |
availability |
fuchsia.component.decl/Availability
|
所请求功能的可用性。应始终设置。 |
3 |
directory_rights |
fuchsia.io/Flags
|
申请目录时所使用的权利。在路由目录或存储功能时应设置此字段。 |
4 |
directory_intermediate_rights |
fuchsia.io/Flags
|
与多步路线中的上一个声明关联的权限。应在路由目录或存储功能时设置。 |
5 |
inherit_rights |
bool
|
如果目录权限未在公开或提供声明中出现,是否应从功能声明中继承。 在路由目录或存储功能时必须设置。 |
6 |
sub_directory_path |
string:1024
|
应连接目录功能的子路径。可在路由目录或存储功能时设置。 |
7 |
isolated_storage_path |
string:1024
|
后备目录中将连接到所用存储功能的路径。 |
8 |
storage_sub_directory_path |
string:1024
|
要使用的存储空间后备目录的子目录中的子目录(如果有)。此路径与 sub_directory_path 的区别在于:a) sub_directory_path 通常是指目录 capability 的子目录;b) sub_directory_path 会首先附加到 isolated_storage_path(这是指向后备目录的路径),如果 storage_sub_directory_path 不存在,component_manager 会创建该路径,但不会创建 sub_directory_path。因此,后备目录中存储功能的完整路径为 {isolated_storage_path}/{sub_directory_path}/{storage_sub_directory_path}。 应在路由存储功能时设置。 |
9 |
storage_source_moniker |
string:4096
|
提供存储 build-time 功能的组件的名称。在路由存储功能的后备目录时应设置此属性。 |
10 |
event_stream_scope_moniker |
string:4096
|
在事件流上设置了范围的组件的名称。 可在路由事件流时设置。 |
11 |
event_stream_scope |
vector<fuchsia.component.decl/Ref>
|
此事件流的使用方能够从中观察事件的范围。相对于 |
12 |
skip_policy_checks |
bool
|
为路由功能停用许可清单检查。如果未在主机上运行,则会忽略此标志;如果要在审查中对中间路由执行检查(例如,从“offer”而非“use”路由),则必须使用此标志。可针对任何构建时功能类型进行设置。 |
UNIONS
Capabilities_CapabilityAssociateHandle_Result strict
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Capabilities_CapabilityAssociateHandle_Response
|
|
2 |
err |
CapabilitiesError
|
|
3 |
framework_err |
internal
|
Capabilities_ConnectorCreate_Result strict
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Capabilities_ConnectorCreate_Response
|
|
2 |
err |
CapabilitiesError
|
|
3 |
framework_err |
internal
|
Capabilities_ConnectorOpen_Result strict
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Capabilities_ConnectorOpen_Response
|
|
2 |
err |
CapabilitiesError
|
|
3 |
framework_err |
internal
|
Capabilities_ConnectorRouterCreate_Result strict
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Capabilities_ConnectorRouterCreate_Response
|
|
2 |
err |
CapabilitiesError
|
|
3 |
framework_err |
internal
|
Capabilities_ConnectorRouterRoute_Result strict
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Capabilities_ConnectorRouterRoute_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Capabilities_DataCreate_Result strict
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Capabilities_DataCreate_Response
|
|
2 |
err |
CapabilitiesError
|
|
3 |
framework_err |
internal
|
Capabilities_DataGet_Result strict
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Data
|
|
2 |
err |
CapabilitiesError
|
|
3 |
framework_err |
internal
|
Capabilities_DataRouterCreate_Result strict
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Capabilities_DataRouterCreate_Response
|
|
2 |
err |
CapabilitiesError
|
|
3 |
framework_err |
internal
|
Capabilities_DataRouterRoute_Result strict
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Capabilities_DataRouterRoute_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Capabilities_DictionaryCreate_Result strict
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Capabilities_DictionaryCreate_Response
|
|
2 |
err |
CapabilitiesError
|
|
3 |
framework_err |
internal
|
Capabilities_DictionaryGet_Result strict resource
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Capabilities_DictionaryGet_Response
|
|
2 |
err |
CapabilitiesError
|
|
3 |
framework_err |
internal
|
Capabilities_DictionaryInsert_Result strict
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Capabilities_DictionaryInsert_Response
|
|
2 |
err |
CapabilitiesError
|
|
3 |
framework_err |
internal
|
Capabilities_DictionaryIterateKeys_Result strict
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Capabilities_DictionaryIterateKeys_Response
|
|
2 |
err |
CapabilitiesError
|
|
3 |
framework_err |
internal
|
Capabilities_DictionaryRemove_Result strict resource
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Capabilities_DictionaryRemove_Response
|
|
2 |
err |
CapabilitiesError
|
|
3 |
framework_err |
internal
|
Capabilities_DictionaryRouterCreate_Result strict
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Capabilities_DictionaryRouterCreate_Response
|
|
2 |
err |
CapabilitiesError
|
|
3 |
framework_err |
internal
|
Capabilities_DictionaryRouterRoute_Result strict
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Capabilities_DictionaryRouterRoute_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Capabilities_DirConnectorCreate_Result strict
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Capabilities_DirConnectorCreate_Response
|
|
2 |
err |
CapabilitiesError
|
|
3 |
framework_err |
internal
|
Capabilities_DirConnectorOpen_Result strict
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Capabilities_DirConnectorOpen_Response
|
|
2 |
err |
CapabilitiesError
|
|
3 |
framework_err |
internal
|
Capabilities_DirConnectorRouterCreate_Result strict
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Capabilities_DirConnectorRouterCreate_Response
|
|
2 |
err |
CapabilitiesError
|
|
3 |
framework_err |
internal
|
Capabilities_DirConnectorRouterRoute_Result strict
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Capabilities_DirConnectorRouterRoute_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Capabilities_HandleCreate_Result strict
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Capabilities_HandleCreate_Response
|
|
2 |
err |
CapabilitiesError
|
|
3 |
framework_err |
internal
|
Capabilities_HandleGet_Result strict resource
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Capabilities_HandleGet_Response
|
|
2 |
err |
CapabilitiesError
|
|
3 |
framework_err |
internal
|
Capabilities_InstanceTokenCreate_Result strict
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Capabilities_InstanceTokenCreate_Response
|
|
2 |
err |
CapabilitiesError
|
|
3 |
framework_err |
internal
|
Capabilities_ServiceAggregateCreate_Result strict
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Capabilities_ServiceAggregateCreate_Response
|
|
2 |
err |
CapabilitiesError
|
|
3 |
framework_err |
internal
|
ConnectorRouter_Route_Result strict
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
ConnectorRouter_Route_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
灵活的数据
在 fuchsia.component.runtime/capabilities.fidl 中定义
可放入字典或由路由器返回的静态数据。这对于在 RouteRequest 的元数据中设置值非常有用。
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
bytes |
vector<uint8>:8192
|
|
2 |
string |
string:8192
|
|
3 |
int64 |
int64
|
|
4 |
uint64 |
uint64
|
DataRouter_Route_Result strict
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
DataRouter_Route_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
DictionaryRouter_Route_Result strict
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
DictionaryRouter_Route_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
DirConnectorRouter_Route_Result strict
在 fuchsia.component.runtime/capabilities.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
DirConnectorRouter_Route_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
常量
| 名称 | 值 | 类型 | 说明 |
|---|---|---|---|
| MAX_DATA_LENGTH |
8192
|
uint32 |
添加:HEAD
|