]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dynlib.h
disable use of #pragma interface under Mac OS X
[wxWidgets.git] / include / wx / dynlib.h
index c9eb6d36af9e400a52913bb86d8e6aec2fd0a215..4f4d5718563cf363ad9864f104fb6628945744e8 100644 (file)
@@ -6,19 +6,23 @@
 // Created:     20/07/98
 // RCS-ID:      $Id$
 // Copyright:   (c) 1998 Guilhem Lavaux
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_DYNLIB_H__
 #define _WX_DYNLIB_H__
 
-#ifdef __GNUG__
-#   pragma interface
+#if defined(__GNUG__) && !defined(__APPLE__)
+#   pragma interface "dynlib.h"
 #endif
 
 #include "wx/setup.h"
 
-#if wxUSE_DYNLIB_CLASS
+#if wxUSE_DYNAMIC_LOADER
+
+#include "wx/dynload.h"  // Use the new (version of) wxDynamicLibrary instead
+
+#elif wxUSE_DYNLIB_CLASS
 
 #include "wx/string.h"
 #include "wx/list.h"
@@ -51,7 +55,7 @@
 #elif defined(__DARWIN__)
     typedef void *wxDllType;
 #elif defined(__WXMAC__)
-    typedef CFragConnectionID wxDllType;
+    typedef void *wxDllType;
 #else
 #   error "wxLibrary can't be compiled on this platform, sorry."
 #endif // OS
@@ -85,7 +89,7 @@ public:
       if success pointer is not NULL, it will be filled with TRUE if everything
       went ok and FALSE otherwise
      */
-    static wxDllType LoadLibrary(const wxString& libname, bool *success = NULL);
+    static wxDllType LoadLibrary(const wxString& libname, bool *success = 0);
 
     /*
       This function unloads the shared library previously loaded with
@@ -109,14 +113,17 @@ public:
 
        Returns the pointer to the symbol or NULL on error.
      */
-    static void * GetSymbol(wxDllType dllHandle, const wxString &name);
+    static void *GetSymbol(wxDllType dllHandle,
+                           const wxString &name,
+                           bool *success = NULL);
 
     // return the standard DLL extension (with leading dot) for this platform
-    static wxString GetDllExt();
+    static const wxString &GetDllExt() { return ms_dllext; }
 
 private:
     // forbid construction of objects
     wxDllLoader();
+    static const wxString   ms_dllext;
 };
 
 // ----------------------------------------------------------------------------
@@ -222,14 +229,14 @@ protected:
 // Global variables
 // ----------------------------------------------------------------------------
 
-extern wxLibraries wxTheLibraries;
+extern WXDLLEXPORT_DATA(wxLibraries) wxTheLibraries;
 
 // ----------------------------------------------------------------------------
 // Interesting defines
 // ----------------------------------------------------------------------------
 
 #define WXDLL_ENTRY_FUNCTION() \
-extern "C" WXEXPORT wxClassInfo *wxGetClassFirst(); \
+extern "C" WXEXPORT const wxClassInfo *wxGetClassFirst(); \
 const wxClassInfo *wxGetClassFirst() { \
   return wxClassInfo::GetFirst(); \
 }