From f483e48d2a2f3361dcf3c60096bbfe9975f90ddf Mon Sep 17 00:00:00 2001 From: Andy Cedilnik Date: Thu, 16 Mar 2006 11:01:05 -0500 Subject: ENH: Cleanup DynamicLoader so that the symbols have more consistent names, start using dynamic loader from kwsys in CMake --- Source/cmDynamicLoader.h | 53 ++++++++---------------------------------------- 1 file changed, 9 insertions(+), 44 deletions(-) (limited to 'Source/cmDynamicLoader.h') diff --git a/Source/cmDynamicLoader.h b/Source/cmDynamicLoader.h index 3c7d3b459d..29b6669a02 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 - typedef shl_t cmLibHandle; -#elif defined(_WIN32) - #include - typedef HMODULE cmLibHandle; -#elif defined(__APPLE__) - #include - #if MAC_OS_X_VERSION_MIN_REQUIRED < 1030 - #include - typedef NSModule cmLibHandle; - #else - typedef void* cmLibHandle; - #endif -#else - typedef void* cmLibHandle; -#endif - -// Return type from cmDynamicLoader::GetSymbolAddress. -typedef void (*cmDynamicLoaderFunction)(); +#include 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 @@ -74,19 +44,14 @@ public: // Return the library extension for the given architecture 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. -- cgit v1.2.1