diff options
Diffstat (limited to 'src/Common/ModuleManager.h')
-rw-r--r-- | src/Common/ModuleManager.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/Common/ModuleManager.h b/src/Common/ModuleManager.h index e327f28..fa7316f 100644 --- a/src/Common/ModuleManager.h +++ b/src/Common/ModuleManager.h @@ -36,9 +36,11 @@ class ModuleManager : public Configurable, public Initializable { private: static ModuleManager moduleManager; - std::map<std::string, lt_dlhandle> modules; + std::map<std::string, std::pair<lt_dlhandle, bool> > modules; std::stack<std::string> moduleOrder; + static int preopenCallback(lt_dlhandle handle); + void unloadModule(const std::string &name); protected: @@ -48,7 +50,7 @@ class ModuleManager : public Configurable, public Initializable { virtual bool handleConfigEntry(const ConfigEntry &entry, bool handled); public: - bool loadModule(const std::string &name); + lt_dlhandle loadModule(const std::string &name); static ModuleManager* get() { if(!moduleManager.isInitialized()) |