// Created: 03/12/01
// RCS-ID: $Id$
// Copyright: (c) 2001 Ron Lee <ron@debian.org>
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_DYNAMICLOADER_H__
#include "wx/msw/private.h"
#endif
-class WXDLLEXPORT wxPluginLibrary;
+class WXDLLIMPEXP_BASE wxPluginLibrary;
WX_DECLARE_EXPORTED_STRING_HASH_MAP(wxPluginLibrary *, wxDLManifest);
typedef wxDLManifest wxDLImports;
};
-class WXDLLEXPORT wxDynamicLibrary
+class WXDLLIMPEXP_BASE wxDynamicLibrary
{
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();
// instantiate this class directly anyway, use wxPluginManager
// instead.
-class WXDLLEXPORT wxPluginLibrary : public wxDynamicLibrary
+class WXDLLIMPEXP_BASE wxPluginLibrary : public wxDynamicLibrary
{
public:
};
-class WXDLLEXPORT wxPluginManager
+class WXDLLIMPEXP_BASE wxPluginManager
{
public:
// serves as a namespace for its static member functions.
#if WXWIN_COMPATIBILITY_2_2
-class WXDLLEXPORT wxDllLoader
+class WXDLLIMPEXP_BASE wxDllLoader
{
public: