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 14:54:07 +0100 |
commit | 581256014455eb4a0098f9dec3bf6d987f12539c (patch) | |
tree | 82aacbf7bfcb0db0e0d2ff31a6d664d5a530396d | |
parent | 9166a2cb1aae1db0726c234a0b286bc3b8c1684e (diff) | |
download | pacrunner-581256014455eb4a0098f9dec3bf6d987f12539c.tar.gz |
gdbus: Add properties into Introspectable interface
-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 7378523..662ebe3 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, |