![]() |
VR-Link API Documentation for DIS
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *******************************************************************************/ 00008 #pragma once 00009 00010 #include "vlMachineTypes.h" 00011 #include "vlString.h" 00012 00013 00014 #ifdef DtUSE_UTILITIES_NAMESPACE 00015 namespace DtUSE_UTILITIES_NAMESPACE 00016 { 00017 #endif 00018 00019 00023 class DT_DLL_VLUTIL DtDynamicLibrary 00024 { 00025 public: 00026 00028 virtual ~DtDynamicLibrary(); 00029 00030 protected: 00032 DtDynamicLibrary( const DtString &libName); 00033 00034 private: 00036 DtDynamicLibrary(const DtDynamicLibrary &other); 00037 00039 DtDynamicLibrary & operator=(const DtDynamicLibrary &other); 00040 00041 public: 00046 bool isValid() const; 00047 00051 DtString libraryName() const; 00052 00055 const char *error() const; 00056 00063 virtual void *procAddress( const DtString &symName); 00064 00065 public: 00066 00068 static DtString standardExtension(); 00069 00074 static DtDynamicLibrary* create( const DtString &libName, 00075 bool addPlatExt = true, bool useLazyEval = false, bool useGlobal = false); 00076 protected: 00077 00082 virtual void open( bool addPlatExt, bool useLazyEval, bool useGlobal); 00083 00084 protected: 00085 00086 void *myHandle; 00087 DtString myLibraryName; 00088 char *myLastError; 00089 00090 }; 00091 00092 #ifdef DtUSE_UTILITIES_NAMESPACE 00093 } 00094 #endif 00095