Re: GLib plans for the next cycle


On Wed, 2009-02-11 at 01:07 -0500, Matthias Clasen wrote:
> A while ago David put forward his work on EggDbus and wrote a very
> detailed mail [1] with arguments for why it would be very good to have
> DBus support on the Glib level, why dbus-glib is not good enough, and
> how his EggDbus bindings work. His approach seemed to be well-received,
> and I'd like to propose that we take a serious look at integrating
> EggDbus in GLib 2.22.

A few words on work planned for EggDBus relative to the announcement I
made back in December

 - Revisit marshaling (EggDBusMessage mainly) so it's easier to use
   directly from language bindings. At the same time verify that
   something like Ryan's GBus driver code can be swapped in.

 - Fix up struct handling; it's a bit messy right. Also want to support
   also support generating POD C structs (registered with the type
   system) for applications that wants to trade encapsulation / sealing
   for performance. Most of the ground work for this is already done.

 - An IDL language to avoid having to use D-Bus introspection XML to
   describe interfaces / structs / enums / flags / error domains. I just
   started on this. Ideally we can standardize such an IDL language on
   the D-Bus list but it shouldn't be a blocker for GLib inclusion.

 - Probably make it possible (via annotations in the IDL language) to
   describe what C containers to use (e.g. GPtrArray vs GList).

 - Ideally make it easy to add backends to the bindings generator so
   e.g. C++ or Java or whatever language can be generated. Some people
   would argue, and I am one of them, that this is even useful for
   dynamic languages. Of course YMMV.

 - Peer to peer connections. Ideally I want to use the GNIO stuff that
   is targeted for libgio (as far as I understand). Haven't looked into
   this at all.

 - Generate Docbook describing the D-Bus interfaces / structs / enums /
   flags / error domains defined in the introspection XML / IDL. This is
   basically done, see
   for an example of where I use it in PolicyKit.

None of these are big-ticket items and I consider all of them essential
for GLib inclusion.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]