CppUnit project page | FAQ | CppUnit home page

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | Private Member Functions | Private Attributes
DynamicLibraryManager Class Reference

Manages dynamic libraries. More...

`#include <DynamicLibraryManager.h>`

List of all members.

## Public Types
typedef void * | Symbol
typedef void * | LibraryHandle
## Public Member Functions
| 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 Member Functions
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 | ( |  | ) | const`[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:

- DynamicLibraryManager.h
- DynamicLibraryManager.cpp

| hosts this site. |  | Send comments to: CppUnit Developers