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
00039 #ifndef __vtkDynamicLoader_h
00040 #define __vtkDynamicLoader_h
00041 #include "vtkObject.h"
00042
00043
00044
00045
00046 #if defined(__hpux)
00047 # include <dl.h>
00048 typedef shl_t vtkLibHandle;
00049 #elif defined(_WIN32)
00050 typedef HMODULE vtkLibHandle;
00051 #else
00052 typedef void* vtkLibHandle;
00053 #endif
00054
00055
00056
00057
00058 class VTK_COMMON_EXPORT vtkDynamicLoader : public vtkObject
00059 {
00060 public:
00061 static vtkDynamicLoader* New();
00062 vtkTypeRevisionMacro(vtkDynamicLoader,vtkObject);
00063
00064
00067 static vtkLibHandle OpenLibrary(const char*);
00068
00070
00072 static int CloseLibrary(vtkLibHandle);
00073
00075
00077 static void* GetSymbolAddress(vtkLibHandle, const char*);
00078
00080 static const char* LibPrefix();
00081
00083 static const char* LibExtension();
00084
00086 static const char* LastError();
00087
00088 protected:
00089 vtkDynamicLoader() {};
00090 ~vtkDynamicLoader() {};
00091
00092
00093 private:
00094 vtkDynamicLoader(const vtkDynamicLoader&);
00095 void operator=(const vtkDynamicLoader&);
00096 };
00097
00098 #endif