Hex Artifact Content

Not logged in

Artifact 3273f24ee839c5056b9d40f1cabdedbfa084f47b:


0000: 23 69 66 6e 64 65 66 20 5f 4b 49 4c 49 42 5f 46  #ifndef _KILIB_F
0010: 49 4e 44 5f 48 5f 0d 0a 23 64 65 66 69 6e 65 20  IND_H_..#define 
0020: 5f 4b 49 4c 49 42 5f 46 49 4e 44 5f 48 5f 0d 0a  _KILIB_FIND_H_..
0030: 23 69 6e 63 6c 75 64 65 20 22 74 79 70 65 73 2e  #include "types.
0040: 68 22 0d 0a 23 69 6e 63 6c 75 64 65 20 22 6d 65  h"..#include "me
0050: 6d 6f 72 79 2e 68 22 0d 0a 23 69 6e 63 6c 75 64  mory.h"..#includ
0060: 65 20 22 70 61 74 68 2e 68 22 0d 0a 23 69 66 6e  e "path.h"..#ifn
0070: 64 65 66 20 5f 5f 63 63 64 6f 63 5f 5f 0d 0a 6e  def __ccdoc__..n
0080: 61 6d 65 73 70 61 63 65 20 6b 69 20 7b 0d 0a 23  amespace ki {..#
0090: 65 6e 64 69 66 0d 0a 0d 0a 0d 0a 0d 0a 2f 2f 3d  endif........//=
00a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
00b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
00c0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
00d0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
00e0: 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 2f 2f 40 7b 20 40  ========..//@{ @
00f0: 70 6b 67 20 6b 69 2e 57 69 6e 55 74 69 6c 20 2f  pkg ki.WinUtil /
0100: 2f 40 7d 0d 0a 2f 2f 40 7b 0d 0a 2f 2f 09 83 74  /@}..//@{..//..t
0110: 83 40 83 43 83 8b 8c 9f 8d f5 0d 0a 2f 2f 0d 0a  .@.C........//..
0120: 2f 2f 09 57 69 6e 33 32 20 41 50 49 82 cc 46 69  //.Win32 API..Fi
0130: 6e 64 46 69 72 73 74 46 69 6c 65 93 99 82 f0 97  ndFirstFile.....
0140: 70 82 a2 82 c4 81 41 83 66 83 42 83 8c 83 4e 83  p.....A.f.B...N.
0150: 67 83 8a 93 e0 82 cc 0d 0a 2f 2f 09 83 74 83 40  g........//..t.@
0160: 83 43 83 8b 83 8a 83 58 83 67 83 41 83 62 83 76  .C.....X.g.A.b.v
0170: 82 f0 8d 73 82 a2 82 dc 82 b7 81 42 0d 0a 2f 2f  ...s.......B..//
0180: 40 7d 0d 0a 2f 2f 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  @}..//==========
0190: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
01a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
01b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
01c0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d  ===============.
01d0: 0a 0d 0a 63 6c 61 73 73 20 46 69 6e 64 46 69 6c  ...class FindFil
01e0: 65 20 3a 20 70 75 62 6c 69 63 20 4f 62 6a 65 63  e : public Objec
01f0: 74 0d 0a 7b 0d 0a 70 75 62 6c 69 63 3a 0d 0a 0d  t..{..public:...
0200: 0a 09 2f 2f 40 7b 20 83 52 83 93 83 58 83 67 83  ..//@{ .R...X.g.
0210: 89 83 4e 83 5e 20 2f 2f 40 7d 0d 0a 09 46 69 6e  ..N.^ //@}...Fin
0220: 64 46 69 6c 65 28 29 3b 0d 0a 0d 0a 09 2f 2f 40  dFile();.....//@
0230: 7b 20 83 66 83 58 83 67 83 89 83 4e 83 5e 20 2f  { .f.X.g...N.^ /
0240: 2f 40 7d 0d 0a 09 7e 46 69 6e 64 46 69 6c 65 28  /@}...~FindFile(
0250: 29 3b 0d 0a 0d 0a 09 2f 2f 40 7b 20 8c 9f 8d f5  );.....//@{ ....
0260: 8f 49 97 b9 8f 88 97 9d 20 2f 2f 40 7d 0d 0a 09  .I...... //@}...
0270: 76 6f 69 64 20 43 6c 6f 73 65 28 29 3b 0d 0a 0d  void Close();...
0280: 0a 70 75 62 6c 69 63 3a 20 2f 2f 2d 2d 20 8a 4f  .public: //-- .O
0290: 8c fc 82 ab 83 43 83 93 83 5e 81 5b 83 74 83 46  .....C...^.[.t.F
02a0: 83 43 83 58 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  .C.X -----------
02b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d  ---------------.
02c0: 0a 0d 0a 09 62 6f 6f 6c 20 42 65 67 69 6e 28 20  ....bool Begin( 
02d0: 63 6f 6e 73 74 20 54 43 48 41 52 2a 20 77 69 6c  const TCHAR* wil
02e0: 64 20 29 3b 0d 0a 09 62 6f 6f 6c 20 4e 65 78 74  d );...bool Next
02f0: 28 20 57 49 4e 33 32 5f 46 49 4e 44 5f 44 41 54  ( WIN32_FIND_DAT
0300: 41 2a 20 70 66 64 20 29 3b 0d 0a 0d 0a 70 75 62  A* pfd );....pub
0310: 6c 69 63 3a 0d 0a 0d 0a 09 2f 2f 40 7b 20 73 74  lic:.....//@{ st
0320: 61 74 69 63 94 c5 81 42 83 7d 83 62 83 60 82 b7  atic...B.}.b.`..
0330: 82 e9 8d c5 8f 89 82 cc 83 74 83 40 83 43 83 8b  .........t.@.C..
0340: 82 f0 8e e6 93 be 20 2f 2f 40 7d 0d 0a 09 73 74  ...... //@}...st
0350: 61 74 69 63 20 62 6f 6f 6c 20 46 69 6e 64 46 69  atic bool FindFi
0360: 72 73 74 28 20 63 6f 6e 73 74 20 54 43 48 41 52  rst( const TCHAR
0370: 2a 20 77 69 6c 64 2c 20 57 49 4e 33 32 5f 46 49  * wild, WIN32_FI
0380: 4e 44 5f 44 41 54 41 2a 20 70 66 64 20 29 3b 0d  ND_DATA* pfd );.
0390: 0a 0d 0a 70 72 69 76 61 74 65 3a 0d 0a 0d 0a 09  ...private:.....
03a0: 48 41 4e 44 4c 45 20 20 20 20 20 20 20 20 20 68  HANDLE         h
03b0: 61 6e 5f 3b 0d 0a 09 62 6f 6f 6c 20 20 20 20 20  an_;...bool     
03c0: 20 20 20 20 66 69 72 73 74 5f 3b 0d 0a 09 57 49      first_;...WI
03d0: 4e 33 32 5f 46 49 4e 44 5f 44 41 54 41 20 66 64  N32_FIND_DATA fd
03e0: 5f 3b 0d 0a 0d 0a 70 72 69 76 61 74 65 3a 0d 0a  _;....private:..
03f0: 0d 0a 09 4e 4f 43 4f 50 59 28 46 69 6e 64 46 69  ...NOCOPY(FindFi
0400: 6c 65 29 3b 0d 0a 7d 3b 0d 0a 0d 0a 0d 0a 0d 0a  le);..};........
0410: 2f 2f 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  //--------------
0420: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0430: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0440: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0450: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 69  -----------....i
0460: 6e 6c 69 6e 65 20 46 69 6e 64 46 69 6c 65 3a 3a  nline FindFile::
0470: 46 69 6e 64 46 69 6c 65 28 29 0d 0a 09 3a 20 68  FindFile()...: h
0480: 61 6e 5f 28 20 49 4e 56 41 4c 49 44 5f 48 41 4e  an_( INVALID_HAN
0490: 44 4c 45 5f 56 41 4c 55 45 20 29 20 7b 7d 0d 0a  DLE_VALUE ) {}..
04a0: 0d 0a 69 6e 6c 69 6e 65 20 46 69 6e 64 46 69 6c  ..inline FindFil
04b0: 65 3a 3a 7e 46 69 6e 64 46 69 6c 65 28 29 0d 0a  e::~FindFile()..
04c0: 09 7b 20 43 6c 6f 73 65 28 29 3b 20 7d 0d 0a 0d  .{ Close(); }...
04d0: 0a 0d 0a 0d 0a 2f 2f 3d 3d 3d 3d 3d 3d 3d 3d 3d  .....//=========
04e0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
04f0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0500: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0510: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0520: 0d 0a 0d 0a 7d 20 20 20 20 20 20 2f 2f 20 6e 61  ....}      // na
0530: 6d 65 73 70 61 63 65 20 6b 69 0d 0a 23 65 6e 64  mespace ki..#end
0540: 69 66 20 2f 2f 20 5f 4b 49 4c 49 42 5f 46 49 4e  if // _KILIB_FIN
0550: 44 5f 48 5f 0d 0a                                D_H_..