Hex Artifact Content

Not logged in

Artifact 56a918c7773d65a4fd76a5f5ec314e4452979fb5:


0000: 23 69 6e 63 6c 75 64 65 20 22 73 74 64 61 66 78  #include "stdafx
0010: 2e 68 22 0d 0a 23 69 6e 63 6c 75 64 65 20 22 6c  .h"..#include "l
0020: 6f 67 2e 68 22 0d 0a 23 69 6e 63 6c 75 64 65 20  og.h"..#include 
0030: 22 61 70 70 2e 68 22 0d 0a 23 69 6e 63 6c 75 64  "app.h"..#includ
0040: 65 20 22 73 74 72 69 6e 67 2e 68 22 0d 0a 75 73  e "string.h"..us
0050: 69 6e 67 20 6e 61 6d 65 73 70 61 63 65 20 6b 69  ing namespace ki
0060: 3b 0d 0a 0d 0a 0d 0a 0d 0a 2f 2f 3d 3d 3d 3d 3d  ;........//=====
0070: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0080: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0090: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
00a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
00b0: 3d 3d 3d 3d 0d 0a 0d 0a 76 6f 69 64 20 4c 6f 67  ====....void Log
00c0: 67 65 72 3a 3a 57 72 69 74 65 4c 69 6e 65 28 20  ger::WriteLine( 
00d0: 63 6f 6e 73 74 20 53 74 72 69 6e 67 26 20 73 74  const String& st
00e0: 72 20 29 0d 0a 7b 0d 0a 09 57 72 69 74 65 4c 69  r )..{...WriteLi
00f0: 6e 65 28 20 73 74 72 2e 63 5f 73 74 72 28 29 2c  ne( str.c_str(),
0100: 20 73 74 72 2e 6c 65 6e 28 29 2a 73 69 7a 65 6f   str.len()*sizeo
0110: 66 28 54 43 48 41 52 29 20 29 3b 0d 0a 7d 0d 0a  f(TCHAR) );..}..
0120: 0d 0a 76 6f 69 64 20 4c 6f 67 67 65 72 3a 3a 57  ..void Logger::W
0130: 72 69 74 65 4c 69 6e 65 28 20 63 6f 6e 73 74 20  riteLine( const 
0140: 54 43 48 41 52 2a 20 73 74 72 20 29 0d 0a 7b 0d  TCHAR* str )..{.
0150: 0a 09 57 72 69 74 65 4c 69 6e 65 28 20 73 74 72  ..WriteLine( str
0160: 2c 20 3a 3a 6c 73 74 72 6c 65 6e 28 73 74 72 29  , ::lstrlen(str)
0170: 2a 73 69 7a 65 6f 66 28 54 43 48 41 52 29 20 29  *sizeof(TCHAR) )
0180: 3b 0d 0a 7d 0d 0a 0d 0a 76 6f 69 64 20 4c 6f 67  ;..}....void Log
0190: 67 65 72 3a 3a 57 72 69 74 65 4c 69 6e 65 28 20  ger::WriteLine( 
01a0: 63 6f 6e 73 74 20 54 43 48 41 52 2a 20 73 74 72  const TCHAR* str
01b0: 2c 20 69 6e 74 20 73 69 7a 20 29 0d 0a 7b 0d 0a  , int siz )..{..
01c0: 23 69 66 64 65 66 20 44 4f 5f 4c 4f 47 47 49 4e  #ifdef DO_LOGGIN
01d0: 47 0d 0a 09 2f 2f 20 46 69 6c 65 83 4e 83 89 83  G...// File.N...
01e0: 58 8e a9 91 cc 82 cc 83 66 83 6f 83 62 83 4f 82  X.......f.o.b.O.
01f0: c9 8e 67 82 a4 82 a9 82 e0 82 b5 82 ea 82 c8 82  ..g.............
0200: a2 82 cc 82 c5 81 41 0d 0a 09 2f 2f 20 46 69 6c  ......A...// Fil
0210: 65 83 4e 83 89 83 58 82 f0 8e 67 97 70 82 b7 82  e.N...X...g.p...
0220: e9 82 b1 82 c6 82 cd 8f 6f 97 88 82 c8 82 a2 81  ........o.......
0230: 42 41 50 49 92 bc 92 40 82 ab 0d 0a 09 73 74 61  BAPI...@.....sta
0240: 74 69 63 20 62 6f 6f 6c 20 73 74 5f 66 69 72 73  tic bool st_firs
0250: 74 74 69 6d 65 20 3d 20 74 72 75 65 3b 0d 0a 09  ttime = true;...
0260: 44 57 4f 52 44 20 64 75 6d 6d 79 3b 0d 0a 0d 0a  DWORD dummy;....
0270: 09 2f 2f 20 83 74 83 40 83 43 83 8b 96 bc 0d 0a  .// .t.@.C......
0280: 09 54 43 48 41 52 20 66 6e 61 6d 65 5b 4d 41 58  .TCHAR fname[MAX
0290: 5f 50 41 54 48 5d 3b 0d 0a 09 3a 3a 47 65 74 4d  _PATH];...::GetM
02a0: 6f 64 75 6c 65 46 69 6c 65 4e 61 6d 65 28 20 3a  oduleFileName( :
02b0: 3a 47 65 74 4d 6f 64 75 6c 65 48 61 6e 64 6c 65  :GetModuleHandle
02c0: 28 4e 55 4c 4c 29 2c 20 66 6e 61 6d 65 2c 20 63  (NULL), fname, c
02d0: 6f 75 6e 74 6f 66 28 66 6e 61 6d 65 29 20 29 3b  ountof(fname) );
02e0: 0d 0a 09 3a 3a 6c 73 74 72 63 61 74 28 20 66 6e  ...::lstrcat( fn
02f0: 61 6d 65 2c 20 54 45 58 54 28 22 5f 6c 6f 67 22  ame, TEXT("_log"
0300: 29 20 29 3b 0d 0a 0d 0a 09 2f 2f 20 83 74 83 40  ) );.....// .t.@
0310: 83 43 83 8b 82 f0 8f 91 82 ab 8d 9e 82 dd 90 ea  .C..............
0320: 97 70 82 c5 8a 4a 82 ad 0d 0a 09 48 41 4e 44 4c  .p...J.....HANDL
0330: 45 20 68 20 3d 20 3a 3a 43 72 65 61 74 65 46 69  E h = ::CreateFi
0340: 6c 65 28 20 66 6e 61 6d 65 2c 0d 0a 09 09 47 45  le( fname,....GE
0350: 4e 45 52 49 43 5f 57 52 49 54 45 2c 20 46 49 4c  NERIC_WRITE, FIL
0360: 45 5f 53 48 41 52 45 5f 52 45 41 44 2c 20 4e 55  E_SHARE_READ, NU
0370: 4c 4c 2c 20 4f 50 45 4e 5f 41 4c 57 41 59 53 2c  LL, OPEN_ALWAYS,
0380: 0d 0a 09 09 46 49 4c 45 5f 41 54 54 52 49 42 55  ....FILE_ATTRIBU
0390: 54 45 5f 4e 4f 52 4d 41 4c 20 7c 20 46 49 4c 45  TE_NORMAL | FILE
03a0: 5f 46 4c 41 47 5f 53 45 51 55 45 4e 54 49 41 4c  _FLAG_SEQUENTIAL
03b0: 5f 53 43 41 4e 2c 20 4e 55 4c 4c 20 29 3b 0d 0a  _SCAN, NULL );..
03c0: 09 69 66 28 20 68 20 3d 3d 20 49 4e 56 41 4c 49  .if( h == INVALI
03d0: 44 5f 48 41 4e 44 4c 45 5f 56 41 4c 55 45 20 29  D_HANDLE_VALUE )
03e0: 0d 0a 09 09 72 65 74 75 72 6e 3b 0d 0a 0d 0a 09  ....return;.....
03f0: 2f 2f 20 8f 89 89 f1 8c c0 92 e8 8f 88 97 9d 0d  // .............
0400: 0a 09 69 66 28 20 73 74 5f 66 69 72 73 74 74 69  ..if( st_firstti
0410: 6d 65 20 29 0d 0a 09 7b 0d 0a 09 09 3a 3a 53 65  me )...{....::Se
0420: 74 45 6e 64 4f 66 46 69 6c 65 28 20 68 20 29 3b  tEndOfFile( h );
0430: 0d 0a 09 09 23 69 66 64 65 66 20 5f 55 4e 49 43  ....#ifdef _UNIC
0440: 4f 44 45 0d 0a 09 09 09 3a 3a 57 72 69 74 65 46  ODE.....::WriteF
0450: 69 6c 65 28 20 68 2c 20 22 5c 78 66 66 5c 78 66  ile( h, "\xff\xf
0460: 65 22 2c 20 32 2c 20 26 64 75 6d 6d 79 2c 20 4e  e", 2, &dummy, N
0470: 55 4c 4c 20 29 3b 0d 0a 09 09 23 65 6e 64 69 66  ULL );....#endif
0480: 0d 0a 09 09 73 74 5f 66 69 72 73 74 74 69 6d 65  ....st_firsttime
0490: 20 3d 20 66 61 6c 73 65 3b 0d 0a 09 7d 0d 0a 09   = false;...}...
04a0: 65 6c 73 65 0d 0a 09 7b 0d 0a 09 09 3a 3a 53 65  else...{....::Se
04b0: 74 46 69 6c 65 50 6f 69 6e 74 65 72 28 20 68 2c  tFilePointer( h,
04c0: 20 30 2c 20 4e 55 4c 4c 2c 20 46 49 4c 45 5f 45   0, NULL, FILE_E
04d0: 4e 44 20 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 2f 2f  ND );...}.....//
04e0: 20 8f 91 82 ad 0d 0a 09 3a 3a 57 72 69 74 65 46   .......::WriteF
04f0: 69 6c 65 28 20 68 2c 20 73 74 72 2c 20 73 69 7a  ile( h, str, siz
0500: 2c 20 26 64 75 6d 6d 79 2c 20 4e 55 4c 4c 20 29  , &dummy, NULL )
0510: 3b 0d 0a 09 3a 3a 57 72 69 74 65 46 69 6c 65 28  ;...::WriteFile(
0520: 20 68 2c 20 54 45 58 54 28 22 5c 72 5c 6e 22 29   h, TEXT("\r\n")
0530: 2c 20 73 69 7a 65 6f 66 28 54 45 58 54 28 22 5c  , sizeof(TEXT("\
0540: 72 22 29 29 2c 20 26 64 75 6d 6d 79 2c 20 4e 55  r")), &dummy, NU
0550: 4c 4c 20 29 3b 0d 0a 0d 0a 09 2f 2f 20 95 c2 82  LL );.....// ...
0560: b6 82 e9 0d 0a 09 3a 3a 43 6c 6f 73 65 48 61 6e  ......::CloseHan
0570: 64 6c 65 28 20 68 20 29 3b 0d 0a 0d 0a 23 65 6e  dle( h );....#en
0580: 64 69 66 0d 0a 7d 0d 0a                          dif..}..