]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dynlib.h
more extra semicolons removed (patch 1303724)
[wxWidgets.git] / include / wx / dynlib.h
index a5273869fde5a90cfe6bcacfb751f13859c238d5..64aeb305cbacd694b73850d5721bcb9482feac79 100644 (file)
 #ifndef _WX_DYNLIB_H__
 #define _WX_DYNLIB_H__
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#   pragma interface "dynlib.h"
-#endif
-
 #include "wx/defs.h"
 
 #if wxUSE_DYNLIB_CLASS
@@ -245,6 +241,30 @@ public:
 #endif
     }
 
+#ifdef __WXMSW__
+    // this function is useful for loading functions from the standard Windows
+    // DLLs: such functions have an 'A' (in ANSI build) or 'W' (in Unicode, or
+    // wide character build) suffix if they take string parameters
+    static void *RawGetSymbolAorW(wxDllType handle, const wxString& name)
+    {
+        return RawGetSymbol
+               (
+                handle,
+                name + 
+#if wxUSE_UNICODE
+                L'W'
+#else
+                'A'
+#endif
+               );
+    }
+
+    void *GetSymbolAorW(const wxString& name) const
+    {
+        return RawGetSymbolAorW(m_handle, name);
+    }
+#endif // __WXMSW__
+
     // return all modules/shared libraries in the address space of this process
     //
     // returns an empty array if not implemented or an error occurred
@@ -298,6 +318,8 @@ protected:
 
 #if WXWIN_COMPATIBILITY_2_2 && wxUSE_DYNAMIC_LOADER
 
+#include "wx/object.h"
+
 /*
     wxDllLoader is a class providing an interface similar to unix's dlopen().
     It is used by wxDynamicLibrary wxLibrary and manages the actual loading of