extracted Unix code in a separate new file (src/unix/dlunix.cpp), it remains only to refactor Mac/OS2 versions to finally fix the mess in common/dnylib.cpp...

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31405 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2005-01-16 22:21:44 +00:00
parent 114a4501f8
commit da55d0644f
6 changed files with 488 additions and 249 deletions

View File

@@ -33,6 +33,10 @@
#include "wx/msw/private.h"
#endif
#if defined(HAVE_DLERROR) && !defined(__EMX__)
#define wxHAVE_DYNLIB_ERROR
#endif
class WXDLLIMPEXP_BASE wxDynamicLibraryDetailsCreator;
// ----------------------------------------------------------------------------
@@ -196,8 +200,8 @@ public:
// raw function for loading dynamic libs: always behaves as if
// wxDL_VERBATIM were specified and doesn't log error message if the
// library couldn't be loaded but simply returns NULL
static wxDllType RawLoad(const wxString& libname);
static wxDllType RawLoad(const wxString& libname, int flags = wxDL_DEFAULT);
// detach the library object from its handle, i.e. prevent the object from
// unloading the library in its dtor -- the caller is now responsible for
// doing this
@@ -271,6 +275,11 @@ protected:
// common part of GetSymbol() and HasSymbol()
void *DoGetSymbol(const wxString& name, bool *success = 0) const;
#ifdef wxHAVE_DYNLIB_ERROR
// log the error after a dlxxx() function failure
static void Error();
#endif // wxHAVE_DYNLIB_ERROR
// platform specific shared lib suffix.
static const wxChar *ms_dllext;