7 #ifndef __core_Tracker_h__ 8 #define __core_Tracker_h__ 31 void suppress(
void *pPtr);
33 void acquire(
void *pPtr,
String name,U32 newcount)
34 { change(FALSE,pPtr,name,newcount); }
35 void release(
void *pPtr,
String name,U32 newcount)
36 { change(TRUE,pPtr,name,newcount); }
38 void addReference(
void* pPtr,
void* pReference,
40 { changeReference(FALSE,pPtr,pReference,what); }
41 void removeReference(
void* pPtr,
void* pReference)
42 { changeReference(TRUE,pPtr,pReference,
50 void registerRegion(
void* pPtr,
void* pT,U32 bytes,
52 void deregisterRegion(
void* pPtr);
57 U32 totalCount(
void)
const;
61 class FE_DL_PUBLIC Track
69 m_referencesFound(0) {}
75 U32 m_referencesFound;
77 std::map<void*,String> m_references;
80 void change(BWORD release,
void *pPtr,
82 void changeReference(BWORD
remove,
void* pPtr,
83 void* pReference,
String what);
84 String reportAt(std::map<void*,Track>::const_iterator it,
85 std::map<void*,Track>::const_iterator
86 itRoot,U32 depth,BWORD& rCycled)
const;
88 std::map<void*,Track> m_trackMap;
Object level locking for thread safety.
Definition: Safe.h:216
kernel
Definition: namespace.dox:3
Watches the usage of reference counted objects.
Definition: Tracker.h:25
Automatically reference-counted string container.
Definition: String.h:128