hl2_src-leak-2017/src/engine/traceinit.h

38 lines
1.1 KiB
C

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: Allows matching of initialization and shutdown function calls
//
// $NoKeywords: $
//=============================================================================//
#if !defined( TRACEINIT_H )
#define TRACEINIT_H
#ifdef _WIN32
#pragma once
#endif
void TraceInit( const char *i, const char *s, int list );
#ifdef _XBOX
void TraceInitFinish( const char *i );
#endif
void TraceShutdown( const char *s, int list );
#ifndef _XBOX
#define TRACEINITNUM( initfunc, shutdownfunc, num ) \
TraceInit( #initfunc, #shutdownfunc, num ); \
initfunc;
#else
#define TRACEINITNUM( initfunc, shutdownfunc, num ) \
TraceInit( #initfunc, #shutdownfunc, num ); \
initfunc; \
TraceInitFinish( #initfunc );
#endif
#define TRACESHUTDOWNNUM( shutdownfunc, num ) \
TraceShutdown( #shutdownfunc, num ); \
shutdownfunc;
#define TRACEINIT( initfunc, shutdownfunc ) TRACEINITNUM( initfunc, shutdownfunc, 0 )
#define TRACESHUTDOWN( shutdownfunc ) TRACESHUTDOWNNUM( shutdownfunc, 0 )
#endif // TRACEINIT_H