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