X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2b5f62a0b2db198609b45dec622a018dae37008e..421a84317fc3d53ac4fd64613f1af2d19018efc5:/include/wx/dynload.h diff --git a/include/wx/dynload.h b/include/wx/dynload.h index a1c19d73a9..3fdfa076be 100644 --- a/include/wx/dynload.h +++ b/include/wx/dynload.h @@ -7,7 +7,7 @@ // Created: 03/12/01 // RCS-ID: $Id$ // Copyright: (c) 2001 Ron Lee -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_DYNAMICLOADER_H__ @@ -38,7 +38,7 @@ #include "wx/msw/private.h" #endif -class WXDLLEXPORT wxPluginLibrary; +class WXDLLIMPEXP_BASE wxPluginLibrary; WX_DECLARE_EXPORTED_STRING_HASH_MAP(wxPluginLibrary *, wxDLManifest); typedef wxDLManifest wxDLImports; @@ -98,7 +98,7 @@ enum wxDLFlags }; -class WXDLLEXPORT wxDynamicLibrary +class WXDLLIMPEXP_BASE wxDynamicLibrary { public: @@ -128,6 +128,11 @@ public: bool Load(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 + wxDllType Detach() { wxDllType h = m_handle; m_handle = 0; return h; } + // unload the library, also done automatically in dtor void Unload(); @@ -183,7 +188,7 @@ protected: // instantiate this class directly anyway, use wxPluginManager // instead. -class WXDLLEXPORT wxPluginLibrary : public wxDynamicLibrary +class WXDLLIMPEXP_BASE wxPluginLibrary : public wxDynamicLibrary { public: @@ -237,7 +242,7 @@ private: }; -class WXDLLEXPORT wxPluginManager +class WXDLLIMPEXP_BASE wxPluginManager { public: @@ -303,7 +308,7 @@ private: // serves as a namespace for its static member functions. #if WXWIN_COMPATIBILITY_2_2 -class WXDLLEXPORT wxDllLoader +class WXDLLIMPEXP_BASE wxDllLoader { public: