Archon::Utilities::BackRefObjectBase Struct Reference

Base class for objects supporting both forward and backward references to it. More...

#include <archon/util/ref.H>

Inheritance diagram for Archon::Utilities::BackRefObjectBase:

Inheritance graph
[legend]
Collaboration diagram for Archon::Utilities::BackRefObjectBase:

Collaboration graph
[legend]
List of all members.

Public Member Functions

unsigned long getBackUseCount () const

Protected Member Functions

 BackRefObjectBase ()
virtual void refDispose (Mutex::Lock &)
virtual void refForwardDestroy ()=0
 This method is called just before the forward reference count drops to zero.
unsigned long getBackUseCountNoLock () const

Detailed Description

Base class for objects supporting both forward and backward references to it.

See also:
BackRef

RefObjectBase

Definition at line 695 of file ref.H.


Member Function Documentation

virtual void Archon::Utilities::BackRefObjectBase::refForwardDestroy  )  [protected, pure virtual]
 

This method is called just before the forward reference count drops to zero.

The purpose of this method is to take appropriate measures to ensure that all back references to this object held by other objects and or threads will eventually be destroyed. This normally involves two things: Clearing all forward references held by this object to objects that directly or indirectly hold back references to this object, and to send asynchronious termination requests to all threads that hold back references to this object (except if the thread is known to complete relativly fast without being terminated).

It is your responsibility to implement this method in such a way that it does not lead to creation of new forward references to this object.

You may safely assume that no other than the calling thread will access the object from the point in time where this method is called.

Implemented in Archon::X3D::SubSceneNode, and Archon::X3D::NodeBase.


The documentation for this struct was generated from the following file:
Generated on Sun Jul 30 22:57:53 2006 for Archon by  doxygen 1.4.4