SDC C-Project CF Review 프로그램
LYW
2021-07-08 9cbd9e554f9956b3b945b51602f1d4a3fa0353e1
ReviewHistory/include/akSTL/akTrace.h
»õ ÆÄÀÏ
@@ -0,0 +1,61 @@
#pragma once
#include "akLinker.h"
#include <queue>
#include <windows.h>
class akSTL_DLLSPEC CakTrace
{
public:
   CakTrace(void);
   virtual ~CakTrace(void);
   enum Mode
   {
      TM_MEMORY = 0,
      TM_FILE
   };
   //0은 ë©”모리에 ë°ì´í„° ê´€ë¦¬ í•˜ëŠ” ëª¨ë“œ, 1은 íŒŒì¼ì— ë°ì´í„°ë¥¼ ê´€ë¦¬ í•˜ëŠ” ëª¨ë“œ
   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:
   std::queue<char*> m_vecTraceData;
   char* m_pTraceFileName;
   Mode m_nMode;
   CRITICAL_SECTION   m_csTrace;
   FILE* m_pf;
};