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>