gdbus: Add properties into Introspectable interface

This commit is contained in:
Lucas De Marchi 2012-10-04 04:26:31 -03:00 committed by Marcel Holtmann
parent d87dcb6c5b
commit 8c634044ed
1 changed files with 19 additions and 0 deletions

View File

@ -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,