sending pointlessly complex types over D-Bus with the Glib bindings

Robert McQueen robert.mcqueen at collabora.co.uk
Wed Oct 26 05:20:50 PDT 2005


A wise man once said:
 Finally, it is possible users will want to write or invoke D-BUS
 methods which have arbitrarily complex type signatures not
 directly supported by these bindings.  For this case, we have a
 <literal>DBusGValue</literal> which acts as a kind of special
 variant value which may be iterated over manually.  The
 <literal>GType</literal> associated is
 <literal>DBUS_TYPE_G_VALUE</literal>.

Unfortunately, he then went on to say:
 TODO insert usage of <literal>DBUS_TYPE_G_VALUE</literal> here.

A foolish man said "how do I emit a signal with the prototype
a{s(ua{sa{sv}})}?" and wondered if anyone could be kind enough to give
some kind of example. :)

Also, does anyone have a cunning idea about how one might
marshal/unmarshal the 'g' (D-Bus signature) type in a meaningful way in
the glib bindings? Is there some kind of GType or derivative that can
always represent the type of what you want to be able to send or
receive? Or is this getting overly meta? :)

Regards,
Rob


More information about the dbus mailing list