X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=lib%2FcpPlugins%2FOS%2FDLLManager.h;fp=lib%2FcpPlugins%2FOS%2FDLLManager.h;h=806d3906cea32ca2874ac58d0a733e98e6fae1b3;hb=84d74813c987aaa92eed8579e2122f67c0d5159d;hp=0000000000000000000000000000000000000000;hpb=410a1d0bf36fb01148880c034973308e4600ffda;p=cpPlugins.git diff --git a/lib/cpPlugins/OS/DLLManager.h b/lib/cpPlugins/OS/DLLManager.h new file mode 100644 index 0000000..806d390 --- /dev/null +++ b/lib/cpPlugins/OS/DLLManager.h @@ -0,0 +1,40 @@ +#ifndef __cpPlugins__OS__DLLManager__h__ +#define __cpPlugins__OS__DLLManager__h__ + +#include +#include +#include +#include + +namespace cpPlugins +{ + namespace OS + { + /** + */ + class cpPlugins_EXPORT DLLManager + { + public: + static void TeaseLoadedLibraries( ); + static void GetPluginsLibraryContents( + std::map< std::string, std::set< std::string > >& filters, + const std::string& libname + ); + static void* LoadPlugins( const std::string& lname ); + static void* LoadCreator( + void* lib_hnd, const std::string& category, const std::string& name + ); + + private: + static void* _Load( const std::string& libname, int flags ); + static void* _Sym( void* hnd, const std::string& symname ); + static void _UnLoad( void* hnd ); + }; + + } // ecapseman + +} // ecapseman + +#endif // __cpPlugins__OS__DLLManager__h__ + +// eof - $RCSfile$