]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dynlib.h
applied patch 410892 (wxCopyFile uses ::CopyFile under Win32, has overwrite parameter)
[wxWidgets.git] / include / wx / dynlib.h
index 2ba2c3f4b6ccc620a973fc85ae973b175109e9cf..067dea6d3ac7c0fd0fafffde0ab58bf4346bc96c 100644 (file)
 #   endif // Unix flavour
 #endif // !Unix or already have some HAVE_xxx defined
 
-#if defined(HAVE_DLOPEN)
+// Note: WXPM/EMX has to be tested first, since we want to use
+// native version, even if configure detected presence of DLOPEN.
+#if defined(__WXPM__) || defined(__EMX__)
+#   define INCL_DOS
+#   include <os2.h>
+    typedef HMODULE wxDllType;
+#elif defined(HAVE_DLOPEN)
 #   include <dlfcn.h>
     typedef void *wxDllType;
 #elif defined(HAVE_SHL_LOAD)
 #elif defined(__WINDOWS__)
 #   include <windows.h>         // needed to get HMODULE
     typedef HMODULE wxDllType;
-#elif defined(__OS2__)
-#   define INCL_DOS
-#   include <os2.h>
-    typedef HMODULE wxDllType;
+#elif defined(__APPLE__) && defined(__UNIX__)
+    typedef void *wxDllType;
 #elif defined(__WXMAC__)
     typedef CFragConnectionID wxDllType;
 #else
@@ -68,7 +72,7 @@
     There are no instances of this class, it simply serves as a
     namespace for its static member functions.
 */
-class wxDllLoader
+class WXDLLEXPORT wxDllLoader
 {
 public:
     /** This function loads a shared library into memory, with libname
@@ -92,6 +96,9 @@ public:
      */
     static void * GetSymbol(wxDllType dllHandle, const wxString &name);
 
+    // return the standard DLL extension (with leading dot) for this platform
+    static wxString GetDllExt();
+
 private:
     /// forbid construction of objects
     wxDllLoader();
@@ -101,7 +108,7 @@ private:
 // wxLibrary
 // ----------------------------------------------------------------------------
 
-class wxLibrary : public wxObject
+class WXDLLEXPORT wxLibrary : public wxObject
 {
 public:
     wxHashTable classTable;
@@ -128,7 +135,7 @@ protected:
 // wxLibraries
 // ----------------------------------------------------------------------------
 
-class wxLibraries
+class WXDLLEXPORT wxLibraries
 {
 public:
     wxLibraries();