#include "PluginManager.h" #include "common.h" #include "EchoPlugin.h" typedef std::map::iterator MapIterator; PluginManager::PluginManager() { } PluginManager::~PluginManager() { } void PluginManager::LoadPlugins() { Common* cmn = Common::instance(); static EchoPlugin echo; _plugins[ echo.GetCommand() ] = &echo; for(MapIterator it = _plugins.begin(); it != _plugins.end(); ++it) { Plugin* pl = (*it).second; cmn->logMessage( std::string("Loaded plugin \"") + pl->GetCommand() + "\" - " + pl->GetDescription() ); } } Plugin* PluginManager::GetPlugin(const std::string& pluginname) { return _plugins[ pluginname ]; } std::vector PluginManager::GetPluginList() { typedef std::map::iterator MapIterator; std::vector plugin_list; for (MapIterator it = _plugins.begin(); it != _plugins.end(); ++it) { Plugin* pl = (*it).second; plugin_list.push_back(pl); } return plugin_list; }