oafd compatibility for GNOME 1 and GNOME 2?



Hi guys,

Is it an important feature to be able to activate GNOME 1.x components
with oaf from GNOME 2.x?

I'm tryint to set up oaf2 to be able to parallel install with the
GNOME 1.x oaf, and I'm wondering whether it's correct to rename oafd,
and the location where .oaf files are found.

I can definitely think of cases where activating a GNOME 1 component
from a GNOME 2 app is broken, or vice versa - in particular, I think
GUI bonobo components will not interoperate due to change in embedding
protocols, and similarly, anything using Bonobo::PropertyBag would
break due to incompatible changes in the IDL interface. So you
definitely need the default setup to only give you components from the
same, compatible major version of GNOME.

On the other hand, I can think of cases where you might need to
specifically access a GNOME1 component from a GNOME2 program - for
instance, the GNOME 2.x gconfd may want to talk to the GNOME 1.x
gconfd so that GNOME 1 and GNOME 2 apps can share settings. It's not
possible for one app to link to both versions of liboaf since they
have symbols with the same names. On the other hand, it _is_ possible
to just dlopen liboaf.so.0.0 from a program that links against
liboaf-2.so.0.0 and use dlsym() to get the right symbols.

Is that good enough? Is there anything else I should do to make it
possible to activate GNOME 1 components from GNOME 2 programs? Does
anyone else have a creative solution to this?

I'm particularly interested in hearing input from Michael, as
maintainer of bonobo, and Havoc, since GConf is the mostlikely module
to run into this problem.

For now, I am making all of the changes to allow parallel install
_except_ for changing the location where .oaf files are expected to be
found (since that would require changing other modules and merits
discussion first).

Regards,

Maciej






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