#include "PluginServer.h" #include namespace LifeGraphics { PluginServer::PluginServer() { } PluginServer::~PluginServer() { for(RendererVector::reverse_iterator it = g_rendererCollection.rbegin(); it != g_rendererCollection.rend(); ++it) { delete *it; } for(PluginMap::reverse_iterator it = g_loadedPlugins.rbegin(); it != g_loadedPlugins.rend(); ++it) { delete it->second; } } HRESULT PluginServer::LoadPlugin(const std::string& name) { if(g_loadedPlugins.find(name) == g_loadedPlugins.end()) { Plugin* p = new Plugin(name); p->registerPlugin(*this); g_loadedPlugins.insert(PluginMap::value_type(name, p)); printf("%s\n", "Plugin successfully loaded!"); //std::string s = p.getPluginName(); printf(g_rendererCollection.at(0)->GetRendererName().c_str()); } return S_OK; } void PluginServer::RegisterRendererPlugin(IRenderer* renderer) { printf("%s\n", renderer->GetRendererName().c_str()); g_rendererCollection.push_back(renderer); } }