#ifndef MODULE_H_INCLUDED #define MODULE_H_INCLUDED typedef PLUGININFO* (*set_plugin_info)(); typedef int (*load)(PLUGINLINK *link); typedef int (*on_modules_loaded)(); typedef int (*unload)(); class plugin { public: struct exported_functions_s { load Load; on_modules_loaded OnModulesLoaded; unload Unload; set_plugin_info SetPluginInfo; }; ACE_DLL *get_plugin(); void set_plugin(); const exported_functions_s *get_exported_functions(); plugin(ACE_DLL *lib, PLUGININFO *info, exported_functions_s *funcs); ~plugin(); private: ACE_DLL *plug; exported_functions_s *exported_funcs; PLUGININFO *plugininfo; }; #endif // MODULE_H_INCLUDED