Counter Strike : Global Offensive Source Code
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose: CValObject is used for tracking individual objects that report
// in to CValidator. Whenever a new object reports in (via CValidator::Push),
// we create a new CValObject to aggregate stats for it.
//
// $NoKeywords: $
//=============================================================================//
#ifndef VALOBJECT_H
#define VALOBJECT_H
#ifdef _WIN32
#pragma once
#endif
#ifdef DBGFLAG_VALIDATE
class CValObject { public: // Constructors & destructors
CValObject( void ) { }; ~CValObject( void );
void Init( tchar *pchType, void *pvObj, tchar *pchName, CValObject *pValObjectParent, CValObject *pValObjectPrev );
// Our object has claimed ownership of a memory block
void ClaimMemoryBlock( void *pvMem );
// A child of ours has claimed ownership of a memory block
void ClaimChildMemoryBlock( int cubUser );
// Accessors
tchar *PchType( void ) { return m_rgchType; }; void *PvObj( void ) { return m_pvObj; }; tchar *PchName( void ) { return m_rgchName; }; CValObject *PValObjectParent( void ) { return m_pValObjectParent; }; int NLevel( void ) { return m_nLevel; }; CValObject *PValObjectNext( void ) { return m_pValObjectNext; }; int CpubMemSelf( void ) { return m_cpubMemSelf; }; int CubMemSelf( void ) { return m_cubMemSelf; }; int CpubMemTree( void ) { return m_cpubMemTree; }; int CubMemTree( void ) { return m_cubMemTree; }; int NUser( void ) { return m_nUser; }; void SetNUser( int nUser ) { m_nUser = nUser; }; void SetBNewSinceSnapshot( bool bNewSinceSnapshot ) { m_bNewSinceSnapshot = bNewSinceSnapshot; } bool BNewSinceSnapshot( void ) { return m_bNewSinceSnapshot; }
private: bool m_bNewSinceSnapshot; // If this block is new since the snapshot.
tchar m_rgchType[64]; // Type of the object we represent
tchar m_rgchName[64]; // Name of this particular object
void *m_pvObj; // Pointer to the object we represent
CValObject *m_pValObjectParent; // Our parent object in the tree.
int m_nLevel; // Our depth in the tree
CValObject *m_pValObjectNext; // Next ValObject in the linked list
int m_cpubMemSelf; // # of memory blocks we own directly
int m_cubMemSelf; // Total size of the memory blocks we own directly
int m_cpubMemTree; // # of memory blocks owned by us and our children
int m_cubMemTree; // Total size of the memory blocks owned by us and our children
int m_nUser; // Field provided for use by our users
}; #endif // DBGFLAG_VALIDATE
#endif // VALOBJECT_H
|