osgDB::DynamicLibrary Class Reference

`#include <DynamicLibrary>`

Inheritance diagram for osgDB::DynamicLibrary:

## Public Types

typedef void * | HANDLE
typedef void * | PROC_ADDRESS

## Public Member Functions

const std::string & | getName () const
const std::string & | getFullName () const
HANDLE | getHandle () const
PROC_ADDRESS | getProcAddress (const std::string &procName)
Public Member Functions inherited from osg::Referenced
| Referenced ()
| Referenced (bool threadSafeRefUnref)
| Referenced (const Referenced &)
Referenced & | operator= (const Referenced &)
virtual void | setThreadSafeRefUnref (bool)
bool | getThreadSafeRefUnref () const
OpenThreads::Mutex * | getRefMutex () const
int | ref () const
int | unref () const
int | unref_nodelete () const
int | referenceCount () const
ObserverSet * | getObserverSet () const
ObserverSet * | getOrCreateObserverSet () const
void | addObserver (Observer *observer) const
void | removeObserver (Observer *observer) const

## Static Public Member Functions

static DynamicLibrary * | loadLibrary (const std::string &libraryName)
Static Public Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * | getGlobalReferencedMutex ()
static void | setDeleteHandler (DeleteHandler *handler)
static DeleteHandler * | getDeleteHandler ()

## Protected Member Functions

| DynamicLibrary ()
| DynamicLibrary (const DynamicLibrary &)
DynamicLibrary & | operator= (const DynamicLibrary &)
| DynamicLibrary (const std::string &name, HANDLE handle)
| ~DynamicLibrary ()
Protected Member Functions inherited from osg::Referenced
virtual | ~Referenced ()
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const
void | deleteUsingDeleteHandler () const

## Static Protected Member Functions

static HANDLE | getLibraryHandle (const std::string &libraryName)

## Protected Attributes

HANDLE | _handle
std::string | _name
std::string | _fullName
Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr | _observerSet
OpenThreads::Atomic | _refCount

## Detailed Description

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

## Member Typedef Documentation

## HANDLE

typedef void* osgDB::DynamicLibrary::HANDLE

## PROC_ADDRESS

typedef void* osgDB::DynamicLibrary::PROC_ADDRESS

## Constructor & Destructor Documentation

## DynamicLibrary() [1/3]

osgDB::DynamicLibrary::DynamicLibrary | ( |  | ) |

inline protected

disallow default constructor.

References osg::Referenced::Referenced().

Referenced by DynamicLibrary(), loadLibrary(), and operator=().

## DynamicLibrary() [2/3]

osgDB::DynamicLibrary::DynamicLibrary | ( | const DynamicLibrary & |  | ) |

inline protected

disallow copy constructor.

References DynamicLibrary(), and osg::Referenced::Referenced().

## DynamicLibrary() [3/3]

osgDB::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()

osgDB::DynamicLibrary::~DynamicLibrary | ( |  | ) |

protected

## Member Function Documentation

## getFullName()

const std::string & osgDB::DynamicLibrary::getFullName | ( |  | ) | const

inline

return name of library including full path to it.

References _fullName.

## getHandle()

HANDLE osgDB::DynamicLibrary::getHandle | ( |  | ) | const

inline

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

References _handle.

## getLibraryHandle()

HANDLE osgDB::DynamicLibrary::getLibraryHandle | ( | const std::string & | libraryName | ) |

static protected

get handle to library file

## getName()

const std::string & osgDB::DynamicLibrary::getName | ( |  | ) | const

inline

return name of library stripped of path.

References _name.

## getProcAddress()

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

return address of function located in library.

## loadLibrary()

DynamicLibrary * osgDB::DynamicLibrary::loadLibrary | ( | const std::string & | libraryName | ) |

static

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

References DynamicLibrary().

## operator=()

DynamicLibrary & osgDB::DynamicLibrary::operator= | ( | const DynamicLibrary & |  | ) |

inline protected

disallow copy operator.

References DynamicLibrary().

## Member Data Documentation

## _fullName

std::string osgDB::DynamicLibrary::_fullName

protected

Referenced by getFullName().

## _handle

HANDLE osgDB::DynamicLibrary::_handle

protected

Referenced by getHandle().

## _name

std::string osgDB::DynamicLibrary::_name

protected

Referenced by getName().

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

- DynamicLibrary