Re: GConf and bonobo-conf



Havoc Pennington wrote:

> Issue #2
> ===
>
> The second issue is structured data storage in GConf. That is, right
> now GConf only allows fairly primitive types to live at a key; ints,
> floats, lists, pairs. You might want something more like a C struct,
> or more like an XML document.
>
> This feature was deliberately omitted from GConf 1.0 because it
> complicates the implementation substantially, the right API is not
> clear, and there was not time to do it while still delivering a
> stable, high-quality library. It's something I would like to see a
> solution to. I don't know the right solution; it's a hard problem.
> Miguel's suggestion is CORBA_any, which may be right, but it's by no
> means obvious to me that it is, and in any case it was proposed
> post-API-freeze.

I think the use of CORBA_any will simplify GConf a lot (you can still
provide wrapper functions for simple types - even binary compatible
ones). It will reduce the size of GConf.idl very much, since we don't
need that strange union anymore ;-)

> There are reasonably good workarounds to the problem with GConf 1.0,
> including:
>
>  - store an XML document as a string at some key
>  - store a serialized CORBA_any as a string; bonobo-conf
>    could do this transparently

I already do this - but I can see no reason why this can't be done
by GConf in the future.

> Some issues to consider when proposing a solution:
>
>  - I question whether CORBA_any is the right answer in part because it
>    would be the only use of CORBA in the GConf API, and some apps may
>    not be using CORBA. I think an XML-based solution might be more
>    least-common-denominator.

GConf depends on CORBA, so you always have to link against it. And I
don't
see what's so bad with CORBA_any?

>  - I'd like to keep implementation of apps and of the GConf
>    admin/editor tool reasonably simple, so it gets done.
>  - I'd like to keep the implementation of GConf itself reasonably
>    simple, for speed/stability/robustness reasons.

OK, then you have to use CORBA_any instead of ConfigValue.

- Dietmar





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