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


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. More... | |
| 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 (bool threadSafeRefUnref) | |
| Referenced (const Referenced &) | |
| Referenced & | operator= (const Referenced &) |
| virtual void | setThreadSafeRefUnref (bool threadSafe) |
| Set whether to use a mutex to ensure ref() and unref() are thread safe. More... | |
| bool | getThreadSafeRefUnref () const |
| Get whether a mutex is used to ensure ref() and unref() are thread safe. More... | |
| bool | getThreadSafeRefUnref () const |
| OpenThreads::Mutex * | getRefMutex () const |
| Get the mutex used to ensure thread safety of ref()/unref(). More... | |
| OpenThreads::Mutex * | getRefMutex () const |
| int | ref () const |
| Increment the reference count by one, indicating that this object has another pointer which is referencing it. More... | |
| int | unref () const |
| Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More... | |
| int | unref_nodelete () const |
| Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More... | |
| int | referenceCount () const |
| Return the number of pointers currently referencing this object. More... | |
| ObserverSet * | getObserverSet () const |
| Get the ObserverSet if one is attached, otherwise return NULL. More... | |
| ObserverSet * | getOrCreateObserverSet () const |
| Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet. More... | |
| void | addObserver (Observer *observer) const |
| Add a Observer that is observing this object, notify the Observer when this object gets deleted. More... | |
| void | removeObserver (Observer *observer) const |
| Remove Observer that is observing this object. More... | |
Protected Member Functions | |
| ObserverSet (const ObserverSet &rhs) | |
| ObserverSet & | operator= (const ObserverSet &) |
Protected Member Functions inherited from osg::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 |
| OpenThreads::Mutex * | _refMutex |
| int | _refCount |
| void * | _observerSet |
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. More... | |
| static void | setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting) |
| Set whether reference counting should use a mutex for thread safe reference counting. More... | |
| static bool | getThreadSafeReferenceCounting () |
| Get whether reference counting is active. More... | |
| static void | setDeleteHandler (DeleteHandler *handler) |
| Set a DeleteHandler to which deletion of all referenced counted objects will be delegated. More... | |
| static DeleteHandler * | getDeleteHandler () |
| Get a DeleteHandler. More... | |
Class used by osg::Referenced to track the observers associated with it.
| 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.
1.8.13