X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1948bb3274f2d39649c63b88f0e8781d0fc9b693..cde23b64b5194f0d71cf16c85ea33d28419c815f:/include/wx/dynload.h diff --git a/include/wx/dynload.h b/include/wx/dynload.h index 7271c2ea8e..8f440b78be 100644 --- a/include/wx/dynload.h +++ b/include/wx/dynload.h @@ -13,10 +13,6 @@ #ifndef _WX_DYNAMICLOADER_H__ #define _WX_DYNAMICLOADER_H__ -#if defined(__GNUG__) && !defined(__APPLE__) -#pragma interface "dynload.h" -#endif - // ---------------------------------------------------------------------------- // headers // ---------------------------------------------------------------------------- @@ -29,7 +25,7 @@ #include "wx/hashmap.h" #include "wx/module.h" -class WXDLLIMPEXP_BASE wxPluginLibrary; +class WXDLLIMPEXP_FWD_BASE wxPluginLibrary; WX_DECLARE_STRING_HASH_MAP_WITH_DECL(wxPluginLibrary *, wxDLManifest, @@ -75,7 +71,7 @@ public: void RefObj() { ++m_objcount; } void UnrefObj() { - wxASSERT_MSG( m_objcount > 0, _T("Too many objects deleted??") ); + wxASSERT_MSG( m_objcount > 0, wxT("Too many objects deleted??") ); --m_objcount; } @@ -86,19 +82,19 @@ public: private: - wxClassInfo *m_before; // sm_first before loading this lib - wxClassInfo *m_after; // ..and after. + const wxClassInfo *m_before; // sm_first before loading this lib + const wxClassInfo *m_after; // ..and after. size_t m_linkcount; // Ref count of library link calls size_t m_objcount; // ..and (pluggable) object instantiations. wxModuleList m_wxmodules; // any wxModules that we initialised. - void UpdateClassInfo(); // Update the wxClassInfo table - void RestoreClassInfo(); // Restore the original wxClassInfo state. + void UpdateClasses(); // Update ms_classes + void RestoreClasses(); // Removes this library from ms_classes void RegisterModules(); // Init any wxModules in the lib. void UnregisterModules(); // Cleanup any wxModules we installed. - DECLARE_NO_COPY_CLASS(wxPluginLibrary) + wxDECLARE_NO_COPY_CLASS(wxPluginLibrary); }; @@ -112,21 +108,14 @@ public: int flags = wxDL_DEFAULT ); static bool UnloadLibrary(const wxString &libname); - // This is used by wxDllLoader. It's wrapped in the compatibility - // macro because it's of arguable use outside of that. - -#if WXWIN_COMPATIBILITY_2_2 - static wxPluginLibrary *GetObjectFromHandle(wxDllType handle); -#endif - // Instance methods. - wxPluginManager() : m_entry(NULL) {}; + wxPluginManager() : m_entry(NULL) {} wxPluginManager(const wxString &libname, int flags = wxDL_DEFAULT) { Load(libname, flags); } - ~wxPluginManager() { Unload(); } + ~wxPluginManager() { if ( IsLoaded() ) Unload(); } bool Load(const wxString &libname, int flags = wxDL_DEFAULT); void Unload(); @@ -155,7 +144,7 @@ private: // We could allow this class to be copied if we really // wanted to, but not without modification. - DECLARE_NO_COPY_CLASS(wxPluginManager) + wxDECLARE_NO_COPY_CLASS(wxPluginManager); };