OSG  3.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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.h>

Inheritance diagram for osgDB::DynamicLibrary:
Inheritance graph
[legend]
Collaboration diagram for osgDB::DynamicLibrary:
Collaboration graph
[legend]

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.

Definition at line 28 of file DynamicLibrary.h.

Member Typedef Documentation

Definition at line 32 of file DynamicLibrary.h.

Definition at line 33 of file DynamicLibrary.h.

Constructor & Destructor Documentation

osgDB::DynamicLibrary::DynamicLibrary ( )
inlineprotected

disallow default constructor.

Definition at line 58 of file DynamicLibrary.h.

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

disallow copy constructor.

Definition at line 60 of file DynamicLibrary.h.

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

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

return name of library including full path to it.

Definition at line 44 of file DynamicLibrary.h.

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

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

Definition at line 47 of file DynamicLibrary.h.

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

get handle to library file

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

return name of library stripped of path.

Definition at line 41 of file DynamicLibrary.h.

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

return address of function located in library.

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.

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

disallow copy operator.

Definition at line 62 of file DynamicLibrary.h.

Member Data Documentation

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

Definition at line 73 of file DynamicLibrary.h.

HANDLE osgDB::DynamicLibrary::_handle
protected

Definition at line 71 of file DynamicLibrary.h.

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

Definition at line 72 of file DynamicLibrary.h.


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