Looks scary? It's supposed to. D-Bus supports recursive complex types like structures, maps or variants, and until now, neither the Qt D-Bus viewer (part of Qt's demos) nor the qdbus command line client were able to dump the contents of complex arguments. So, one day of hacking later, and thanks to a small API addition from Mr. QtDBus Thiago, we can now show pretty much everything that comes through the bus. The above example shows the output of one of our D-Bus tests - you can find complex structures inside variants and complex structs inside maps, and everything is nicely dumped.
But don't worry - not many interfaces use deep nesting. Why we started to write the code in the first place is to display rectangles (4 integers in a D-Bus structure) from Qt's D-Bus accessibility, Decibel's properties (a D-Bus map structure) or some of the more complex calls of Telepathy.
The code will be available in Qt 4.5's snapshots, happy introspecting!
P.S.: Many, many thanks to the organizers of this year's Akademy. As always, it's a great pleasure to be here.