// Created: 03/12/01
// RCS-ID: $Id$
// Copyright: (c) 2001 Ron Lee <ron@debian.org>
-// Licence: wxWidgets licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_DYNAMICLOADER_H__
#define _WX_DYNAMICLOADER_H__
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma interface "dynload.h"
-#endif
-
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
#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,
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.
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();