// LogViewView.h : CLogViewView Ŭ·¡½ºÀÇ ÀÎÅÍÆäÀ̽º // #pragma once #include "afxcmn.h" #include "afxwin.h" #define READ_SHAREDMAP 10 #define SAVE_LOGFILE 20 #define READ_COMMAND 30 #define DELETE_LOG 40 //·Î±× ¸Þ¸ð¸® Pool »çÀÌÁ ÁöÁ¤ÇÕ´Ï´Ù. #define LOG_MEMORY_COUNT 1000 //LOG_MEMORY_SIZEÀÇ °ªÀ» º¯°æÇÒ¶§ MemoryManager.h¿¡ ÀÖ´Â TLOGSIZE °ªµµ º¯°æÇØ¾ß ÇÕ´Ï´Ù. //¸Þ¸ð¸® Pool¿¡ ÀÖ´Â ÇϳªÀÇ ·Î±×ÀÇ Å©±â¸¦ ÁöÁ¤ÇÕ´Ï´Ù. typedef struct _DITSAVEOPTION{ unsigned int nMemoryMapReadDelay; unsigned int nCommandReadDelay; unsigned int nLogSaveDelay; unsigned int nLogSaveLevel; unsigned int nListPrintCount; int nViewLevel; } DITSAVEOPTION,*PDITSAVEOPTION; class CLogManager; class CMemoryManager; class CPathData; class CLogViewView : public CFormView { //SharedMapDll CLogManager* m_pLogManager; //·Î±× ¸Þ¸ð¸® Pool°ú ·Î±× Å¥¸¦ °ü¸®ÇÕ´Ï´Ù. CMemoryManager* m_pMemoryManager[LV_FCOUNT]; CPathData* m_pPathData; //ÇöÀç ·Î±× View°¡ Àоî¿Â À妽º unsigned int m_nIndex; //·Î±× ÀúÀå Áֱ⸦ ´ã°í ÀÖ´Â º¯¼ö unsigned int m_nLogSaveDelay; //¸Þ¸ð¸® ¸Ê ·Îµå Áֱ⸦ ´ã°í ÀÖ´Â º¯¼ö unsigned int m_nMemoryMapReadDelay; //Ä¿¸Çµå ¸Ê ·Îµå Áֱ⸦ ´ã°í ÀÖ´Â º¯¼ö unsigned int m_nCommandReadDelay; //·Î±×ÆÄÀÏ¿¡ ÀúÀåÇÒ ·Î±× Á¦ÇÑ ·¹º§À» ´ã°í ÀÖ´Â º¯¼ö unsigned int m_nLogSaveLevel; //LogView Áߺ¹ ½ÇÇàÀ» üũÇÒ À̺¥Æ® °´Ã¼ //ÇÁ·Î¼¼½º ID¸¦ ¾ò¾î¿Ã¶§ »ç¿ëÇÕ´Ï´Ù. HANDLE m_hDupCheck; //ŸÀÌ¸Ó Áֱ⠺¯°æ½Ã º¸È£ flag bool m_bKillTimer; //·Î±× ¸®½ºÆ® ÀÚµ¿ ½ºÅ©·Ñ üũ º¯¼ö BOOL m_bAutoScroll; //·Î±× ¸®½ºÆ®¿¡ Ãâ·ÂÇÒ Á¦ÇÑ ·¹º§ int m_nViewLevel; //·Î±× ¸®½ºÆ® Á¦ÇÑ ·¹º§À» ÄÁÆ®·Ñ ÇÏ´Â ÄÞº¸¹Ú½º CComboBox m_ComboViewLevel; //·Î±×¸¦ Ãâ·ÂÇÏ´Â ¸®½ºÆ® ÄÁÆ®·Ñ CListCtrl m_ListLogViewer; //ÇöÀç µ¿ÀÛÇÏ´Â ÇÁ·Î¼¼½º ¾ÆÀ̵ð unsigned int m_nProcessID; CString m_strDefaultPath; CString m_strMemoryMap; protected: // serialization¿¡¼­¸¸ ¸¸µé¾îÁý´Ï´Ù. CLogViewView(); DECLARE_DYNCREATE(CLogViewView) public: enum{ IDD = IDD_LOGVIEW_FORM }; // Ư¼ºÀÔ´Ï´Ù. public: CLogViewDoc* GetDocument() const; // ÀÛ¾÷ÀÔ´Ï´Ù. public: // ÀçÁ¤ÀÇÀÔ´Ï´Ù. public: virtual BOOL PreCreateWindow(CREATESTRUCT& cs); protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV Áö¿øÀÔ´Ï´Ù. virtual void OnInitialUpdate(); // »ý¼º ÈÄ Ã³À½ È£ÃâµÇ¾ú½À´Ï´Ù. // ±¸ÇöÀÔ´Ï´Ù. public: virtual ~CLogViewView(); #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif protected: // »ý¼ºµÈ ¸Þ½ÃÁö ¸Ê ÇÔ¼ö protected: DECLARE_MESSAGE_MAP() public: afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnDestroy(); afx_msg void OnTimer(UINT_PTR nIDEvent); //¸Þ¸ð¸® ¸Ê¿¡ ÀÖ´Â ³»¿ëÀ» Àоî¿Â´Ù. void ReadSharedMemoryMap(void); //·Î±× Å¥¿¡ ÀÖ´Â ³»¿ëÀ» ÆÄÀÏ·Î ÀúÀåÇÑ´Ù. void SaveLogFile(void); //ÁÖ±âÀûÀ¸·Î Ä¿¸Çµå°¡ ÀÖ´ÂÁö È®ÀÎÇÑ´Ù. void ReadCommand(void); //½ÇÇàµÇ°í ÀÖ´Â ÆÄÀÏÀÇ À§Ä¡¸¦ ¾ò¾î¿Â´Ù. void GetModulePath(CString &Temp); afx_msg void OnBnClickedCheckAutoscroll(); afx_msg void OnCbnSelchangeComboViewlevel(); afx_msg void OnOptionLogsave(); //¼³Á¤µÈ ȯ°æÀ» Àоî¿Â´Ù. void ReadINIFile(void); //¼³Á¤µÈ °ªÀ» INIÆÄÀÏ¿¡ ÀúÀåÇÑ´Ù. void SaveINIFile(void); //¸®½ºÆ®¿¡ Ãâ·ÂÇÒ Ä«¿îÆ® º¯¼ö unsigned int m_nListPrintCount; //À̺¥Æ® °´Ã¼¸¦ ÀÌ¿ëÇÏ¿© Áߺ¹µÇÁö ¾Ê´Â ProcessID¸¦ ¾ò¾î¿Â´Ù. unsigned int GetProcessID(TCHAR* MemoryMapName); afx_msg void OnBnClickedButtonMapsave(); void DeleteLog(void); void GetDeleteDay(SYSTEMTIME& Today, DWORD DiffDay); DWORD SystemToAbsDay(SYSTEMTIME& st); void AbsDayToSystemTime(DWORD AbsDay, SYSTEMTIME& st); afx_msg void OnLogpathsetting(); bool CheckDup(TCHAR* MemoryMapName); int m_nViewLogIndex; afx_msg void OnCbnSelchangeComboLogid(); CComboBox m_ComboViewLogID; int m_ComboViewLastLogID; afx_msg void OnSize(UINT nType, int cx, int cy); }; #ifndef _DEBUG // LogViewView.cppÀÇ µð¹ö±× ¹öÀü inline CLogViewDoc* CLogViewView::GetDocument() const { return reinterpret_cast(m_pDocument); } #endif