<?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="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="user_role" 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>
    <method name="EnableWiFiBootstrapping">
      <tp:docstring>
        Enables WiFiBootstrapping if manual bootstrapping is selected via the
        configuration file.  This will re-purpose a WiFi interface for use in
        bootstrapping.  This breaks any existing WiFi connection on the
        interface.
      </tp:docstring>
      <arg name="listener_path" type="o" direction="in">
        <tp:docstring>
          Path to an object exposed by the caller.  This object must support
          the org.chromium.Buffet.WiFiBootstrapListener interface.
        </tp:docstring>
      </arg>
      <arg name="options" type="a{sv}" direction="in"/>
      <annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
    </method>
    <method name="DisableWiFiBootstrapping">
      <tp:docstring>
        If a previous call to EnableWiFiBootstrapping was successful and
        has not been cancelled or completed since, disables that bootstrapping
        process.
      </tp:docstring>
      <annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
    </method>
    <method name="EnableGCDBootstrapping">
      <arg name="listener_path" type="o" direction="in"/>
      <arg name="options" type="a{sv}" direction="in"/>
      <annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
    </method>
    <method name="DisableGCDBootstrapping">
      <annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
    </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="AnonymousAccessRole" type="s" access="read">
      <tp:docstring>
        Max role granted to anonymous user when accessing device over the local
        network.
        Possible values include:
          "none": Device does not allow local access by unauthenticated users.

          "viewer": Device allows everyone authenticated to access device.

          "user": Device allows everyone authenticated as 'user' to access
                  device.

          "owner": Device allows everyone authenticated as 'owner' to access
                  device.
      </tp:docstring>
    </property>
    <property name="WiFiBootstrapState" type="s" access="read">
      <tp:docstring>
        Contains one of the following values describing the state of WiFi
        bootstrapping:
          “disabled” - Bootstrapping has been disabled in the config file.
          “waiting” - buffet is waiting to receive WiFi credentials from
                      a paired peer.
          “connecting” - buffet has received WiFi credentials, and is now
                         attempting to connect to a WiFi network.
          “monitoring” - buffet is monitoring our connectivity and will
                         re-enable bootstrapping if connectivity fails in
                         automatic mode.

       Note: more values may be added later to this list.
      </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>
