32 const std::string
XML_TYPE(
"Plugin");
62 mIsInitialise =
false;
73 MYGUI_LOG(Error,
"Plugin '" << _file <<
"' not found");
81 MYGUI_LOG(Error,
"Cannot find symbol 'dllStartPlugin' in library " << _file);
98 DynLibList::iterator it = mLibs.find(_file);
99 if (it != mLibs.end())
125 else if (node->
getName() ==
"Plugin")
130 while (source_node.next(
"Source"))
133 #if MYGUI_DEBUG_MODE == 1
134 if (build ==
"Debug")
135 source = source_node->getContent();
137 if (build !=
"Debug")
138 source = source_node->getContent();
153 mPlugins.insert(_plugin);
158 MYGUI_LOG(Info,
"Plugin successfully installed");
166 PluginList::iterator it = mPlugins.find(_plugin);
167 if (it != mPlugins.end())
173 MYGUI_LOG(Info,
"Plugin successfully uninstalled");
178 while (!mLibs.empty())
void unregisterLoadXmlDelegate(const std::string &_key)
void unload(DynLib *library)
Unload library.
virtual void shutdown()=0
void uninstallPlugin(IPlugin *_plugin)
LoadXmlDelegate & registerLoadXmlDelegate(const std::string &_key)
delegates::IDelegate0 * newDelegate(void(*_func)())
static ResourceManager & getInstance()
void(* DLL_STOP_PLUGIN)(void)
Resource holding data about a dynamic library.
virtual const std::string & getName() const =0
bool findAttribute(const std::string &_name, std::string &_value)
static const char * getClassTypeName()
const std::string XML_TYPE("Font")
void unloadPlugin(const std::string &_file)
Unload plugin.
Plugin manager. Load/unload and register plugins.
#define MYGUI_LOG(level, text)
void unloadAllPlugins()
Unload all plugins.
virtual void initialize()=0
#define MYGUI_ASSERT(exp, dest)
DynLib * load(const std::string &fileName)
Load library.
ElementEnumerator getElementEnumerator()
void(* DLL_START_PLUGIN)(void)
const std::string & getName() const
bool loadPlugin(const std::string &_file)
Load plugin.
void installPlugin(IPlugin *_plugin)
virtual void uninstall()=0
void * getSymbol(const std::string &strName) const