X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e9737edeee2656b365e314a76d4b991b21cefdee..f1f5f16f780bb41aa2ea24ccbf728f14c86cc475:/src/common/dynlib.cpp diff --git a/src/common/dynlib.cpp b/src/common/dynlib.cpp index a1b125ac1b..3e78472bce 100644 --- a/src/common/dynlib.cpp +++ b/src/common/dynlib.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: dynlib.cpp +// Name: src/common/dynlib.cpp // Purpose: Dynamic library management // Author: Guilhem Lavaux // Modified by: @@ -21,26 +21,26 @@ // headers // ---------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -# pragma implementation "dynlib.h" -#endif - #include "wx/wxprec.h" #ifdef __BORLANDC__ - #pragma hdrstop + #pragma hdrstop #endif #if wxUSE_DYNLIB_CLASS #include "wx/dynlib.h" + +#ifndef WX_PRECOMP + #include "wx/intl.h" + #include "wx/log.h" + #include "wx/app.h" + #include "wx/utils.h" +#endif //WX_PRECOMP + #include "wx/filefn.h" -#include "wx/intl.h" -#include "wx/log.h" -#include "wx/utils.h" #include "wx/filename.h" // for SplitPath() -#include "wx/app.h" -#include "wx/apptrait.h" +#include "wx/platinfo.h" #include "wx/arrimpl.cpp" @@ -48,7 +48,7 @@ #include "wx/mac/private.h" #endif -WX_DEFINE_USER_EXPORTED_OBJARRAY(wxDynamicLibraryDetailsArray); +WX_DEFINE_USER_EXPORTED_OBJARRAY(wxDynamicLibraryDetailsArray) // ============================================================================ // implementation @@ -61,11 +61,11 @@ WX_DEFINE_USER_EXPORTED_OBJARRAY(wxDynamicLibraryDetailsArray); #if defined(__WXPM__) || defined(__EMX__) const wxChar *wxDynamicLibrary::ms_dllext = _T(".dll"); #elif defined(__WXMAC__) && !defined(__DARWIN__) - const wxChar *wxDynamicLibrary::ms_dllext = _T(""); + const wxChar *wxDynamicLibrary::ms_dllext = wxEmptyString; #endif -// for Unix it is in src/unix/dlunix.cpp -#if !defined(__UNIX__) || defined(__EMX__) +// for MSW/Unix it is defined in platform-specific file +#if !(defined(__WXMSW__) || defined(__UNIX__)) || defined(__EMX__) wxDllType wxDynamicLibrary::GetProgramHandle() { @@ -73,7 +73,8 @@ wxDllType wxDynamicLibrary::GetProgramHandle() return 0; } -#endif // __UNIX__ +#endif // __WXMSW__ || __UNIX__ + bool wxDynamicLibrary::Load(const wxString& libnameOrig, int flags) { @@ -118,9 +119,9 @@ bool wxDynamicLibrary::Load(const wxString& libnameOrig, int flags) } #elif defined(__WXPM__) || defined(__EMX__) - char err[256] = ""; - DosLoadModule(err, sizeof(err), libname.c_str(), &m_handle); -#else + char err[256] = ""; + DosLoadModule(err, sizeof(err), (PSZ)libname.c_str(), &m_handle); +#else // this should be the only remaining branch eventually m_handle = RawLoad(libname, flags); #endif @@ -144,7 +145,7 @@ bool wxDynamicLibrary::Load(const wxString& libnameOrig, int flags) /* static */ void wxDynamicLibrary::Unload(wxDllType handle) { -#if defined(__WXPM__) || defined(__EMX__) +#if defined(__OS2__) || defined(__EMX__) DosFreeModule( handle ); #elif defined(__WXMAC__) && !defined(__DARWIN__) CloseConnection( (CFragConnectionID*) &handle ); @@ -176,7 +177,7 @@ void *wxDynamicLibrary::DoGetSymbol(const wxString &name, bool *success) const if( FindSymbol( m_handle, symName, &symAddress, &symClass ) == noErr ) symbol = (void *)symAddress; #elif defined(__WXPM__) || defined(__EMX__) - DosQueryProcAddr( m_handle, 1L, name.c_str(), (PFN*)symbol ); + DosQueryProcAddr( m_handle, 1L, (PSZ)name.c_str(), (PFN*)symbol ); #else symbol = RawGetSymbol(m_handle, name); #endif @@ -246,11 +247,7 @@ wxString wxDynamicLibrary::CanonicalizePluginName(const wxString& name, wxString suffix; if ( cat == wxDL_PLUGIN_GUI ) { - wxAppTraits *traits = wxAppConsole::GetInstance() ? - wxAppConsole::GetInstance()->GetTraits() : NULL; - wxASSERT_MSG( traits, - _("can't query for GUI plugins name in console applications") ); - suffix = traits->GetToolkitInfo().shortName; + suffix = wxPlatformInfo::Get().GetPortIdShortName(); } #if wxUSE_UNICODE suffix << _T('u');