00001 /* 00002 Free Download Manager Copyright (c) 2003-2007 FreeDownloadManager.ORG 00003 Open Download Manager Copyright (c) 2008-2010 OpenDownloadManager.ORG 00004 */ 00005 00006 #if !defined(AFX_FSPROGRAMLOGMGR_H__DBE5A2AB_BCCB_4AA0_A615_DED3AD7C078E__INCLUDED_) 00007 #define AFX_FSPROGRAMLOGMGR_H__DBE5A2AB_BCCB_4AA0_A615_DED3AD7C078E__INCLUDED_ 00008 00009 #if _MSC_VER > 1000 00010 #pragma once 00011 #endif 00012 00013 const char* const nl = "\r\n"; 00014 00015 class fsProgramLogMgr 00016 { 00017 public: 00018 fsProgramLogMgr& fsProgramLogMgr::operator <<(UINT64 u); 00019 fsProgramLogMgr& fsProgramLogMgr::operator <<(double d); 00020 fsProgramLogMgr& fsProgramLogMgr::operator <<(DWORD dw); 00021 fsProgramLogMgr& fsProgramLogMgr::operator <<(long i) {return operator << (int (i));}; 00022 fsProgramLogMgr& fsProgramLogMgr::operator <<(int i); 00023 fsProgramLogMgr& fsProgramLogMgr::operator <<(LPCSTR psz); 00024 void AddStringToLog (LPCSTR psz); 00025 BOOL EraseLog(); 00026 BOOL Initialize (LPCSTR pszLogFileName); 00027 00028 void Set_DoLog (BOOL bDo = TRUE); 00029 00030 fsProgramLogMgr(); 00031 virtual ~fsProgramLogMgr(); 00032 00033 protected: 00034 BOOL FlushBuffer(); 00035 fsString m_strLogBuffer; 00036 void UnlockFileOperations(); 00037 void LockFileOperations(); 00038 CRITICAL_SECTION m_csLogFileOp; 00039 HANDLE m_hLogFile; 00040 BOOL m_bDoLog; 00041 }; 00042 00043 #endif
1.5.6