Feature/plugin manager refactoring
Layer's concepts management
In order to simplify the way to add or remove concepts into a layer, some classes have been added to dtk other have been refactored:
- class dtkCoreLayerManager is responsible for storing all the plugin managers of all the concepts defined in a layer. Its API enables to initialize, set the verbose level, set the auto loading and uninitialize all the plugin managers that it contains.
- class dtkCorePluginManager now inherits from a pure abstract class dtkCorePluginManagerBase. It allows the dtkCoreLayerManager to store the address of the plugin managers into a hash table and handle them through a unique API (eg initialize or setVerboseLoading).
- class dtkCorePluginManagerBase which was in fact a handler for dtkCorePluginManager has been renamed dtkCorePluginManagerHandler.
- class dtkCorePluginManagerRecorder encapsulates in its constructor the registration of a plugin manager to a given layer manager.
For convenience, some macros have been modified and added.
All these modifications have been tested into dtk-imaging layer.
Cheers,
Thib.