Re: GConf vs. bonobo-config



Hi everyone,

I think there are many obscurities about bonobo config, how it works and how
it is used in Gnome 2. I will try to explain that at full length.

0.) bonobo config is not a totally new configuration database model. Instead
it implements Havoc's great GConf database model - sorry if there was any
confusion about this.

1.) libbonobo is a very lightweight library, only containing non-GUI stuff.
This library contains the PropertyBag and EventSource implementation. Both
interfaces are widely used. One basic idea was to reuse those interfaces to
access configuration data. We simply need no additional interface, because
everything is already there.

2.) We need a way to get initial references to the PropertyBags containing the
configuration data. Again, everything is already in libbonobo - monikers. We
can simply use monikers for that purpose, so there is no need to invent
another plugin architecture. For example:

    pb = bonobo_get_object ("gconf:/a/sub/directory", "Bonobo/PropertyBag");


Well, that's all. It's nothing more than a clean set of already used
interfaces. The suggestion is to use those interfaces inside the Gnome 2 base
libraries to access configuration data. For example:

    paper = bonobo_pbclient_get_string (pb, "/xyz/paper", ev);

to get the paper size. Please notice that all those functions are already used
inside bonobo, so they are already widely used and heavily tested.

There is also no need to link against any additional library. So using
bonobo-config for Gnome 2 makes us independent of the used configuration
database, and it will not add a single line of code to those libraries (as
opposed to directly using GConf).

Another question is the used default configuration database, "gconf:" or
something else. But this belongs to another mail.

- Dietmar









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