KDevPlugin::extension

Matt Rogers mattr at kde.org
Wed Aug 23 12:25:51 UTC 2006


On Wednesday 23 August 2006 03:39, Andras Mantia wrote:
> Hi,
>
>  While looking at the KDevPlugin sources I found this comment:
> //FIXME Is this used for anything?
> for the KDevPlugin::extension method.
>
> We are using this method in Quanta heavily and would like to have it in
> future as well (or some kind of replacement). The reason is that we
> would like to have plugins that do not depend on each other during
> compilation time, but they still can communicate. The "extension"
> method was suggested here and helps a lot.
>
> A quick example: plugin X wants to have access to some methods of plugin
> Y. We define a common interface (class derived from KDevPlugin, call it
> YInterface), and plugin Y derives from this interface. Plugin X can
> load plugin Y inside of it using
> YInterface *objectY = extension<YInterface>("KDevelop/Y");
>
> and use via objectY (and the YInterface) the methods of plugin Y.
>
> In the y.desktop for ServiceTypes you need to list KDevelop/Y as well.
>
> AFAIK it is also used in some places of the old KDevelop.
>
> Andras

The extension idea is not going away. however, there are or were a ton of 
places where there were convenience extension methods and that's what this 
could be a remnant of. 

I would say don't take FIXMEs and stuff too seriously at the moment . Before 
we remove anything major wrt the API, I'm sure there will be a discussion 
before hand.
-- 
Matt




More information about the KDevelop-devel mailing list