summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@nokia.com>2007-05-04 15:51:27 +0000
committerJohan Hedberg <johan.hedberg@nokia.com>2007-05-04 15:51:27 +0000
commit46564396bfb21f61f839aa7f8fe9cb954c10af14 (patch)
tree7073bb086674a4180ab43945b0cb5f31cda98e27 /common
parent994212593598a7c176342e616bc99aae45991244 (diff)
Improve formating of introspection data reporting
Diffstat (limited to 'common')
-rw-r--r--common/dbus-helper.c38
1 files changed, 25 insertions, 13 deletions
diff --git a/common/dbus-helper.c b/common/dbus-helper.c
index dd14f3c9..7dbb2dc0 100644
--- a/common/dbus-helper.c
+++ b/common/dbus-helper.c
@@ -226,25 +226,37 @@ static void update_introspection_data(struct generic_data *data, const char *pat
g_string_append_printf(gstr, "\t<interface name=\"%s\">\n", iface->name);
for (method = iface->methods; method && method->name; method++) {
- debug("Adding introspection data for method %s.%s",
- iface->name, method->name);
- g_string_append_printf(gstr, "\t\t<method name=\"%s\">\n", method->name);
- print_arguments(gstr, method->signature, "in");
- print_arguments(gstr, method->reply, "out");
- g_string_append_printf(gstr, "\t\t</method>\n");
+ debug("%s: adding method %s.%s",
+ path, iface->name, method->name);
+ if (!strlen(method->signature) && !strlen(method->reply))
+ g_string_append_printf(gstr, "\t\t<method name=\"%s\"/>\n",
+ method->name);
+ else {
+ g_string_append_printf(gstr, "\t\t<method name=\"%s\">\n",
+ method->name);
+ print_arguments(gstr, method->signature, "in");
+ print_arguments(gstr, method->reply, "out");
+ g_string_append_printf(gstr, "\t\t</method>\n");
+ }
}
for (signal = iface->signals; signal && signal->name; signal++) {
- debug("Adding introspection data for signal %s.%s",
- iface->name, signal->name);
- g_string_append_printf(gstr, "\t\t<signal name=\"%s\">\n", signal->name);
- print_arguments(gstr, signal->signature, NULL);
- g_string_append_printf(gstr, "\t\t</signal>\n");
+ debug("%s: adding signal %s.%s",
+ path, iface->name, signal->name);
+ if (!strlen(signal->signature))
+ g_string_append_printf(gstr, "\t\t<signal name=\"%s\"/>\n",
+ signal->name);
+ else {
+ g_string_append_printf(gstr, "\t\t<signal name=\"%s\">\n",
+ signal->name);
+ print_arguments(gstr, signal->signature, NULL);
+ g_string_append_printf(gstr, "\t\t</signal>\n");
+ }
}
for (property = iface->properties; property && property->name; property++) {
- debug("Adding introspection data for property %s.%s",
- iface->name, property->name);
+ debug("%s: adding property %s.%s",
+ path, iface->name, property->name);
}
g_string_append_printf(gstr, "\t</interface>\n");