added wxDynamicLibrary as suggested by Vadim
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10589 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -104,6 +104,46 @@ private:
|
||||
wxDllLoader();
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxDynamicLibrary - friendly interface to wxDllLoader
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class wxDynamicLibrary
|
||||
{
|
||||
public:
|
||||
wxDynamicLibrary() { m_library = 0; }
|
||||
wxDynamicLibrary(const wxString& name) { Load(name); }
|
||||
|
||||
bool IsLoaded() const { return m_library != 0; }
|
||||
|
||||
bool Load(const wxString& name)
|
||||
{
|
||||
m_library = wxDllLoader::LoadLibrary(name);
|
||||
|
||||
return IsLoaded();
|
||||
}
|
||||
|
||||
void Unload()
|
||||
{
|
||||
if ( IsLoaded() )
|
||||
wxDllLoader::UnloadLibrary(m_library)
|
||||
}
|
||||
|
||||
void *GetSymbol(const wxString& name) const
|
||||
{
|
||||
wxCHECK_MSG( IsLoaded(), NULL,
|
||||
_T("can't load symbol from unloaded library") );
|
||||
|
||||
return wxDllLoader::GetSymbol(m_library, name);
|
||||
}
|
||||
|
||||
~wxDynamicLibrary() { Unload(); }
|
||||
|
||||
private:
|
||||
wxDllType m_library;
|
||||
};
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxLibrary
|
||||
// ----------------------------------------------------------------------------
|
||||
|
Reference in New Issue
Block a user