20 mXmlPluginTagName(
"Plugin"),
21 mSingletonHolder(
this)
46 mIsInitialise =
false;
68 MYGUI_LOG(Error,
"Cannot find symbol 'dllStartPlugin' in library " <<
_file);
73 mLibs[
lib->getName()] =
lib;
85 DynLibList::iterator
it = mLibs.find(
_file);
86 if (
it != mLibs.end())
108 if (
node->getName() ==
"path")
114 else if (node->
getName() ==
"Plugin")
116 std::string_view source;
119 while (source_node.next(
"Source"))
121 std::string_view build = source_node->
findAttribute(
"build");
122#if MYGUI_DEBUG_MODE == 1
123 if (build ==
"Debug")
124 source = source_node->getContent();
126 if (build !=
"Debug")
127 source = source_node->getContent();
147 MYGUI_LOG(Info,
"Plugin successfully installed");
155 PluginList::iterator
it = mPlugins.find(
_plugin);
156 if (
it != mPlugins.end())
162 MYGUI_LOG(Info,
"Plugin successfully uninstalled");
167 while (!mLibs.empty())
#define MYGUI_ASSERT(exp, dest)
#define MYGUI_LOG(level, text)
#define MYGUI_SINGLETON_DEFINITION(ClassName)
Resource holding data about a dynamic library.
static DynLibManager & getInstance()
Plugin manager. Load/unload and register plugins.
void installPlugin(IPlugin *_plugin)
void unloadPlugin(std::string_view _file)
Unload plugin.
void uninstallPlugin(IPlugin *_plugin)
void unloadAllPlugins()
Unload all plugins.
bool loadPlugin(std::string_view _file)
Load plugin.
static std::string_view getClassTypeName()
static ResourceManager & getInstance()
bool findAttribute(std::string_view _name, std::string &_value)
ElementEnumerator getElementEnumerator()
const std::string & getName() const
delegates::DelegateFunction< Args... > * newDelegate(void(*_func)(Args... args))