43 lines
954 B
C++
43 lines
954 B
C++
#ifndef Plugin_h__
|
|
#define Plugin_h__
|
|
#pragma once
|
|
#include "Build.h"
|
|
#include <Windows.h>
|
|
#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__
|