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