I've just added a qpid::broker::Plugin class. It uses the static initializer trick: when you dlopen a shlib, static initializers are automatically run so static Plugin objects register themselves in a global list.
This is simpler & more flexible than the Module approach: you don't need to define entry point or cleanup functions (static ctors/dtors do it automatically) so there's no issue of symbols clashing. It would be easy to convert BDBstore to this approach, but I've left the Module stuff alone for now till there's time to port it. Cheers, Alan.
