diff options
author | Lucas De Marchi <lucas.demarchi@profusion.mobi> | 2012-10-04 04:26:31 -0300 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2012-11-26 12:54:05 +0100 |
commit | 8c634044edaab62448858a8dd1a200a96f3feb6c (patch) | |
tree | 13bafa61041d43a7d28ccb1d3405fba58402838b /gdbus/object.c | |
parent | d87dcb6c5bce4fd786fa2ad7a32df3bfd2052300 (diff) | |
download | ofono-8c634044edaab62448858a8dd1a200a96f3feb6c.tar.bz2 |
gdbus: Add properties into Introspectable interface
Diffstat (limited to 'gdbus/object.c')
-rw-r--r-- | gdbus/object.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gdbus/object.c b/gdbus/object.c index 7378523a..662ebe3b 100644 --- a/gdbus/object.c +++ b/gdbus/object.c @@ -95,6 +95,7 @@ static void generate_interface_xml(GString *gstr, struct interface_data *iface) { const GDBusMethodTable *method; const GDBusSignalTable *signal; + const GDBusPropertyTable *property; for (method = iface->methods; method && method->name; method++) { gboolean deprecated = method->flags & @@ -147,6 +148,24 @@ static void generate_interface_xml(GString *gstr, struct interface_data *iface) g_string_append_printf(gstr, "\t\t</signal>\n"); } } + + for (property = iface->properties; property && property->name; + property++) { + gboolean deprecated = property->flags & + G_DBUS_PROPERTY_FLAG_DEPRECATED; + + g_string_append_printf(gstr, "\t\t<property name=\"%s\"" + " type=\"%s\" access=\"%s%s\"", + property->name, property->type, + property->get ? "read" : "", + property->set ? "write" : ""); + + if (!deprecated) + g_string_append_printf(gstr, "/>\n"); + else + g_string_append_printf(gstr, + G_DBUS_ANNOTATE_DEPRECATED(">\n\t\t\t")); + } } static void generate_introspection_xml(DBusConnection *conn, |