#ifndef PLUGIN_H #define PLUGIN_H #include typedef PLUGININFO * (__cdecl * SetPluginInfo) (); typedef int (__cdecl * Load) (PLUGINLINK *link); typedef int (__cdecl * OnModulesLoaded) (); class plugin { public: struct exported_funcs_s { SetPluginInfo info; Load load; OnModulesLoaded loaded; }; const HMODULE getHmodule(); const exported_funcs_s getFuncs(); const PLUGININFO getPluginInfo(); int setHandle(const HMODULE &hMod); int setName(const char *name); const char *getName(); plugin(const HMODULE hModule, const exported_funcs_s fnct, const char *name); ~plugin(); private: HMODULE hModule; char *szPluginName; exported_funcs_s funcs; PLUGININFO pluginInfo; }; #endif