summaryrefslogtreecommitdiff
path: root/gdbus/object.c
diff options
context:
space:
mode:
authorRISKÓ Gergely <gergely@risko.hu>2009-09-14 17:52:43 +0300
committerJohan Hedberg <johan.hedberg@nokia.com>2009-09-14 18:25:13 +0300
commit8f8cb865db74ae5afce9fc44aa05145dfb9d9423 (patch)
treeea4e8cfbb750a3b6ad2da6b5f92006dcac8a4a4e /gdbus/object.c
parent69f18ff2add2566953cbba6306cf1edc4833900a (diff)
downloadbluez-8f8cb865db74ae5afce9fc44aa05145dfb9d9423.tar.gz
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 318692184..811c2e168 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;