Hi,

so I get to ask a question too

I need help with the following problem:
I am working on a logger application which needs to be able to parse various stream formats (from serial port) .
(The logger class is implemented as a QThread.)
The run() method implementation should not be changed by subclasses, and it calls some virtuals - this way various parsing schemes can be used, while conserving a uniform work flow and common tasks.
I now would like to have my application use Qt plugins, so that other parsing implementations will be loaded if available, as plugins.
And here is where I have the problem:
I could supply the default implementation by making a static "default" plugin, which is always "present".
But what do I do with the non default plugins, which will be dynamic? :
I don't want the other plugins to link to the default one, since that will defeat the objective of being able to separately build them, yet I want my non default plugins to inherit the default implementation.
Even if I would link to the default plugin from my non default ones, the application will have multiple definitions errors at link time.

Am I over complicating things?

Any suggestions, pointers, or "why don't just do xxxx" which I might oversaw is greatly appreciated.