# osgDB::DynamicLibrary Class Reference

DynamicLibrary - encapsulates the loading and unloading of dynamic libraries, typically used for loading ReaderWriter plug-ins. More...

Inheritance diagram for osgDB::DynamicLibrary:

[legend]
List of all members.

## Public Types

typedef void * | HANDLE
typedef void * | PROC_ADDRESS

## Public Member Functions

const std::string & | getName () const
| return name of library stripped of path.
const std::string & | getFullName () const
| return name of library including full path to it.
HANDLE | getHandle () const
| return handle to .dso/.dll dynamic library itself.
PROC_ADDRESS | getProcAddress (const std::string &procName)
| return address of function located in library.

## Static Public Member Functions

static DynamicLibrary * | loadLibrary (const std::string &libraryName)
| returns a pointer to a DynamicLibrary object on successfully opening of library returns NULL on failure.

## Protected Member Functions

| DynamicLibrary ()
| disallow default constructor.
| DynamicLibrary (const DynamicLibrary &)
| disallow copy constructor.
DynamicLibrary & | operator= (const DynamicLibrary &)
| disallow copy operator.
| DynamicLibrary (const std::string &name, HANDLE handle)
| Disallow public construction so that users have to go through loadLibrary() above which returns NULL on failure, a valid DynamicLibrary object on success.
| ~DynamicLibrary ()

## Static Protected Member Functions

static HANDLE | getLibraryHandle (const std::string &libraryName)
| get handle to library file

## Protected Attributes

HANDLE | _handle
std::string | _name
std::string | _fullName

## Detailed Description

DynamicLibrary - encapsulates the loading and unloading of dynamic libraries, typically used for loading ReaderWriter plug-ins.

## Member Typedef Documentation

typedef void* osgDB::DynamicLibrary::HANDLE

typedef void* osgDB::DynamicLibrary::PROC_ADDRESS

## Constructor & Destructor Documentation

osgDB::DynamicLibrary::DynamicLibrary | ( |  | ) | `[inline, protected]`

| disallow default constructor.

osgDB::DynamicLibrary::DynamicLibrary | ( | const DynamicLibrary & |  | ) | `[inline, protected]`

| disallow copy constructor.

DynamicLibrary::DynamicLibrary | ( | const std::string & | name,
|  | HANDLE | handle
| ) | `[protected]`

| Disallow public construction so that users have to go through loadLibrary() above which returns NULL on failure, a valid DynamicLibrary object on success.

DynamicLibrary::~DynamicLibrary | ( |  | ) | `[protected]`

## Member Function Documentation

const std::string& osgDB::DynamicLibrary::getFullName | ( |  | ) | const`[inline]`

| return name of library including full path to it.

HANDLE osgDB::DynamicLibrary::getHandle | ( |  | ) | const`[inline]`

| return handle to .dso/.dll dynamic library itself.

DynamicLibrary::HANDLE DynamicLibrary::getLibraryHandle | ( | const std::string & | libraryName | ) | `[static, protected]`

| get handle to library file

const std::string& osgDB::DynamicLibrary::getName | ( |  | ) | const`[inline]`

| return name of library stripped of path.

DynamicLibrary::PROC_ADDRESS DynamicLibrary::getProcAddress | ( | const std::string & | procName | ) |

| return address of function located in library.

DynamicLibrary * DynamicLibrary::loadLibrary | ( | const std::string & | libraryName | ) | `[static]`

| returns a pointer to a DynamicLibrary object on successfully opening of library returns NULL on failure.

DynamicLibrary& osgDB::DynamicLibrary::operator= | ( | const DynamicLibrary & |  | ) | `[inline, protected]`

| disallow copy operator.

## Member Data Documentation

std::string osgDB::DynamicLibrary::_fullName `[protected]`

HANDLE osgDB::DynamicLibrary::_handle `[protected]`

std::string osgDB::DynamicLibrary::_name `[protected]`

The documentation for this class was generated from the following files:

- DynamicLibrary
- DynamicLibrary.cpp