运行控制面板样例
此处有两个控制面板样例, ‘Controller’ 和 ‘Controllable’. Control Panel service framework 是一个众多接口和存放接口的对象路 径定义的集合。
当某一应用程序使用 Control Panel service 作为一个可控设备时,他会使用包含了 AllJoyn™ 被称作 Introspection 功能的服务 API. 此服务提供负责创建被渲染到屏幕上的平台组件的 Adaptive UI Layer 功能。
当某一应用程序使用 Control Panel service framework 作为一个控制方设备时, 他会提供可以使任何应用程序都能控制一些功能集合的 功能。OEM 可以利用此功能影响开发者的生态系统,并搭建可以与产品交互的应用程序。
ControlPanel 接口的定义如下所示:
**NOTE:** The interfaces below are also available as secure interfaces
<interface name="org.alljoyn.ControlPanel.ControlPanel">
<property name="Version" type="q" access="read"/>
</interface>
<interface name="org.alljoyn.ControlPanel.Container">
<property name="Version" type="q" access="read"/>
<property name="States" type="u" access="read"/>
<property name="OptParams" type="a{qv}" access="read"/>
<signal name="MetadataChanged" />
</interface>
<interface name="org.alljoyn.ControlPanel.Property">
<property name="Version" type="q" access="read"/>
<property name="States" type="u" access="read"/>
<property name="OptParams" type="a{qv}" access="read"/>
<property name="Value" type="v" access="readwrite"/>
<signal name="MetadataChanged" />
<signal name="ValueChanged">
<arg type="v"/>
</signal>
</interface>
<interface name="org.alljoyn.ControlPanel.LabelProperty">
<property name="Version" type="q" access="read"/>
<property name="States" type="u" access="read"/>
<property name="Label" type="s" access="read"/>
<property name="OptParams" type="a{qv}" access="read"/>
<signal name="MetadataChanged" />
</interface>
<interface name="org.alljoyn.ControlPanel.Action">
<property name="Version" type="q" access="read"/>
<property name="States" type="u" access="read"/>
<property name="OptParams" type="a{qv}" access="read"/>
<signal name="MetadataChanged" />
<method name="Exec"/>
</interface>
<interface name="org.alljoyn.ControlPanel.NotificationAction">
<property name="Version" type="q" access="read"/>
<signal name="Dismiss" />
</interface>
<interface name="org.alljoyn.ControlPanel.Dialog">
<property name="Version" type="q" access="read"/>
<property name="States" type="u" access="read"/>
<property name="OptParams" type="a{qv}" access="read"/>
<property name="Message" type="s" access="read"/>
<property name="NumActions" type="q" access="read"/>
<signal name="MetadataChanged" />
<method name="Action1"/>
<method name="Action2"/>
<method name="Action3"/>
</interface>
<interface name="org.alljoyn.ControlPanel.ListProperty">
<property name="Version" type="q" access="read"/>
<property name="States" type="u" access="read"/>
<property name="OptParams" type="a{qv}" access="read"/>
<property name="Value" type="a(qs)" access="read"/>
<method name="Add"/>
<method name="Delete">
<arg name="recordID" type="q" direction="in"/>
</method>
<method name="View">
<arg name="recordID" type="q" direction="in"/>
</method>
<method name="Update">
<arg name="recordID" type="q" direction="in"/>
</method>
<method name="Confirm">
</method>
<method name="Cancel">
</method>
<signal name="MetadataChanged"/>
<signal name="ValueChanged"/>
</interface>
<interface name="org.alljoyn.Control.HTTPControl">
<property name="Version" type="q" access="read"/>
<method name="GetRootURL">
<arg name="url" type="s" direction="out"/>
</method>
</interface>
Controllable 样例支持在 Android, iOS, 和 Linux 上可用。
Controllable 样例已经在 Linux 和 Thin Linux 上可用。
这些样例可以在以下应用程序中运行。 - Android - Linux - iOS/OS X - Thin - Linux