buffet: Moved D-Bus definitions to XML/Code generator
Moved D-Bus interface definitions for buffet to XML files and using
the code generator to produce adaptors/proxies. Switched over the
implementations of objects to using the generated adaptors and using
the generated proxies in buffet_client.
Some more work on proxy generator is required to switch over the
usage of Command/CommandListener in libbuffet to using the generated
proxies, since the generator does not support D-Bus properties or
Object Manager yet.
BUG=chromium:435591
TEST=FEATURES=test emerge-link buffet
Change-Id: If010ee70b356d146e4a35a7301a753c9c54377f5
Reviewed-on: https://chromium-review.googlesource.com/231350
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
diff --git a/buffet/dbus_bindings/org.chromium.Buffet.Manager.xml b/buffet/dbus_bindings/org.chromium.Buffet.Manager.xml
new file mode 100644
index 0000000..4490dac
--- /dev/null
+++ b/buffet/dbus_bindings/org.chromium.Buffet.Manager.xml
@@ -0,0 +1,41 @@
+<?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="StartDevice">
+ <annotation name="org.chromium.DBus.Method.Kind" value="async"/>
+ </method>
+ <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="AddCommand">
+ <arg name="json_command" type="s" direction="in"/>
+ <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>
+ </interface>
+</node>