diff options
author | Johan Hedberg <johan.hedberg@nokia.com> | 2007-05-04 15:51:27 +0000 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@nokia.com> | 2007-05-04 15:51:27 +0000 |
commit | 46564396bfb21f61f839aa7f8fe9cb954c10af14 (patch) | |
tree | 7073bb086674a4180ab43945b0cb5f31cda98e27 /common | |
parent | 994212593598a7c176342e616bc99aae45991244 (diff) |
Improve formating of introspection data reporting
Diffstat (limited to 'common')
-rw-r--r-- | common/dbus-helper.c | 38 |
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"); |