*
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
#include "PluginServer.h"
|
||||
#include <memory>
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user