OpenSceneGraph 3.6.5
|
Class used by osg::Referenced to track the observers associated with it. More...
#include <Observer>
Public Types | |
typedef std::set< Observer * > | Observers |
Public Member Functions | |
ObserverSet (const Referenced *observedObject) | |
Referenced * | getObserverdObject () |
const Referenced * | getObserverdObject () const |
Referenced * | addRefLock () |
"Lock" a Referenced object i.e., protect it from being deleted by incrementing its reference count. | |
OpenThreads::Mutex * | getObserverSetMutex () const |
void | addObserver (Observer *observer) |
void | removeObserver (Observer *observer) |
void | signalObjectDeleted (void *ptr) |
Observers & | getObservers () |
const Observers & | getObservers () const |
Public Member Functions inherited from osg::Referenced | |
Referenced () | |
Referenced (bool threadSafeRefUnref) | |
Deprecated, Referenced is now always uses thread safe ref/unref, use default Referenced() constructor instead. | |
Referenced (const Referenced &) | |
Referenced & | operator= (const Referenced &) |
virtual void | setThreadSafeRefUnref (bool) |
Deprecated, Referenced is always theadsafe so there method now has no effect and does not need to be called. | |
bool | getThreadSafeRefUnref () const |
Get whether a mutex is used to ensure ref() and unref() are thread safe. | |
OpenThreads::Mutex * | getRefMutex () const |
Get the mutex used to ensure thread safety of ref()/unref(). | |
int | ref () const |
Increment the reference count by one, indicating that this object has another pointer which is referencing it. | |
int | unref () const |
Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. | |
int | unref_nodelete () const |
Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. | |
int | referenceCount () const |
Return the number of pointers currently referencing this object. | |
ObserverSet * | getObserverSet () const |
Get the ObserverSet if one is attached, otherwise return NULL. | |
ObserverSet * | getOrCreateObserverSet () const |
Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet. | |
void | addObserver (Observer *observer) const |
Add a Observer that is observing this object, notify the Observer when this object gets deleted. | |
void | removeObserver (Observer *observer) const |
Remove Observer that is observing this object. |
Protected Member Functions | |
ObserverSet (const ObserverSet &rhs) | |
ObserverSet & | operator= (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::Mutex * | getGlobalReferencedMutex () |
Get the optional global Referenced mutex, this can be shared between all osg::Referenced. | |
static void | setDeleteHandler (DeleteHandler *handler) |
Set a DeleteHandler to which deletion of all referenced counted objects will be delegated. | |
static DeleteHandler * | getDeleteHandler () |
Get a DeleteHandler. |
Class used by osg::Referenced to track the observers associated with it.
typedef std::set<Observer*> osg::ObserverSet::Observers |
osg::ObserverSet::ObserverSet | ( | const Referenced * | observedObject | ) |
References osg::Referenced::Referenced().
Referenced by ObserverSet(), and operator=().
|
inlineprotected |
References ObserverSet(), and osg::Referenced::Referenced().
|
protectedvirtual |
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.
References osg::Referenced::Referenced().
|
inline |
References _observedObject, and osg::Referenced::Referenced().
|
inline |
References _observedObject, and osg::Referenced::Referenced().
|
inline |
References _observers.
|
inline |
References _observers.
|
inline |
References _mutex.
|
inlineprotected |
References ObserverSet().
void osg::ObserverSet::removeObserver | ( | Observer * | observer | ) |
void osg::ObserverSet::signalObjectDeleted | ( | void * | ptr | ) |
|
mutableprotected |
Referenced by getObserverSetMutex().
|
protected |
Referenced by getObserverdObject(), and getObserverdObject().
|
protected |
Referenced by getObservers(), and getObservers().
![]() | Generated at Sun Jul 20 2025 00:00:00 for the OpenSceneGraph by doxygen 1.14.0. |