X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4104ed92a537f36f7f41ce07d34cadbe4d78685c..5da0803c1534db8a410cdff616921175a8ddda77:/include/wx/dynlib.h diff --git a/include/wx/dynlib.h b/include/wx/dynlib.h index 3cd25fbf7b..24592059a5 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 @@ -81,13 +81,13 @@ enum wxDLFlags enum wxDynamicLibraryCategory { wxDL_LIBRARY, // standard library - wxDL_MODULE, // loadable module/plugin + wxDL_MODULE // loadable module/plugin }; enum wxPluginCategory { wxDL_PLUGIN_GUI, // plugin that uses GUI classes - wxDL_PLUGIN_BASE, // wxBase-only plugin + wxDL_PLUGIN_BASE // wxBase-only plugin }; // ---------------------------------------------------------------------------- @@ -141,8 +141,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; } @@ -168,8 +171,9 @@ public: // return name of wxWindows 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: