CrystalSpace

Public API Reference

Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

iRefTracker Struct Reference

The reference tracker interface. More...

#include <reftrack.h>

Inheritance diagram for iRefTracker:

iBase List of all members.

Public Methods

virtual void TrackIncRef (void *object, int refCount)=0
 Called by an object if it has been IncRef()ed.

virtual void TrackDecRef (void *object, int refCount)=0
 Called by an object if it has been DecRef()ed.

virtual void TrackConstruction (void *object)=0
 Called by an object if it constructed.

virtual void TrackDestruction (void *object, int refCount)=0
 Called by an object if it destructed.

virtual void MatchIncRef (void *object, int refCount, void *tag)=0
 Match the most recent IncRef() to a 'tag' so it can be tracked what IncRef()ed a ref.

virtual void MatchDecRef (void *object, int refCount, void *tag)=0
 Match the most recent DecRef() to a 'tag' so it can be tracked what DecRef()ed a ref.

virtual void AddAlias (void *obj, void *mapTo)=0
 Add an alias.

virtual void RemoveAlias (void *obj, void *mapTo)=0
 Remove an alias.


Detailed Description

The reference tracker interface.

Exposed by iSCF::SCF if enabled at compile-time.

Definition at line 29 of file reftrack.h.


Member Function Documentation

virtual void iRefTracker::AddAlias void *    obj,
void *    mapTo
[pure virtual]
 

Add an alias.

Basically says "mapTO is the same as obj." Used for embedded interfaces.

virtual void iRefTracker::MatchDecRef void *    object,
int    refCount,
void *    tag
[pure virtual]
 

Match the most recent DecRef() to a 'tag' so it can be tracked what DecRef()ed a ref.

csRef<>s employ this mechanism and tag DecRef()s with 'this'.

virtual void iRefTracker::MatchIncRef void *    object,
int    refCount,
void *    tag
[pure virtual]
 

Match the most recent IncRef() to a 'tag' so it can be tracked what IncRef()ed a ref.

csRef<>s employ this mechanism and tag IncRef()s with 'this'.

virtual void iRefTracker::RemoveAlias void *    obj,
void *    mapTo
[pure virtual]
 

Remove an alias.

virtual void iRefTracker::TrackConstruction void *    object [pure virtual]
 

Called by an object if it constructed.

virtual void iRefTracker::TrackDecRef void *    object,
int    refCount
[pure virtual]
 

Called by an object if it has been DecRef()ed.

virtual void iRefTracker::TrackDestruction void *    object,
int    refCount
[pure virtual]
 

Called by an object if it destructed.

virtual void iRefTracker::TrackIncRef void *    object,
int    refCount
[pure virtual]
 

Called by an object if it has been IncRef()ed.


The documentation for this struct was generated from the following file:
Generated for Crystal Space by doxygen 1.2.18