OSG  3.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
osg::ObserverSet Class Reference

#include <Observer.h>

Inheritance diagram for osg::ObserverSet:
Inheritance graph
[legend]
Collaboration diagram for osg::ObserverSet:
Collaboration graph
[legend]

Public Types

typedef std::set< Observer * > Observers
 

Public Member Functions

 ObserverSet (const Referenced *observedObject)
 
ReferencedgetObserverdObject ()
 
const ReferencedgetObserverdObject () const
 
ReferencedaddRefLock ()
 
OpenThreads::MutexgetObserverSetMutex () const
 
void addObserver (Observer *observer)
 
void removeObserver (Observer *observer)
 
void signalObjectDeleted (void *ptr)
 
ObserversgetObservers ()
 
const ObserversgetObservers () const
 
- 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
 

Protected Member Functions

 ObserverSet (const ObserverSet &rhs)
 
ObserverSetoperator= (const ObserverSet &)
 
virtual ~ObserverSet ()
 
- Protected Member Functions inherited from osg::Referenced
virtual ~Referenced ()
 
void signalObserversAndDelete (bool signalDelete, bool doDelete) const
 
void deleteUsingDeleteHandler () const
 

Protected Attributes

OpenThreads::Mutex _mutex
 
Referenced_observedObject
 
Observers _observers
 
- Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr _observerSet
 
OpenThreads::Atomic _refCount
 

Additional Inherited Members

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

Detailed Description

Class used by osg::Referenced to track the observers associated with it.

Definition at line 38 of file Observer.h.

Member Typedef Documentation

Definition at line 60 of file Observer.h.

Constructor & Destructor Documentation

osg::ObserverSet::ObserverSet ( const Referenced observedObject)
osg::ObserverSet::ObserverSet ( const ObserverSet rhs)
inlineprotected

Definition at line 66 of file Observer.h.

virtual osg::ObserverSet::~ObserverSet ( )
protectedvirtual

Member Function Documentation

void osg::ObserverSet::addObserver ( Observer observer)
Referenced* osg::ObserverSet::addRefLock ( )

"Lock" a Referenced object i.e., protect it from being deleted by incrementing its reference count.

returns null if object doesn't exist anymore.

Referenced* osg::ObserverSet::getObserverdObject ( )
inline

Definition at line 44 of file Observer.h.

const Referenced* osg::ObserverSet::getObserverdObject ( ) const
inline

Definition at line 45 of file Observer.h.

Observers& osg::ObserverSet::getObservers ( )
inline

Definition at line 61 of file Observer.h.

const Observers& osg::ObserverSet::getObservers ( ) const
inline

Definition at line 62 of file Observer.h.

OpenThreads::Mutex* osg::ObserverSet::getObserverSetMutex ( ) const
inline

Definition at line 53 of file Observer.h.

ObserverSet& osg::ObserverSet::operator= ( const ObserverSet )
inlineprotected

Definition at line 67 of file Observer.h.

void osg::ObserverSet::removeObserver ( Observer observer)
void osg::ObserverSet::signalObjectDeleted ( void ptr)

Member Data Documentation

OpenThreads::Mutex osg::ObserverSet::_mutex
mutableprotected

Definition at line 70 of file Observer.h.

Referenced* osg::ObserverSet::_observedObject
protected

Definition at line 71 of file Observer.h.

Observers osg::ObserverSet::_observers
protected

Definition at line 72 of file Observer.h.


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