#ifndef __PLUGINMANAGER_H__ #define __PLUGINMANAGER_H__ #include #include #include class Plugin; class PluginManager { public: PluginManager(); ~PluginManager(); void LoadPlugins(); void DestroyPlugins(); void AddPlugin(Plugin* plugin); Plugin* GetPlugin(const std::string& pluginname); std::vector GetPluginList(); private: Plugin* CreatePlugin(const std::string& pluginName, const std::map& arguments); std::map _plugins; std::vector _helper_plugins; }; #endif //__PLUGINMANAGER_H__