Common/vtkDynamicLoader.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00026 #ifndef __vtkDynamicLoader_h
00027 #define __vtkDynamicLoader_h
00028 #include "vtkObject.h"
00029
00030
00031
00032
00033 #if defined(__hpux)
00034 # include <dl.h>
00035 typedef shl_t vtkLibHandle;
00036 #elif defined(_WIN32)
00037 typedef HMODULE vtkLibHandle;
00038 #else
00039 typedef void* vtkLibHandle;
00040 #endif
00041
00042
00043
00044
00045 class VTK_COMMON_EXPORT vtkDynamicLoader : public vtkObject
00046 {
00047 public:
00048 static vtkDynamicLoader* New();
00049 vtkTypeRevisionMacro(vtkDynamicLoader,vtkObject);
00050
00051
00054 static vtkLibHandle OpenLibrary(const char*);
00055
00057
00059 static int CloseLibrary(vtkLibHandle);
00060
00062
00064 static void* GetSymbolAddress(vtkLibHandle, const char*);
00065
00067 static const char* LibPrefix();
00068
00070 static const char* LibExtension();
00071
00073 static const char* LastError();
00074
00075 protected:
00076 vtkDynamicLoader() {};
00077 ~vtkDynamicLoader() {};
00078
00079
00080 private:
00081 vtkDynamicLoader(const vtkDynamicLoader&);
00082 void operator=(const vtkDynamicLoader&);
00083 };
00084
00085 #endif