Klaus Schmidinger wrote:
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!
Cheers,
Udo
...
- 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".
Arghh - come to think of it, "service ID" is already used in a different context.
Well, maybe somebody finds a better name. I'm still not happy with "extension".
Klaus