blob: 6cf9535016437f5c2185c1d69628a77ce0febd14 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8" ?>
<node name="/org/chromium/Buffet/Manager"
xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
<interface name="org.chromium.Buffet.Manager">
<tp:docstring>
The Manager is responsible for global state of Buffet. It exposes
interfaces which affect the entire device such as device registration and
device state.
</tp:docstring>
<method name="CheckDeviceRegistered">
<arg name="device_id" type="s" direction="out"/>
<annotation name="org.chromium.DBus.Method.Kind" value="async"/>
</method>
<method name="GetDeviceInfo">
<arg name="device_info" type="s" direction="out"/>
<annotation name="org.chromium.DBus.Method.Kind" value="async"/>
</method>
<method name="RegisterDevice">
<arg name="params" type="a{sv}" direction="in"/>
<arg name="device_id" type="s" direction="out"/>
<annotation name="org.chromium.DBus.Method.Kind" value="async"/>
</method>
<method name="UpdateDeviceInfo">
<arg name="name" type="s" direction="in"/>
<arg name="description" type="s" direction="in"/>
<arg name="location" type="s" direction="in"/>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="UpdateState">
<arg name="property_set" type="a{sv}" direction="in"/>
<annotation name="org.chromium.DBus.Method.Kind" value="async"/>
</method>
<method name="GetState">
<arg name="device_info" type="s" direction="out"/>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="AddCommand">
<arg name="json_command" type="s" direction="in"/>
<arg name="id" type="s" direction="out"/>
<annotation name="org.chromium.DBus.Method.Kind" value="async"/>
</method>
<method name="GetCommand">
<arg name="id" type="s" direction="in"/>
<arg name="json_command" type="s" direction="out"/>
<annotation name="org.chromium.DBus.Method.Kind" value="async"/>
</method>
<method name="SetCommandVisibility">
<tp:docstring>
Changes the visibility of command definition.
Parameters:
names - a list of the full names of commands to update
(each command name should look like 'base.identify').
visibility - the new visibility state of the command:
"none" - Command is hidden/unavailable.
"local" - Command is available to local clients only.
"cloud" - Command is available to cloud clients only.
"all" - Command is available to both local and cloud
clients.
</tp:docstring>
<arg name="names" type="as" direction="in"/>
<arg name="visibility" type="s" direction="in"/>
<annotation name="org.chromium.DBus.Method.Kind" value="async"/>
</method>
<method name="TestMethod">
<arg name="message" type="s" direction="in"/>
<arg name="echoed_message" type="s" direction="out"/>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<property name="Status" type="s" access="read">
<tp:docstring>
State of Buffet's cloud registration.
Possible values include:
"unconfigured": Buffet has no credentials, either from an out of box
state, or because device was unregistered.
"connecting": Buffet is registered and attempting to connect to the
cloud.
"connected": Buffet is online and connected to the cloud. Note that
only this state requires internet connectivity.
"invalid_credentials": Buffet has credentials, but they are no longer
valid.
</tp:docstring>
</property>
<property name="DeviceId" type="s" access="read">
<tp:docstring>
GCD ID if the device is registered or empty otherwise.
</tp:docstring>
</property>
<property name="CommandDefs" type="s" access="read">
<tp:docstring>
JSON with command definitions of the devices.
</tp:docstring>
</property>
<property name="OemName" type="s" access="read">
<tp:docstring>
Name of the device maker.
</tp:docstring>
</property>
<property name="ModelName" type="s" access="read">
<tp:docstring>
Name of the device model.
</tp:docstring>
</property>
<property name="ModelId" type="s" access="read">
<tp:docstring>
Five character code assigned by the cloud registry of device models.
</tp:docstring>
</property>
<property name="Name" type="s" access="read">
<tp:docstring>
Human readable name of the device. Must not be empty.
</tp:docstring>
</property>
<property name="Description" type="s" access="read">
<tp:docstring>
Human readable description of the device.
</tp:docstring>
</property>
<property name="Location" type="s" access="read">
<tp:docstring>
Location of the device.
</tp:docstring>
</property>
</interface>
</node>