Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __CS_IUTIL_REFTRACK_H__
00021 #define __CS_IUTIL_REFTRACK_H__
00022
00031 struct iRefTracker : public virtual iBase
00032 {
00033 SCF_INTERFACE(iRefTracker, 2,0,1);
00035 virtual void TrackIncRef (void* object, int refCount) = 0;
00037 virtual void TrackDecRef (void* object, int refCount) = 0;
00039 virtual void TrackConstruction (void* object) = 0;
00041 virtual void TrackDestruction (void* object, int refCount) = 0;
00042
00048 virtual void MatchIncRef (void* object, int refCount, void* tag) = 0;
00054 virtual void MatchDecRef (void* object, int refCount, void* tag) = 0;
00055
00060 virtual void AddAlias (void* obj, void* mapTo) = 0;
00064 virtual void RemoveAlias (void* obj, void* mapTo) = 0;
00065
00071 virtual void SetDescription (void* obj, const char* description) = 0;
00078 virtual void SetDescriptionWeak (void* obj, const char* description) = 0;
00079 };
00080
00081 #endif // __CS_IUTIL_REFTRACK_H__