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)