#ifndef Plugin_h__ #define Plugin_h__ #pragma once #include "Build.h" #include #include "render/IRenderer.h" namespace LifeGraphics { class PluginServer; class Plugin { public: Plugin(const std::string& fileName); ~Plugin(); int getEngineVersion(){ return g_pfnGetEngineVersion(); } int getPluginVersion(){ return g_pfnGetPluginVersion(); } void registerPlugin(PluginServer& server){ return g_pfnRegisterPlugin(server); } /*LIFE_EXPORTS std::string getPluginName(){ return g_pfnGetPluginName(); }*/ private: typedef int (*fn_getEngineVersion)(void); typedef int (*fn_getPluginVersion)(void); typedef void (*fn_registerPlugin)(LifeGraphics::PluginServer&); HMODULE g_hDLL; int g_referenceCount; fn_getEngineVersion g_pfnGetEngineVersion; fn_getPluginVersion g_pfnGetPluginVersion; fn_registerPlugin g_pfnRegisterPlugin; //fn_getPluginName g_pfnGetPluginName; }; } #endif // Plugin_h__