[compiz] dbus introspection

David Reveman davidr at novell.com
Mon Feb 26 07:38:43 PST 2007

On Mon, 2007-02-26 at 14:36 -0600, Travis Watkins wrote:
> I've started work on a rewrite of sorts for the dbus plugin that
> changes how it listens/responds to messages to make it possible to
> generate introspection data. The main changes are registering every
> plugin, screen, option, etc with dbus_connection_register_object_path
> and using libxml2 to generate the introspection data. This more or
> less works I just need to hook up the rest of the methods and signals
> that the old plugin had and register/unregister plugins on
> load/unload.

Awesome, I've been hoping that someone would interested in doing this.

> However, I have run into some problems while doing this due to the
> design of the current dbus interface. Methods like get, set, and
> getMetadata take/return different types depending on the situation and
> getMetadata has a variable number of return values. Right now I'm
> fudging this by lying and having the generated XML say all the
> different types are strings and by adding in worthless precision of 1
> to int metadata to make sure it's the same length as floats.
> The real solution is to change the API to make it
> introspection-friendly. Rather than make these changes and submit them
> I thought it was be a good idea to ask what people thought a good
> solution would be. The API would ideally have every method take/return
> the same number and type of arguments no matter what.

I'm all for changing the API. If you like to get your current changes in
right now we should do that, though.

- David

More information about the compiz mailing list