Extended introspection
Thorvald Natvig
thorvald at natvig.com
Tue Jun 17 05:07:59 PDT 2008
Hi,
Some of the DBus bindings (Java, C#, possibly more) require you to
manually type up an interface definition in that language matching the
interface to be used. I've been toying with the idea of writing a
xml-to-stub generator like that which is used for ICE, Thrift, CORBA
etc, but I run into a problem with structs. Take this snippet:
<arg name="players" type="a(isss)" direction="out"/>
We know the parameter is called "players", and it returns an array. But
what type is the array element? 'struct playersStruct { int i1; char
*string1}' etc doesn't really work, and forcing the user to define the
interface on his own means the struct members have different names in
the different languages. While adding enums, typedefs etc would be nice,
it's complete overkill and ruins the simple nature of the introspection
XML. But without the struct definitions, it's impossible to define the
interfaces in quite a few of the supported languages. Are there any
plans to address this?
Another thing missing from the introspection data is a a standardized
way of adding tiny documentation bits. Annotations would seem perfect
for this, but is there a standardized annotation name to use?
Best regards,
Thorvald
More information about the dbus
mailing list