Files

46 lines
1019 B
C++
Raw Permalink Normal View History

2025-05-13 02:46:21 +03:00
#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);
}
}