<?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>
