]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/OS/DLLManager.h
...
[cpPlugins.git] / lib / cpPlugins / OS / DLLManager.h
diff --git a/lib/cpPlugins/OS/DLLManager.h b/lib/cpPlugins/OS/DLLManager.h
new file mode 100644 (file)
index 0000000..806d390
--- /dev/null
@@ -0,0 +1,40 @@
+#ifndef __cpPlugins__OS__DLLManager__h__
+#define __cpPlugins__OS__DLLManager__h__
+
+#include <cpPlugins/Config.h>
+#include <map>
+#include <set>
+#include <string>
+
+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$