blob: 575bfdecc10fc7e34516b076d2a72be89c46bf1c [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="RegisterDevice">
<arg name="ticket_id" type="s" 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="UpdateServiceConfig">
<arg name="client_id" type="s" direction="in"/>
<arg name="client_secret" type="s" direction="in"/>
<arg name="api_key" type="s" direction="in"/>
<arg name="oauth_url" type="s" direction="in"/>
<arg name="service_url" 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="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>
<method name="SetXmppChannel">
<arg name="channel" type="s" direction="in"/>
<annotation name="org.chromium.DBus.Method.Kind" value="async"/>
</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="State" type="s" access="read">
<tp:docstring>
JSON with state 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>
<property name="GCDBootstrapState" type="s" access="read">
<tp:docstring>
Contains one of the following values describing the state of GCD
bootstrapping:
“disabled” - GCD registration has been disabled in the config file.
“offline” - GCD registration is unknown because the device is offline.
“connecting” - GCD registration is unknown because the device is still
connecting to the cloud.
“waiting” - Waiting to be configured with GCD credentials.
“registering” - Registering the device with the GCD servers.
“online” - Device is online and registered with GCD servers.
Note: more values may be added later to this list.
Clients that wish to present a single linear bootstrapping flow to users
may treat GCD bootstrapping states as a suffix to WiFi bootstrapping
states. If we have no cloud connectivity, we cannot possibly do GCD
registration/credential verification.
</tp:docstring>
</property>
<property name="PairingInfo" type="a{sv}" access="read">
<tp:docstring>
Describes the state of device pairing. While no pairing attempt is in
progress, this dictionary will be empty. When a client initiates a
pairing transaction via /privet/v3/pairing/start, dictionary will
contain the following keys:
“sessionId” - ID of the pairing session; generated by device
“pairingMode” - Selected type of pairing from /privet/v3/pairing/start
(e.g. “pinCode” or “embeddedCode”)
“code” - The pin code or embedded code as appropriate to the
“pairingMode” value. See design document.
This value will be a string.
</tp:docstring>
</property>
</interface>
</node>