blob: ad267856bf1515382d6ab49cb60d662b6b84850a [file] [log] [blame]
Alex Vakulenko12e2c1a2014-11-21 08:57:57 -08001<?xml version="1.0" encoding="UTF-8" ?>
2
Alex Vakulenko63bdf082015-08-21 09:27:12 -07003<node name="/com/android/Weave/Manager"
Alex Vakulenko12e2c1a2014-11-21 08:57:57 -08004 xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
Alex Vakulenko63bdf082015-08-21 09:27:12 -07005 <interface name="com.android.Weave.Manager">
Alex Vakulenko12e2c1a2014-11-21 08:57:57 -08006 <tp:docstring>
7 The Manager is responsible for global state of Buffet. It exposes
8 interfaces which affect the entire device such as device registration and
9 device state.
10 </tp:docstring>
Alex Vakulenko12e2c1a2014-11-21 08:57:57 -080011 <method name="RegisterDevice">
Vitaly Bukacbadabe2015-05-14 23:33:32 -070012 <arg name="ticket_id" type="s" direction="in"/>
Alex Vakulenko12e2c1a2014-11-21 08:57:57 -080013 <arg name="device_id" type="s" direction="out"/>
14 <annotation name="org.chromium.DBus.Method.Kind" value="async"/>
15 </method>
Alex Vakulenko3bd3ece2015-12-09 12:29:01 -080016 <method name="AddComponent">
17 <arg name="name" type="s" direction="in"/>
18 <arg name="traits" type="as" direction="in"/>
19 <annotation name="org.chromium.DBus.Method.Kind" value="async"/>
20 </method>
Alex Vakulenko12e2c1a2014-11-21 08:57:57 -080021 <method name="UpdateState">
Alex Vakulenko3bd3ece2015-12-09 12:29:01 -080022 <arg name="component" type="s" direction="in"/>
Alex Vakulenko12e2c1a2014-11-21 08:57:57 -080023 <arg name="property_set" type="a{sv}" direction="in"/>
24 <annotation name="org.chromium.DBus.Method.Kind" value="async"/>
25 </method>
Alex Vakulenkoceab1772015-01-20 10:50:04 -080026 <method name="GetState">
27 <arg name="device_info" type="s" direction="out"/>
28 <annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
29 </method>
Alex Vakulenko12e2c1a2014-11-21 08:57:57 -080030 <method name="AddCommand">
31 <arg name="json_command" type="s" direction="in"/>
Vitaly Buka59af7ac2015-03-24 12:42:24 -070032 <arg name="id" type="s" direction="out"/>
Alex Vakulenko12e2c1a2014-11-21 08:57:57 -080033 <annotation name="org.chromium.DBus.Method.Kind" value="async"/>
34 </method>
35 <method name="TestMethod">
36 <arg name="message" type="s" direction="in"/>
37 <arg name="echoed_message" type="s" direction="out"/>
38 <annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
39 </method>
Christopher Wiley2f772932015-02-15 15:42:04 -080040 <property name="Status" type="s" access="read">
41 <tp:docstring>
42 State of Buffet's cloud registration.
43 Possible values include:
Vitaly Buka4a421832015-03-12 13:41:43 -070044 "unconfigured": Buffet has no credentials, either from an out of box
45 state, or because device was unregistered.
Christopher Wiley2f772932015-02-15 15:42:04 -080046
Vitaly Buka4a421832015-03-12 13:41:43 -070047 "connecting": Buffet is registered and attempting to connect to the
48 cloud.
49
50 "connected": Buffet is online and connected to the cloud. Note that
51 only this state requires internet connectivity.
52
53 "invalid_credentials": Buffet has credentials, but they are no longer
54 valid.
Christopher Wiley2f772932015-02-15 15:42:04 -080055 </tp:docstring>
56 </property>
Vitaly Buka6ea3bff2015-03-16 01:07:01 -070057 <property name="DeviceId" type="s" access="read">
58 <tp:docstring>
59 GCD ID if the device is registered or empty otherwise.
60 </tp:docstring>
61 </property>
Vitaly Buka2b30e7a2015-05-27 09:27:08 -070062 <property name="State" type="s" access="read">
63 <tp:docstring>
64 JSON with state of the devices.
65 </tp:docstring>
66 </property>
Vitaly Buka760d6322015-04-17 00:41:31 -070067 <property name="OemName" type="s" access="read">
68 <tp:docstring>
69 Name of the device maker.
70 </tp:docstring>
71 </property>
72 <property name="ModelName" type="s" access="read">
73 <tp:docstring>
74 Name of the device model.
75 </tp:docstring>
76 </property>
77 <property name="ModelId" type="s" access="read">
78 <tp:docstring>
79 Five character code assigned by the cloud registry of device models.
80 </tp:docstring>
81 </property>
82 <property name="Name" type="s" access="read">
83 <tp:docstring>
84 Human readable name of the device. Must not be empty.
85 </tp:docstring>
86 </property>
87 <property name="Description" type="s" access="read">
88 <tp:docstring>
89 Human readable description of the device.
90 </tp:docstring>
91 </property>
92 <property name="Location" type="s" access="read">
93 <tp:docstring>
94 Location of the device.
95 </tp:docstring>
96 </property>
Vitaly Buka7b3ba792015-06-09 17:01:54 -070097 <property name="GCDBootstrapState" type="s" access="read">
98 <tp:docstring>
99 Contains one of the following values describing the state of GCD
100 bootstrapping:
101 “disabled” - GCD registration has been disabled in the config file.
102 “offline” - GCD registration is unknown because the device is offline.
103 “connecting” - GCD registration is unknown because the device is still
104 connecting to the cloud.
105 “waiting” - Waiting to be configured with GCD credentials.
106 “registering” - Registering the device with the GCD servers.
107 “online” - Device is online and registered with GCD servers.
108
109 Note: more values may be added later to this list.
110
111 Clients that wish to present a single linear bootstrapping flow to users
112 may treat GCD bootstrapping states as a suffix to WiFi bootstrapping
113 states. If we have no cloud connectivity, we cannot possibly do GCD
114 registration/credential verification.
115 </tp:docstring>
116 </property>
117 <property name="PairingInfo" type="a{sv}" access="read">
118 <tp:docstring>
119 Describes the state of device pairing. While no pairing attempt is in
120 progress, this dictionary will be empty. When a client initiates a
121 pairing transaction via /privet/v3/pairing/start, dictionary will
122 contain the following keys:
123 “sessionId” - ID of the pairing session; generated by device
124 “pairingMode” - Selected type of pairing from /privet/v3/pairing/start
125 (e.g. “pinCode” or “embeddedCode”)
126 “code” - The pin code or embedded code as appropriate to the
127 “pairingMode” value. See design document.
128 This value will be a string.
129 </tp:docstring>
130 </property>
Alex Vakulenko12e2c1a2014-11-21 08:57:57 -0800131 </interface>
132</node>