openscenegraph
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
osgDB::DynamicLibrary Class Reference
Inheritance diagram for osgDB::DynamicLibrary:
osg::Referenced

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 &)
 
Referencedoperator= (const Referenced &)
 
virtual void setThreadSafeRefUnref (bool threadSafe)
 
bool getThreadSafeRefUnref () const
 
OpenThreads::MutexgetRefMutex () const
 
int ref () const
 
int unref () const
 
int unref_nodelete () const
 
int referenceCount () const
 
ObserverSetgetObserverSet () const
 
ObserverSetgetOrCreateObserverSet () const
 
void addObserver (Observer *observer) const
 
void removeObserver (Observer *observer) const
 

Static Public Member Functions

static DynamicLibraryloadLibrary (const std::string &libraryName)
 
- Static Public Member Functions inherited from osg::Referenced
static OpenThreads::MutexgetGlobalReferencedMutex ()
 
static void setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting)
 
static bool getThreadSafeReferenceCounting ()
 
static void setDeleteHandler (DeleteHandler *handler)
 
static DeleteHandlergetDeleteHandler ()
 

Protected Member Functions

 DynamicLibrary ()
 
 DynamicLibrary (const DynamicLibrary &)
 
DynamicLibraryoperator= (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

§ PROC_ADDRESS

Constructor & Destructor Documentation

§ DynamicLibrary() [1/3]

osgDB::DynamicLibrary::DynamicLibrary ( )
inlineprotected

disallow default constructor.

§ DynamicLibrary() [2/3]

osgDB::DynamicLibrary::DynamicLibrary ( const DynamicLibrary )
inlineprotected

disallow copy constructor.

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

§ getHandle()

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

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

§ getLibraryHandle()

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

get handle to library file

§ getName()

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

return name of library stripped of path.

§ getProcAddress()

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

return address of function located in library.

§ loadLibrary()

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.

§ operator=()

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

disallow copy operator.

Member Data Documentation

§ _fullName

std::string osgDB::DynamicLibrary::_fullName
protected

§ _handle

HANDLE osgDB::DynamicLibrary::_handle
protected

§ _name

std::string osgDB::DynamicLibrary::_name
protected

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