#pragma once
|
#include <stack>
|
#include <queue>
|
using namespace std;
|
|
//ÇϳªÀÇ ·Î±× ¸Þ¸ð¸® »çÀÌÁ ³ªÅ¸³À´Ï´Ù.
|
#define TLOGSIZE LOG_MEMORY_SIZE+64
|
|
class CMemoryManager
|
{
|
//¸Þ¸ð¸® Pool·Î »ç¿ëÇÒ STL ½ºÅÃ
|
stack<char*> m_MemoryPool;
|
|
//·Î±×¸¦ ÀúÀåÇϰí ÀÖ´Â STL Å¥ = ·Î±× Å¥
|
queue<char*> m_LogQueue;
|
|
int m_nLogID;
|
CString m_strPathName;//[MAX_PATH];
|
CString m_strLogName;//[MAX_PATH];
|
// TCHAR m_TLog[LOG_MEMORY_SIZE];
|
unsigned short m_LogSize;
|
|
CRITICAL_SECTION m_csLogFile;
|
CRITICAL_SECTION m_csMemory;
|
public:
|
CMemoryManager(int MaxCount, int LogSize,int LogID, CString strLogPath, CString strLogName);
|
virtual ~CMemoryManager(void);
|
|
//·Î±×¸¦ ·Î±×Å¥¿¡ ³Ö´Â´Ù.
|
void PushLog(TCHAR* str, unsigned int* curIndex,
|
unsigned int* curLevel,unsigned int* curProcess, PSYSTEMTIME curTime);
|
|
//·Î±× Å¥¿¡ ÀÖ´Â ³»¿ëÀ» ÆÄÀÏ¿¡ ÀúÀåÇϰí
|
//Å¥¿¡ ÀÖ´Â ·Î±× ¸Þ¸ð¸®¸¦ ¸Þ¸ð¸® Pool·Î ¿Å±ä´Ù.
|
void SaveLog();
|
|
//ÇöÀç ½ÇÇàµÇ°í ÀÖ´Â ÆÄÀÏ À§Ä¡¸¦ ¾ò¾î¿Â´Ù.
|
void GetModulePath(void);
|
};
|