遥控器服务提供了一个 API,用于查询和连接 任意 FIDL 服务。
查询可以匹配系统上的任意数量的服务,以及 select
将输出所有匹配项,其格式取决于它们在
组件拓扑
对于与单项服务唯一匹配的查询,RCS 可以 连接到该服务,并将句柄传递给主机以供 FFX 使用。 这就是 FHO 子工具框架创建 FIDL 的方式 代理。
要查询目标上的服务,请编写选择器 与相关服务匹配。
选择器语法
许多与组件或服务交互的 ffx
命令都会接受组件
作为参数传递ffx
中的组件选择器使用的语法与
诊断选择器。
以下是一些示例选择器,它们都选择遥控器服务:
core/remote-control:out:fuchsia.developer.remotecontrol.RemoteControl
core/*:out:fuchsia.developer.remotecontrol.RemoteControl
core/*:expose:fuchsia.developer.remotecontrol.RemoteControl
core/remote-control:out:*
core/*:expose:fuchsia.developer.remotecontrol.R*
选择器细分
选择器包含三个组成部分:
<component moniker>:<node selector>:<property selector>
。我们将在本课程中
。通配符 (*
) 在选择器的每个段中均有效。
请参考以下示例:
core/remote-control:out:fuchsia.developer.remotecontrol.RemoteControl
out
是节点选择器。在ffx
中,此字段必须是下列其中一项: 值,这些值对应于组件中使用的路由术语 并在路由术语文档中定义。out
:组件提供的服务。对应于 中的offer
组件清单。expose
:组件公开的服务。对应于 中的expose
组件清单。in
:组件所依赖的服务。对应于 中的use
组件清单。
fuchsia.developer.remotecontrol.RemoteControl
是属性选择器, 与路由中的完全限定 FIDL 服务名称进行匹配, 节点选择器匹配的目录。
您可以选择省略属性选择器:core/remote-control:out
是
等同于 core/remote-control:out:*
。