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) _______________________________________________ compiz mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/compiz
