buffet: Expose RegistrationStatus over DBus
This new property lets applications monitor Buffet's connection to
cloud services.
BUG=brillo:16
TEST=Unittests, buffet_Registration has been expanded appropriately.
CQ-DEPEND=CL:*199337
Change-Id: I30253e8199cb65068a74dd8b780a8ab0954bf9fa
Reviewed-on: https://chromium-review.googlesource.com/250011
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
diff --git a/buffet/dbus_bindings/org.chromium.Buffet.Manager.xml b/buffet/dbus_bindings/org.chromium.Buffet.Manager.xml
index daf1458..ea5e574 100644
--- a/buffet/dbus_bindings/org.chromium.Buffet.Manager.xml
+++ b/buffet/dbus_bindings/org.chromium.Buffet.Manager.xml
@@ -41,5 +41,26 @@
<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:
+
+ "offline": Buffet has credentials, but no connectivity to the Internet.
+ "cloud_error": Buffet has credentials, but cannot contact cloud services
+ to verify their validity. This could indicate that cloud
+ services are down, or that DNS is not resolving.
+ "invalid_credentials": Buffet has credentials, but they are no longer
+ valid.
+ "unregistered": Buffet has no credentials, either from an out of
+ box state, or because those credentials have been
+ rejected by the cloud service. Note that we
+ can unregistered with or without Internet connectivity.
+ "registering": Buffet has been provided with credentials, and is
+ registering with the cloud.
+ "registered": Buffet is online and registered with cloud services.
+ </tp:docstring>
+ </property>
</interface>
</node>