SDC C-Project CF Review 프로그램
LYW
2021-07-01 4acd943c6f0beecd3ee573f77d8d6c7524fd5045
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#pragma once
 
#include "CHEdgeTriangle/Singleton.h"
 
#define WM_DIPLAY_LOG          WM_USER + 1000
 
interface IDisplayMessage2Parent
{
public:
    virtual void    DM2P_DisplayMessage(const CString& strMessage) = 0;
    virtual void    DM2P_DisplayMessage(const TCHAR* lpstrFormat, ...) = 0;
};
 
DWORD RunThreadDisplayLog(LPVOID param);
 
class CDisplayMessage : public Singleton<CDisplayMessage>
{
public:
    CDisplayMessage(const CString& strPath);
    virtual ~CDisplayMessage(void);
 
public:
    void    SetDM2P(IDisplayMessage2Parent* pDM2P)        { m_pDM2P = pDM2P; }
    void    SetPath(const CString& strPath);
    BOOL    MakeLogFile();
    BOOL    WriteToFile(const CString& strMessage);
    void    DisplayMessage(const CString& strMessage);
    void    DisplayMessage(const TCHAR* lpstrFormat, ...);
    void    ThreadDisplayMessage(const CString & strMessage);
 
public:
    CTime                        m_TimeLogFile;
    CFile*                        m_pFileLog;
    CString                        m_strLogPath;
    CString                        m_strLogFile;
    IDisplayMessage2Parent*        m_pDM2P;
    CRITICAL_SECTION            m_csLog;
    DWORD                        m_ThreadId;
};
 
#define g_pLog    CDisplayMessage::GetSingletonPtr()