[vdr] Feature request: suggestion for cPlugin

Udo Richter udo_richter at gmx.de
Fri Aug 19 02:30:32 CEST 2005


Martin Wache wrote:
> In my opinion the method CallPluginExtension() is not needed, the same
> can easily done by just calling
> cPluginManager::GetPlugin("name")->ExtensionInterface().

The only (very minor) difference is that your call uses the first plugin
of that name, while CallPluginExtension() queries all plugins of that
name until one answers.

> I think it would be nice to be able to know which
> plugin actually answered the request, so that following request can be
> sent directly to that plugin.

CallPluginExtension() and CallFirstExtension() actually return a pointer
to the plugin that answered the request, or NULL if none answered.

If you're worried about speed, you could pass through a pointer to a
callback function, so further communication uses the callback and not
the interface.

Christian Wieninger wrote:
> I think so too. Perhaps CallAllExtensions could also return a pointer to the 
> plugin like CallFirstExtension does. 

The point of CallAllExtensions() is that the call goes to all
extensions, not just one. It would need a whole list of plugins to solve
this.

> Thanks again. The next release of epgsearch will support this patch, and I 
> hope I can soon drop the currently needed #ifdef PATCH_EXTENSIONINTERFACE ;-)

I've used #if VDRVERSNUM >= 10330 || defined(PATCH_EXTENSIONINTERFACE)
in the sources by purpose, so the code will be used for VDR 1.3.30 and
any previous version that is patched. Why drop backwards compatibility?

Cheers,

Udo



More information about the vdr mailing list