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:

Inheritance graph
[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 DynamicLibraryloadLibrary (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.
DynamicLibraryoperator= (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.

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.

osgDB::DynamicLibrary::~DynamicLibrary (  )  [protected]


Member Function Documentation

static 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.

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

return name of library stripped of path.

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.

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

return address of function located in library.

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

get handle to library file

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

disallow copy operator.


Member Data Documentation

HANDLE osgDB::DynamicLibrary::_handle [protected]

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

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


The documentation for this class was generated from the following file:
Generated at Sun Oct 14 02:12:20 2007 for the OpenSceneGraph by doxygen 1.5.3.