imbACE.Core.plugins Namespace |
Namespace covers the external plug-in system from both sides of implementation.
| Class | Description | |
|---|---|---|
| internalPluginManagerT |
Base class for various plugin managers
| |
| pluginManager |
Loads plugin dlls from the associated directory and creates plugin instances on request
| |
| pluginManagerBase |
Shared infrastructure for external and internal plugin manager types
| |
| universalInternalParentedPluginManagerT |
Universal types / plugins manager for general classes, having constructor without arguments
| |
| universalInternalPluginManagerT |
Universal types / plugins manager for general classes, having constructor without arguments
|
This is initial version, still to be improved
Main parts of the external plug-in systemRelevant for the use of the API and development of your own plugins for a imbACE applicationManager: pluginManagerIt search specified directory for dlls, loads proper (IAcePluginBase) types found there and creates plugin instance when asked to.
One instance per plugin directory (having multiple subdirs and kinds of plugins) - the IAceApplicationBase already has one and use it, so in the most scenarios only plugin instance creation is used from this class
Deployer: acePluginDeployerTHolds collection of plugin instances (of certain type, {T}) for later assignment and/or applicationPlugin base: acePluginBase and IAcePluginBaseAre base resources that you use to create your own plugins, for certain application-specific acePluginDeployerT