<?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="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="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>
  </interface>
</node>
