VTK
vtkDynamicLoader.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkDynamicLoader.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
24 #ifndef __vtkDynamicLoader_h
25 #define __vtkDynamicLoader_h
26 
27 #include "vtkObject.h"
28 #include <vtksys/DynamicLoader.hxx>
29 
30 //BTX
31 typedef vtksys::DynamicLoader::LibraryHandle vtkLibHandle;
32 // Cannot use this as this is a void (*)() but VTK old API used to be void*
33 typedef vtksys::DynamicLoader::SymbolPointer vtkSymbolPointer;
34 //ETX
35 
37 {
38 public:
39  static vtkDynamicLoader* New();
40  vtkTypeMacro(vtkDynamicLoader,vtkObject);
41 
42  //BTX
45  static vtkLibHandle OpenLibrary(const char*);
46 
49  static int CloseLibrary(vtkLibHandle);
50 
52 
54  static void* GetSymbolAddress(vtkLibHandle, const char*);
55  //ETX
57 
59  static const char* LibPrefix();
60 
62  static const char* LibExtension();
63 
65  static const char* LastError();
66 
67 protected:
70 
71 private:
72  vtkDynamicLoader(const vtkDynamicLoader&); // Not implemented.
73  void operator=(const vtkDynamicLoader&); // Not implemented.
74 };
75 
76 #endif
abstract base class for most VTK objects
Definition: vtkObject.h:60
#define VTK_COMMON_EXPORT
vtksys::DynamicLoader::SymbolPointer vtkSymbolPointer
vtksys::DynamicLoader::LibraryHandle vtkLibHandle
class interface to system dynamic libraries
static vtkObject * New()