1
#include <cppunit/plugin/DynamicLibraryManager.h>
3
#if !defined(CPPUNIT_NO_TESTPLUGIN)
4
#include <cppunit/plugin/DynamicLibraryManagerException.h>
9
DynamicLibraryManager::DynamicLibraryManager( const std::string &libraryFileName )
10
: m_libraryHandle( NULL )
11
, m_libraryName( libraryFileName )
13
loadLibrary( libraryFileName );
17
DynamicLibraryManager::~DynamicLibraryManager()
23
DynamicLibraryManager::Symbol
24
DynamicLibraryManager::findSymbol( const std::string &symbol )
28
Symbol symbolPointer = doFindSymbol( symbol );
29
if ( symbolPointer != NULL )
36
throw DynamicLibraryManagerException( m_libraryName,
38
DynamicLibraryManagerException::symbolNotFound );
39
return NULL; // keep compiler happy
44
DynamicLibraryManager::loadLibrary( const std::string &libraryName )
49
m_libraryHandle = doLoadLibrary( libraryName );
50
if ( m_libraryHandle != NULL )
57
throw DynamicLibraryManagerException( m_libraryName,
59
DynamicLibraryManagerException::loadingFailed );
64
DynamicLibraryManager::releaseLibrary()
66
if ( m_libraryHandle != NULL )
69
m_libraryHandle = NULL;
77
#endif // !defined(CPPUNIT_NO_TESTPLUGIN)