#pragma once
|
|
|
|
|
#include "akCoreLinker.h"
|
#include <queue>
|
#include <windows.h>
|
#include "akSTL/akQueueCircle.h"
|
|
class AKCORE_DLLSPEC CakTrace
|
{
|
public:
|
CakTrace(void);
|
virtual ~CakTrace(void);
|
|
enum Mode
|
{
|
TM_MEMORY = 0,
|
TM_FILE,
|
TM_BOTHMEMFILE
|
};
|
//0Àº ¸Þ¸ð¸®¿¡ µ¥ÀÌÅÍ °ü¸® ÇÏ´Â ¸ðµå, 1Àº ÆÄÀÏ¿¡ µ¥ÀÌÅ͸¦ °ü¸® ÇÏ´Â ¸ðµå, 2´Â µÑ´Ù
|
virtual void setMode(Mode nMode);
|
|
//TRACE
|
virtual void setTrace(char* format, ...);
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
//ÆÄÀϸðµå Àϰæ¿ì »ç¿ë ÇÔ¼ö
|
//////////////////////////////////////////////////////////////////////////
|
|
//ÀúÀåÇÒ ÆÄÀÏ À̸§ ÁöÁ¤
|
bool setTraceFileName(char* filename, bool bClear = true);
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
//¸Þ¸ð¸® ¸ðµå Àϰæ¿ì »ç¿ë ÇÔ¼ö
|
//////////////////////////////////////////////////////////////////////////
|
//ÀúÀå°ø°£ ÃʱâÈ
|
void clear();
|
//µ¥ÀÌÅÍ °¹¼ö ȹµæ
|
int getTraceNum();
|
//ÀúÀåµÈ µ¥ÀÌÅÍ È¹µæ
|
char* getTraceFront();
|
//Á© ¾Õ¿¡ µ¥ÀÌÅ͸¦ ȹµæÇÏ°í »èÁ¦
|
void getTracePop(char* pBuffer);
|
//¸Þ¸ð¸®¿¡ ÀÖ´Â µ¥ÀÌÅ͸¦ ÆÄÀÏ·Î ÀúÀå
|
void setWriteFile(char* filename, bool bAdd = true);
|
|
|
|
|
protected:
|
Mode m_nMode;
|
|
std::queue<char*> m_vecTraceData;
|
char* m_pTraceFileName;
|
CRITICAL_SECTION m_csTrace;
|
FILE* m_pf;
|
};
|