summaryrefslogtreecommitdiffstats
path: root/gdbus/object.c
diff options
context:
space:
mode:
authorRISKÓ Gergely <gergely@risko.hu>2009-09-14 17:52:43 +0300
committerMarcel Holtmann <marcel@holtmann.org>2009-09-14 14:08:07 -0700
commite72d34948330231f8e7b3e622c52e22a922f4dfd (patch)
treea364ee681259cd2140ae567ded8ff74abb3e90db /gdbus/object.c
parentb2bdb41bc050ba936df5927cc2ce7edb4e870f1f (diff)
downloadofono-e72d34948330231f8e7b3e622c52e22a922f4dfd.tar.bz2
Add introspection interface to the output of introspection calls
This provides better compatibility with some D-Bus clients, such as qdbus.
Diffstat (limited to 'gdbus/object.c')
-rw-r--r--gdbus/object.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gdbus/object.c b/gdbus/object.c
index 31869218..811c2e16 100644
--- a/gdbus/object.c
+++ b/gdbus/object.c
@@ -155,7 +155,13 @@ static void generate_introspection_xml(DBusConnection *conn,
gstr = g_string_new(DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE);
- g_string_append_printf(gstr, "<node name=\"%s\">\n", path);
+ g_string_append_printf(gstr,
+ "<node name=\"%s\">\n"
+ "\t<interface name=\"org.freedesktop.DBus.Introspectable\">\n"
+ "\t\t<method name=\"Introspect\">\n"
+ "\t\t\t<arg name=\"xml_data\" type=\"s\" direction=\"out\"/>\n"
+ "\t\t</method>\n"
+ "\t</interface>\n", path);
for (list = data->interfaces; list; list = list->next) {
struct interface_data *iface = list->data;