Add org.freedesktop.DBus.ObjectManager interface
TEST=unit tests pass
BUG=chromium-os:26650
Change-Id: Ib56b75e769a828838e85b2addb26269153358934
Reviewed-on: https://gerrit.chromium.org/gerrit/16837
Reviewed-by: Jason Glasgow <jglasgow@chromium.org>
Commit-Ready: David Rochberg <rochberg@chromium.org>
Tested-by: David Rochberg <rochberg@chromium.org>
diff --git a/Makefile b/Makefile
index a2cfdf6..357776a 100644
--- a/Makefile
+++ b/Makefile
@@ -38,6 +38,7 @@
DBUS_PROXY_HEADERS = \
dbus-properties.h \
+ dbus-objectmanager.h \
dhcpcd.h \
power_manager.h \
supplicant-bss.h \
diff --git a/dbus_bindings/dbus-objectmanager.xml b/dbus_bindings/dbus-objectmanager.xml
new file mode 100644
index 0000000..e7e6f22
--- /dev/null
+++ b/dbus_bindings/dbus-objectmanager.xml
@@ -0,0 +1,17 @@
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
+ <interface name="org.freedesktop.DBus.ObjectManager">
+ <method name="GetManagedObjects">
+ <arg type="a{oa{sa{sv}}}" name="object_paths_interfaces_and_properties" direction="out"/>
+ </method>
+ <signal name="InterfacesAdded">
+ <arg type="o" name="object_path"/>
+ <arg type="a{sa{sv}}" name="interfaces_and_properties"/>
+ </signal>
+ <signal name="InterfacesRemoved">
+ <arg type="o" name="object_path"/>
+ <arg type="as" name="interfaces"/>
+ </signal>
+ </interface>
+</node>