Klaus Schmidinger wrote: > You can't just put some random data into some abstract interface > and expect something particular to happen ;-) Thats why some unique identification string is necessary, to make sure both plugins talk about the same struct for communication. > The clean method is for the "server" to provide a proper public member > function and for the "client" to include the plugin's header file. How? #include "../epgsearch/plugin.h"? First, the symlink name "epgsearch" is user-dependant, any may be set differently based on personal taste. Second, now the plugin depends on epgsearch and cannot run without it. Just keeping a local copy of plugin.h? This leads to dangerous versioning troubles, see other post. > Determining whether or not a plugin is present doesn't change through > that - you already do that now, don't you? Another point: With a dedicated interface, plugins can offer general interfaces like "timer-conflicts" or "search-repeats", so any plugin can use this feature and any plugin can provide this feature. Cheers, Udo