openscenegraph
osg::ObserverSet Class Reference

#include <Observer>

Inheritance diagram for osg::ObserverSet:
osg::Referenced

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)
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 setDeleteHandler (DeleteHandler *handler)
static DeleteHandlergetDeleteHandler ()

Detailed Description

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

Member Typedef Documentation

◆ Observers

Constructor & Destructor Documentation

◆ ObserverSet() [1/2]

osg::ObserverSet::ObserverSet ( const Referenced * observedObject)

References osg::Referenced::Referenced().

Referenced by ObserverSet(), and operator=().

◆ ObserverSet() [2/2]

osg::ObserverSet::ObserverSet ( const ObserverSet & rhs)
inlineprotected

◆ ~ObserverSet()

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

Member Function Documentation

◆ addObserver()

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

◆ addRefLock()

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.

References osg::Referenced::Referenced().

◆ getObserverdObject() [1/2]

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

◆ getObserverdObject() [2/2]

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

◆ getObservers() [1/2]

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

References _observers.

◆ getObservers() [2/2]

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

References _observers.

◆ getObserverSetMutex()

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

References _mutex.

◆ operator=()

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

References ObserverSet().

◆ removeObserver()

void osg::ObserverSet::removeObserver ( Observer * observer)

◆ signalObjectDeleted()

void osg::ObserverSet::signalObjectDeleted ( void * ptr)

Member Data Documentation

◆ _mutex

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

Referenced by getObserverSetMutex().

◆ _observedObject

Referenced* osg::ObserverSet::_observedObject
protected

◆ _observers

Observers osg::ObserverSet::_observers
protected

Referenced by getObservers(), and getObservers().


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