123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- #ifndef @KWSYS_NAMESPACE@_DynamicLoader_hxx
- #define @KWSYS_NAMESPACE@_DynamicLoader_hxx
- #include <@KWSYS_NAMESPACE@/Configure.hxx>
- #include <string>
- #if defined(__hpux)
- #include <dl.h>
- #elif defined(_WIN32) && !defined(__CYGWIN__)
- #include <windows.h>
- #elif defined(__APPLE__)
- #include <AvailabilityMacros.h>
- #if MAC_OS_X_VERSION_MAX_ALLOWED < 1030
- #include <mach-o/dyld.h>
- #endif
- #elif defined(__BEOS__)
- #include <be/kernel/image.h>
- #endif
- namespace @KWSYS_NAMESPACE@ {
- class @KWSYS_NAMESPACE@_EXPORT DynamicLoader
- {
- public:
- #if defined(__hpux)
- typedef shl_t LibraryHandle;
- #elif defined(_WIN32) && !defined(__CYGWIN__)
- typedef HMODULE LibraryHandle;
- #elif defined(__APPLE__)
- #if MAC_OS_X_VERSION_MAX_ALLOWED < 1030
- typedef NSModule LibraryHandle;
- #else
- typedef void* LibraryHandle;
- #endif
- #elif defined(__BEOS__)
- typedef image_id LibraryHandle;
- #else
- typedef void* LibraryHandle;
- #endif
-
- typedef void (*SymbolPointer)();
-
- static LibraryHandle OpenLibrary(const std::string&);
-
- static int CloseLibrary(LibraryHandle);
-
- static SymbolPointer GetSymbolAddress(LibraryHandle, const std::string&);
-
- static const char* LibPrefix() { return "@KWSYS_DynamicLoader_PREFIX@"; }
-
- static const char* LibExtension() { return "@KWSYS_DynamicLoader_SUFFIX@"; }
-
- static const char* LastError();
- };
- }
- #endif
|