diff options
author | Andy Cedilnik <andy.cedilnik@kitware.com> | 2006-03-16 16:01:05 (GMT) |
---|---|---|
committer | Andy Cedilnik <andy.cedilnik@kitware.com> | 2006-03-16 16:01:05 (GMT) |
commit | f483e48d2a2f3361dcf3c60096bbfe9975f90ddf (patch) | |
tree | 2909a53a3efb79bf633ba0be2fa93d7c7b68181f /Source/cmDynamicLoader.h | |
parent | 4102949bf95eee1ce88544fafdf80439aece85b2 (diff) | |
download | CMake-f483e48d2a2f3361dcf3c60096bbfe9975f90ddf.zip CMake-f483e48d2a2f3361dcf3c60096bbfe9975f90ddf.tar.gz CMake-f483e48d2a2f3361dcf3c60096bbfe9975f90ddf.tar.bz2 |
ENH: Cleanup DynamicLoader so that the symbols have more consistent names, start using dynamic loader from kwsys in CMake
Diffstat (limited to 'Source/cmDynamicLoader.h')
-rw-r--r-- | Source/cmDynamicLoader.h | 53 |
1 files changed, 9 insertions, 44 deletions
diff --git a/Source/cmDynamicLoader.h b/Source/cmDynamicLoader.h index 3c7d3b4..29b6669 100644 --- a/Source/cmDynamicLoader.h +++ b/Source/cmDynamicLoader.h @@ -9,15 +9,15 @@ Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved. See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details. - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*/ // .NAME cmDynamicLoader - class interface to system dynamic libraries // .SECTION Description -// cmDynamicLoader provides a portable interface to loading dynamic -// libraries into a process. +// cmDynamicLoader provides a portable interface to loading dynamic +// libraries into a process. #ifndef __cmDynamicLoader_h @@ -25,46 +25,16 @@ #include "cmStandardIncludes.h" -// Ugly stuff for library handles -// They are different on several different OS's -#if defined(__hpux) - #include <dl.h> - typedef shl_t cmLibHandle; -#elif defined(_WIN32) - #include <windows.h> - typedef HMODULE cmLibHandle; -#elif defined(__APPLE__) - #include <AvailabilityMacros.h> - #if MAC_OS_X_VERSION_MIN_REQUIRED < 1030 - #include <mach-o/dyld.h> - typedef NSModule cmLibHandle; - #else - typedef void* cmLibHandle; - #endif -#else - typedef void* cmLibHandle; -#endif - -// Return type from cmDynamicLoader::GetSymbolAddress. -typedef void (*cmDynamicLoaderFunction)(); +#include <cmsys/DynamicLoader.hxx> class cmDynamicLoader { public: // Description: // Load a dynamic library into the current process. - // The returned cmLibHandle can be used to access the symbols in the - // library. - static cmLibHandle OpenLibrary(const char*); - - // Description: - // Attempt to detach a dynamic library from the - // process. A value of true is returned if it is successful. - static int CloseLibrary(cmLibHandle); - - // Description: - // Find the address of the symbol in the given library - static cmDynamicLoaderFunction GetSymbolAddress(cmLibHandle, const char*); + // The returned cmsys::DynamicLoader::LibraryHandle can be used to access + // the symbols in the library. + static cmsys::DynamicLoader::LibraryHandle OpenLibrary(const char*); // Description: // Return the library prefix for the given architecture @@ -75,18 +45,13 @@ public: static const char* LibExtension(); // Description: - // Return the last error produced from a calls made on this class. - static const char* LastError(); - - // Description: // Flush the cache of dynamic loader. static void FlushCache(); - + protected: cmDynamicLoader() {}; ~cmDynamicLoader() {}; - private: cmDynamicLoader(const cmDynamicLoader&); // Not implemented. void operator=(const cmDynamicLoader&); // Not implemented. |