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