Hi,
I wanted to play around with the extension architecture that
Alex
proposed and found that we can probably do all we need with
it (see my
two examples in the KDevelop4 architecture rework thread).
So I went ahead and tried to extend PluginController to
allow the
loading of plugins for a given extension and let a plugin
provide
information about the extensions it has. Also dependecy
checking is
done.
The attached patch is for the sublime-integration branch and
I also
attach a sample desktop file to desribe how the information
can be made
available. The important thing here is that all plugins will
have the
same service type, the difference will lie in the
X-KDevelop-Interfaces
key, which contains all interfaces the plugin implements.
I'll be available during the whole day tomorrow on IRC,
though I'd
prefer to do discussions in the evening (or here).
What needs to be done still is to provide a macro that
a) creates the factory needed for the extension stuff to
work
b) implements the register/unregisterManager functions,
given a list of
interfaces (if thats possible with macros)
Andreas
--
Never be led astray onto the path of virtue.
|