[vdr] Feature request: suggestion for cPlugin
Klaus.Schmidinger at cadsoft.de
Fri Aug 19 14:43:50 CEST 2005
Udo Richter wrote:
> Ok, here's a first implementation of what I had in mind. The attached
> patch implements the interface for VDR 1.3.20 and newer. PLUGINS.html
> and newplugin still need to be updated. ;)
> The attached vdr-extintf-0.1.0.tgz implements two sample plugins that do
> some communication: Direct communication to a specific plugin, detecting
> presence of plugins that offer a service, use a service provided by some
> plugin and broadcast a message to all interested plugins.
> Install as usual. Load the two plugins with vdr -P extcli -P extsvr.
> @Plugin developers:
> Suggestions, reviews and comments are welcome!
> + virtual bool ExtensionInterface(const char *ExtensionId, void *Data = NULL);
> + static cPlugin *CallFirstExtension(const char *ExtensionId, void *Data = NULL);
> + static cPlugin *CallPluginExtension(const char *PluginName, const char *ExtensionId, void *Data = NULL);
> + static bool CallAllExtensions(const char *ExtensionId, void *Data = NULL);
I'm not really fond of this "extension" thing.
IMHO this is more of an "inter plugin communication" thing than an "extension".
Or, maybe "service" is the right name. After all, that's what it is: a plugin
can offer a service that other plugins can make use of.
So I suggest s/Extension/Service/g, and plain "Service" instead of "ExtensionInterface".
You also might want to give some guidelines as to how to create
those "ServiceIDs" - otherwise most likely every plugin will come
up with a totally different scheme.
More information about the vdr