openscenegraph
osgDB::DynamicLibrary Class Reference

#include <DynamicLibrary>

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

References osg::Referenced::Referenced().

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

◆ DynamicLibrary() [2/3]

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

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)
staticprotected

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 & )
inlineprotected

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: