Re: GConf vs. bonobo-config



Havoc Pennington <hp redhat com> writes:

> Let me bring up another issue:
> 
>  * If the big advantage of bonobo-conf is avoiding C libraries, which
>    I agree is an advantage, what on earth are you thinking:
> 
> libbonobo_confincludedir = $(includedir)/bonobo-conf
> libbonobo_confinclude_HEADERS =                 \
>         Bonobo_Config.h                         \
>         bonobo-config-database.h                \
>         bonobo-property-frame.h                 \
>         bonobo-property-bag-proxy.h             \
>         bonobo-property-editor.h                \
>         bonobo-config-utils.h                   \
>         bonobo-config-control.h

And now I roll on the floor laughing, this is the best joke of this week.

Sorry, but this shows me that you haven't even looked very closely at bonobo-config,
otherwise I'm sure you'd noticed the difference between client and server side backends.

Joke because of:

====
[martin einstein gconf]$ find . -name \*.idl
./gconf/GConf.idl
[martin einstein gconf]$ less gconf/GConf.idl 

// Really, this whole interface should be used only via the GConf 
// client library. I reserve the right to change it whenever I feel 
// like it. So there.

====

Aha ! If I remember this correctly, aren't you this person who once flamed Miguel or Dietmar
for trying to access the gconfd directly rather than going through that holy C API. And now
you suddenly start flaming us for bonobo-config not having a C API (no, libbonobo_confinclude_HEADERS
is not bonobo-config's C API, it's something completely different and you'll only see this API if
your're writing a backend for bonobo-config).

On the other hand, I still see

====[gconf/gconf/Makefile.am]=====
gconfincludedir = $(includedir)/gconf/$(MAJOR_VERSION)/gconf
gconfinclude_HEADERS = \
        gconf.h                 \
        gconf-changeset.h       \
        gconf-listeners.h       \
        gconf-schema.h          \
        gconf-value.h           \
        gconf-error.h           \
        gconf-engine.h          \
        gconf-client.h
====

And your .idl files has a prominent notice at the top telling people not to use it.

Just in case you're looking for bonobo-config's client side API, here it is:

====
[martin einstein monikers]$ ls -l /gnome/head/cvs/libbonobo/idl/Bonobo_Property.idl 
-rw-r--r--    1 martin   martin       4321 Jun  7 01:22 /gnome/head/cvs/libbonobo/idl/Bonobo_Property.idl
====

And the following is just some sugar for the C language bindings (this makes the C language bindings a
little bit easier to use, but it's not what you wrap around in language bindings):

====
[martin einstein monikers]$ ls -l /gnome/head/cvs/libbonobo/bonobo/bonobo-property-bag-client.h
-rw-r--r--    1 martin   martin      10722 May 20 17:05 /gnome/head/cvs/libbonobo/bonobo/bonobo-property-bag-client.h
====

> libbonobo_conf_la_SOURCES =                     \
>         $(CORBA_SOURCE)                         \
>         gtkwtreeitem.h                          \
>         gtkwtreeitem.c                          \
>         gtkwtree.h                              \
>         gtkwtree.c                              \
>         bonobo-config-utils.h                   \
>         bonobo-config-utils.c                   \
>         bonobo-config-database.h                \
>         bonobo-config-database.c                \
>         bonobo-config-bag.h                     \
>         bonobo-config-bag.c                     \
>         bonobo-config-bag-property.h            \
>         bonobo-config-bag-property.c            \
>         bonobo-config-property.h                \
>         bonobo-config-property.c                \
>         bonobo-subproperty.h                    \
>         bonobo-subproperty.c                    \
>         bonobo-property-proxy.h                 \
>         bonobo-property-proxy.c                 \
>         bonobo-property-bag-proxy.h             \
>         bonobo-property-bag-proxy.c             \
>         bonobo-property-editor.h                \
>         bonobo-property-editor.c                \
>         bonobo-property-bag-editor.h            \
>         bonobo-property-bag-editor.c            \
>         bonobo-property-editor-basic.c          \
>         bonobo-property-editor-boolean.c        \
>         bonobo-property-editor-filename.c       \
>         bonobo-property-editor-color.c          \
>         bonobo-property-editor-option.c         \
>         bonobo-property-editor-default.c        \
>         bonobo-property-editor-enum.c           \
>         bonobo-property-frame.h                 \
>         bonobo-property-frame.c                 \
>         bonobo-preferences.h                    \
>         bonobo-preferences.c                    \
>         bonobo-config-control.h                 \
>         bonobo-config-control.c 

Huch, wake up. What's suddenly wrong with having 36 *source* files (including
some non-installed headers) .... ?

-- 
Martin Baulig
martin gnome org (private)
baulig suse de (work)




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