CppUnit project page FAQ CppUnit home page

Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

DynamicLibraryManager Class Reference

Manages dynamic libraries. More...

#include <DynamicLibraryManager.h>

List of all members.

Public Types

typedef void * Symbol
typedef void * LibraryHandle

Public Methods

 DynamicLibraryManager (const std::string &libraryFileName)
 Loads the specified library.

 ~DynamicLibraryManager ()
 Releases the loaded library..

Symbol findSymbol (const std::string &symbol)
 Returns a pointer on the specified symbol exported by the library.


Private Methods

void loadLibrary (const std::string &libraryName)
void releaseLibrary ()
LibraryHandle doLoadLibrary (const std::string &libraryName)
void doReleaseLibrary ()
Symbol doFindSymbol (const std::string &symbol)
std::string getLastErrorDetail () const
 DynamicLibraryManager (const DynamicLibraryManager &copy)
 Prevents the use of the copy constructor.

void operator= (const DynamicLibraryManager &copy)
 Prevents the use of the copy operator.


Private Attributes

LibraryHandle m_libraryHandle
std::string m_libraryName


Detailed Description

Manages dynamic libraries.

The Dynamic Library Manager provides a platform independent way to work with dynamic library. It load a specific dynamic library, and can returns specific symbol exported by the dynamic library.

If an error occurs, a DynamicLibraryManagerException is thrown.


Member Typedef Documentation

typedef void* DynamicLibraryManager::LibraryHandle
 

typedef void* DynamicLibraryManager::Symbol
 


Constructor & Destructor Documentation

CPPUNIT_NS_BEGIN DynamicLibraryManager::DynamicLibraryManager const std::string &    libraryFileName
 

Loads the specified library.

Parameters:
libraryFileName  Name of the library to load.
Exceptions:
DynamicLibraryManagerException  if a failure occurs while loading the library (fail to found or load the library).

DynamicLibraryManager::~DynamicLibraryManager  
 

Releases the loaded library..

DynamicLibraryManager::DynamicLibraryManager const DynamicLibraryManager &    copy [private]
 

Prevents the use of the copy constructor.


Member Function Documentation

Symbol DynamicLibraryManager::doFindSymbol const std::string &    symbol [private]
 

Returns a pointer on the specified symbol exported by the library.

May throw any exceptions (indicates failure).

Parameters:
symbol  Name of the symbol exported by the library.
Returns:
Pointer on the symbol. NULL indicates failure.

LibraryHandle DynamicLibraryManager::doLoadLibrary const std::string &    libraryName [private]
 

Loads the specified library.

May throw any exceptions (indicates failure).

Parameters:
libraryName  Name of the library to load.
Returns:
Handle of the loaded library. NULL indicates failure.

void DynamicLibraryManager::doReleaseLibrary   [private]
 

Releases the loaded library.

The handle of the library to free is in m_libraryHandle. It is never NULL.

Warning:
Must NOT throw any exceptions (called from destructor).

DynamicLibraryManager::Symbol DynamicLibraryManager::findSymbol const std::string &    symbol
 

Returns a pointer on the specified symbol exported by the library.

Parameters:
symbol  Name of the symbol exported by the library.
Returns:
Pointer on the symbol. Should be casted to the actual type. Never NULL.
Exceptions:
DynamicLibraryManagerException  if the symbol is not found.

std::string DynamicLibraryManager::getLastErrorDetail   [private]
 

Returns detailed information about doLoadLibrary() failure.

Called just after a failed call to doLoadLibrary() to get extra error information.

Returns:
Detailed information about the failure of the call to doLoadLibrary() that just failed.

void DynamicLibraryManager::loadLibrary const std::string &    libraryName [private]
 

Loads the specified library.

Parameters:
libraryName  Name of the library to load.
Exceptions:
DynamicLibraryManagerException  if a failure occurs while loading the library (fail to found or load the library).

void DynamicLibraryManager::operator= const DynamicLibraryManager &    copy [private]
 

Prevents the use of the copy operator.

void DynamicLibraryManager::releaseLibrary   [private]
 

Releases the loaded library.

Warning:
Must NOT throw any exceptions (called from destructor).


Member Data Documentation

LibraryHandle DynamicLibraryManager::m_libraryHandle [private]
 

std::string DynamicLibraryManager::m_libraryName [private]
 


The documentation for this class was generated from the following files:
SourceForge Logo hosts this site. Send comments to:
CppUnit Developers