X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/13e51f3a55bf033b788c8a1d006e201f5b28d3cb..b4cfe261db9bec8cdfb2664ed3f50e3e8350bbde:/include/wx/dynlib.h diff --git a/include/wx/dynlib.h b/include/wx/dynlib.h index d718cb6b9a..03da571c63 100644 --- a/include/wx/dynlib.h +++ b/include/wx/dynlib.h @@ -12,7 +12,7 @@ #ifndef _WX_DYNLIB_H__ #define _WX_DYNLIB_H__ -#if defined(__GNUG__) && !defined(__APPLE__) +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) # pragma interface "dynlib.h" #endif @@ -49,6 +49,7 @@ #elif defined(__DARWIN__) typedef void *wxDllType; #elif defined(__WXMAC__) + #include typedef CFragConnectionID wxDllType; #else #error "Dynamic Loading classes can't be compiled on this platform, sorry." @@ -130,7 +131,7 @@ public: // to use it polymorphically. ~wxDynamicLibrary() { Unload(); } - // return TRUE if the library was loaded successfully + // return true if the library was loaded successfully bool IsLoaded() const { return m_handle != 0; } // load the library with the given name (full or not), return true if ok @@ -141,8 +142,11 @@ public: // doing this wxDllType Detach() { wxDllType h = m_handle; m_handle = 0; return h; } + // unload the given library handle (presumably returned by Detach() before) + static void Unload(wxDllType handle); + // unload the library, also done automatically in dtor - void Unload(); + void Unload() { if ( IsLoaded() ) { Unload(m_handle); m_handle = 0; } } // Return the raw handle from dlopen and friends. wxDllType GetLibHandle() const { return m_handle; } @@ -166,10 +170,11 @@ public: static wxString CanonicalizeName(const wxString& name, wxDynamicLibraryCategory cat = wxDL_LIBRARY); - // return name of wxWindows plugin (adds compiler and version info + // return name of wxWidgets plugin (adds compiler and version info // to the filename): - static wxString CanonicalizePluginName(const wxString& name, - wxPluginCategory cat); + static wxString + CanonicalizePluginName(const wxString& name, + wxPluginCategory cat = wxDL_PLUGIN_GUI); // return plugin directory on platforms where it makes sense and empty // string on others: @@ -215,11 +220,11 @@ public: which case the library is searched for in all standard locations (use GetDllExt() to construct the filename) - if success pointer is not NULL, it will be filled with TRUE if everything - went ok and FALSE otherwise + if success pointer is not NULL, it will be filled with true if everything + went ok and false otherwise */ static wxDllType LoadLibrary(const wxString& name, bool *success = NULL); - + /* This function unloads the shared library previously loaded with LoadLibrary