Files
LifeProject/LifeGraphics/Plugin.h
T

43 lines
954 B
C++
Raw Normal View History

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