MIRA
|
A registry for shared libraries. More...
#include <factory/LibraryRegistry.h>
Public Types | |
typedef std::map< std::string, LibraryInfo > | Register |
typedef Base::Type | Type |
Static Public Member Functions | |
static void | registerManifest (const std::string &name, const LibraryVersion &version) |
Register library manifest. More... | |
static void | registerLibrary (const std::string &name, const LibraryVersion &version) |
Register library is loaded. More... | |
static Register | getRegister () |
Get access to library register. More... | |
static Type & | instance () |
Returns a reference to the singleton instance. More... | |
static bool | isDestroyed () |
Returns true, if the singleton was already destroyed. More... | |
Static Protected Member Functions | |
static Type * | makeInstance () |
static void | destroyInstance (void) |
A registry for shared libraries.
Each manifest is registered here, as well as each library that is loaded. Versions are checked to match between manifest and lib.
typedef std::map<std::string, LibraryInfo > Register |
|
inherited |
|
static |
Register library manifest.
This is called by the ManifestAgent.
XFactoryLogical | If library already has a manifest registered. |
XFactoryLogical | If library already loaded with different version. |
|
static |
Register library is loaded.
This is called by library constructors. This does not throw (throwing from library constructors seems to cause problems). Instead, mismatched versions or multiple loads are shown as error messages.
|
inlinestatic |
Get access to library register.
|
inlinestaticinherited |
Returns a reference to the singleton instance.
XSingleton | If the singleton was already destroyed (dead reference) or not yet created (when using ExplicitInstantiation). |
|
inlinestaticinherited |
Returns true, if the singleton was already destroyed.
Trying to access it will result in an exception.
|
inlinestaticprotectedinherited |
|
inlinestaticprotectedinherited |