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

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

◆ 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: