[compiz] solving plugin dependency issues
Alexandre Mazari
scaroo at gmail.com
Sun Oct 8 16:05:13 PDT 2006
Hi List !
David said :
> I'm suggesting that we add some way to register and depend on features.
> E.g. the cube and plane plugins would both register a "largedesktop"
> feature. zoom plugin could depend on the "largedesktop" feature instead
> of the cube plugin and it wouldn't be possible to load two plugins that
> provide the same feature.
David, what you describe looks a lot like the Eclipse RCP bundle model
based on OSGi specifications. A very very flexible system :
First, everything is a plugin and is described
- by an id
- a description ans some usual informations
- a list of required previoulsy loaded plugins
And now the meal :)
- a list of extension points defining how other plugins can contribute
to it being by code, ressources, strings etc... (ex : ext point
org.freedesktop.compiz.largedesktop must be a desktop handling plugin
and is unique)
- a list of contributions (called Extensions) to other plugins
( ex : contribute to org.freedesktop.compiz.largedesktop with a class
named Cube implementing an accordingly interface ILargeDesktop)
Sadly, most if not all OSGi plugins systems are build around Java, but
I think it can be a great inspiration for any plugin system like the
compiz' one.
(OT : A C or C++ implementation would be a nice fullfeatured
freedesktop.org project !)
Happy coding !
--
Alexandre Mazari
Eleve Ingénieur 5eme Année Epitech
Responsable Technique poly/son (poly-son.pfe.epitech.net)
More information about the compiz
mailing list