Hex Artifact Content

Not logged in

Artifact 017afe9c288f9f71a414078f2630e2743dc5b710:


0000: 23 69 66 6e 64 65 66 20 5f 4b 49 4c 49 42 5f 52  #ifndef _KILIB_R
0010: 45 47 49 53 54 52 59 5f 48 5f 0d 0a 23 64 65 66  EGISTRY_H_..#def
0020: 69 6e 65 20 5f 4b 49 4c 49 42 5f 52 45 47 49 53  ine _KILIB_REGIS
0030: 54 52 59 5f 48 5f 0d 0a 23 69 6e 63 6c 75 64 65  TRY_H_..#include
0040: 20 22 74 79 70 65 73 2e 68 22 0d 0a 23 69 6e 63   "types.h"..#inc
0050: 6c 75 64 65 20 22 6d 65 6d 6f 72 79 2e 68 22 0d  lude "memory.h".
0060: 0a 23 69 6e 63 6c 75 64 65 20 22 70 61 74 68 2e  .#include "path.
0070: 68 22 0d 0a 23 69 66 6e 64 65 66 20 5f 5f 63 63  h"..#ifndef __cc
0080: 64 6f 63 5f 5f 0d 0a 6e 61 6d 65 73 70 61 63 65  doc__..namespace
0090: 20 6b 69 20 7b 0d 0a 23 65 6e 64 69 66 0d 0a 0d   ki {..#endif...
00a0: 0a 0d 0a 09 0d 0a 2f 2f 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 3d 3d 3d 3d 3d 3d 3d 3d  ================
00f0: 3d 0d 0a 2f 2f 40 7b 20 40 70 6b 67 20 6b 69 2e  =..//@{ @pkg ki.
0100: 57 69 6e 55 74 69 6c 20 2f 2f 40 7d 0d 0a 2f 2f  WinUtil //@}..//
0110: 40 7b 0d 0a 2f 2f 09 49 4e 49 83 74 83 40 83 43  @{..//.INI.t.@.C
0120: 83 8b 93 c7 82 dd 8d 9e 82 dd 0d 0a 2f 2f 0d 0a  ............//..
0130: 2f 2f 40 7d 0d 0a 2f 2f 3d 3d 3d 3d 3d 3d 3d 3d  //@}..//========
0140: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0150: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0160: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0170: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0180: 3d 0d 0a 0d 0a 63 6c 61 73 73 20 49 6e 69 46 69  =....class IniFi
0190: 6c 65 20 3a 20 70 75 62 6c 69 63 20 4f 62 6a 65  le : public Obje
01a0: 63 74 0d 0a 7b 0d 0a 70 75 62 6c 69 63 3a 0d 0a  ct..{..public:..
01b0: 0d 0a 09 2f 2f 40 7b 20 83 52 83 93 83 58 83 67  ...//@{ .R...X.g
01c0: 83 89 83 4e 83 5e 20 2f 2f 40 7d 0d 0a 09 49 6e  ...N.^ //@}...In
01d0: 69 46 69 6c 65 28 20 63 6f 6e 73 74 20 54 43 48  iFile( const TCH
01e0: 41 52 2a 20 69 6e 69 3d 4e 55 4c 4c 2c 20 62 6f  AR* ini=NULL, bo
01f0: 6f 6c 20 65 78 65 70 70 61 74 68 3d 74 72 75 65  ol exeppath=true
0200: 20 29 3b 0d 0a 0d 0a 09 2f 2f 40 7b 20 69 6e 69   );.....//@{ ini
0210: 83 74 83 40 83 43 83 8b 96 bc 82 f0 90 dd 92 e8  .t.@.C..........
0220: 20 2f 2f 40 7d 0d 0a 09 76 6f 69 64 20 53 65 74   //@}...void Set
0230: 46 69 6c 65 4e 61 6d 65 28 20 63 6f 6e 73 74 20  FileName( const 
0240: 54 43 48 41 52 2a 20 69 6e 69 3d 4e 55 4c 4c 2c  TCHAR* ini=NULL,
0250: 20 62 6f 6f 6c 20 65 78 65 70 61 74 68 3d 74 72   bool exepath=tr
0260: 75 65 20 29 3b 0d 0a 0d 0a 09 2f 2f 40 7b 20 83  ue );.....//@{ .
0270: 5a 83 4e 83 56 83 87 83 93 96 bc 82 f0 90 dd 92  Z.N.V...........
0280: e8 20 2f 2f 40 7d 0d 0a 09 76 6f 69 64 20 53 65  . //@}...void Se
0290: 74 53 65 63 74 69 6f 6e 28 20 63 6f 6e 73 74 20  tSection( const 
02a0: 54 43 48 41 52 2a 20 73 65 63 74 69 6f 6e 20 29  TCHAR* section )
02b0: 3b 0d 0a 0d 0a 09 2f 2f 40 7b 20 83 5a 83 4e 83  ;.....//@{ .Z.N.
02c0: 56 83 87 83 93 96 bc 82 f0 83 86 81 5b 83 55 81  V...........[.U.
02d0: 5b 96 bc 82 c9 90 dd 92 e8 20 2f 2f 40 7d 0d 0a  [........ //@}..
02e0: 09 76 6f 69 64 20 53 65 74 53 65 63 74 69 6f 6e  .void SetSection
02f0: 41 73 55 73 65 72 4e 61 6d 65 28 29 3b 0d 0a 0d  AsUserName();...
0300: 0a 09 2f 2f 40 7b 20 82 a0 82 e9 93 c1 92 e8 82  ..//@{ .........
0310: cc 96 bc 91 4f 82 cc 83 5a 83 4e 83 56 83 87 83  ....O...Z.N.V...
0320: 93 82 aa 82 a0 82 e9 82 a9 82 c7 82 a4 82 a9 81  ................
0330: 48 20 2f 2f 40 7d 0d 0a 09 62 6f 6f 6c 20 48 61  H //@}...bool Ha
0340: 73 53 65 63 74 69 6f 6e 45 6e 61 62 6c 65 64 28  sSectionEnabled(
0350: 20 63 6f 6e 73 74 20 54 43 48 41 52 2a 20 73 65   const TCHAR* se
0360: 63 74 69 6f 6e 20 29 20 63 6f 6e 73 74 3b 0d 0a  ction ) const;..
0370: 0d 0a 09 2f 2f 40 7b 20 90 ae 90 94 92 6c 93 c7  ...//@{ .....l..
0380: 82 dd 8d 9e 82 dd 20 2f 2f 40 7d 0d 0a 09 69 6e  ...... //@}...in
0390: 74 20 20 20 20 47 65 74 49 6e 74 20 28 20 63 6f  t    GetInt ( co
03a0: 6e 73 74 20 54 43 48 41 52 2a 20 6b 65 79 2c 20  nst TCHAR* key, 
03b0: 69 6e 74 20 20 20 64 65 66 76 61 6c 20 29 20 63  int   defval ) c
03c0: 6f 6e 73 74 3b 0d 0a 09 2f 2f 40 7b 20 90 5e 8b  onst;...//@{ .^.
03d0: 55 92 6c 93 c7 82 dd 8d 9e 82 dd 20 2f 2f 40 7d  U.l........ //@}
03e0: 0d 0a 09 62 6f 6f 6c 20 20 20 47 65 74 42 6f 6f  ...bool   GetBoo
03f0: 6c 28 20 63 6f 6e 73 74 20 54 43 48 41 52 2a 20  l( const TCHAR* 
0400: 6b 65 79 2c 20 62 6f 6f 6c 20 20 64 65 66 76 61  key, bool  defva
0410: 6c 20 29 20 63 6f 6e 73 74 3b 0d 0a 09 2f 2f 40  l ) const;...//@
0420: 7b 20 95 b6 8e 9a 97 f1 93 c7 82 dd 8d 9e 82 dd  { ..............
0430: 20 2f 2f 40 7d 0d 0a 09 53 74 72 69 6e 67 20 47   //@}...String G
0440: 65 74 53 74 72 20 28 20 63 6f 6e 73 74 20 54 43  etStr ( const TC
0450: 48 41 52 2a 20 6b 65 79 2c 20 63 6f 6e 73 74 20  HAR* key, const 
0460: 53 74 72 69 6e 67 26 20 64 65 66 76 61 6c 20 29  String& defval )
0470: 20 63 6f 6e 73 74 3b 0d 0a 09 2f 2f 40 7b 20 83   const;...//@{ .
0480: 70 83 58 95 b6 8e 9a 97 f1 93 c7 82 dd 8d 9e 82  p.X.............
0490: dd 20 2f 2f 40 7d 0d 0a 09 50 61 74 68 20 20 47  . //@}...Path  G
04a0: 65 74 50 61 74 68 20 28 20 63 6f 6e 73 74 20 54  etPath ( const T
04b0: 43 48 41 52 2a 20 6b 65 79 2c 20 63 6f 6e 73 74  CHAR* key, const
04c0: 20 50 61 74 68 26 20 64 65 66 76 61 6c 20 29 20   Path& defval ) 
04d0: 63 6f 6e 73 74 3b 0d 0a 0d 0a 09 2f 2f 40 7b 20  const;.....//@{ 
04e0: 90 ae 90 94 92 6c 8f 91 82 ab 8d 9e 82 dd 20 2f  .....l........ /
04f0: 2f 40 7d 0d 0a 09 62 6f 6f 6c 20 50 75 74 49 6e  /@}...bool PutIn
0500: 74 20 28 20 63 6f 6e 73 74 20 54 43 48 41 52 2a  t ( const TCHAR*
0510: 20 6b 65 79 2c 20 69 6e 74 20 76 61 6c 20 29 3b   key, int val );
0520: 0d 0a 09 2f 2f 40 7b 20 90 5e 8b 55 92 6c 8f 91  ...//@{ .^.U.l..
0530: 82 ab 8d 9e 82 dd 20 2f 2f 40 7d 0d 0a 09 62 6f  ...... //@}...bo
0540: 6f 6c 20 50 75 74 42 6f 6f 6c 28 20 63 6f 6e 73  ol PutBool( cons
0550: 74 20 54 43 48 41 52 2a 20 6b 65 79 2c 20 62 6f  t TCHAR* key, bo
0560: 6f 6c 20 76 61 6c 20 29 3b 0d 0a 09 2f 2f 40 7b  ol val );...//@{
0570: 20 95 b6 8e 9a 97 f1 8f 91 82 ab 8d 9e 82 dd 20   .............. 
0580: 2f 2f 40 7d 0d 0a 09 62 6f 6f 6c 20 50 75 74 53  //@}...bool PutS
0590: 74 72 20 28 20 63 6f 6e 73 74 20 54 43 48 41 52  tr ( const TCHAR
05a0: 2a 20 6b 65 79 2c 20 63 6f 6e 73 74 20 54 43 48  * key, const TCH
05b0: 41 52 2a 20 76 61 6c 20 29 3b 0d 0a 09 2f 2f 40  AR* val );...//@
05c0: 7b 20 83 70 83 58 8f 91 82 ab 8d 9e 82 dd 20 2f  { .p.X........ /
05d0: 2f 40 7d 0d 0a 09 62 6f 6f 6c 20 50 75 74 50 61  /@}...bool PutPa
05e0: 74 68 28 20 63 6f 6e 73 74 20 54 43 48 41 52 2a  th( const TCHAR*
05f0: 20 6b 65 79 2c 20 63 6f 6e 73 74 20 50 61 74 68   key, const Path
0600: 26 20 76 61 6c 20 29 3b 0d 0a 0d 0a 70 72 69 76  & val );....priv
0610: 61 74 65 3a 0d 0a 0d 0a 09 50 61 74 68 20 20 20  ate:.....Path   
0620: 69 6e 69 4e 61 6d 65 5f 3b 0d 0a 09 53 74 72 69  iniName_;...Stri
0630: 6e 67 20 73 65 63 74 69 6f 6e 5f 3b 0d 0a 09 63  ng section_;...c
0640: 68 61 72 20 6d 5f 53 74 72 42 75 66 5b 32 35 36  har m_StrBuf[256
0650: 5d 3b 0d 0a 7d 3b 0d 0a 0d 0a 0d 0a 0d 0a 2f 2f  ];..};........//
0660: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0670: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0680: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0690: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
06a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 69 6e 6c  ---------....inl
06b0: 69 6e 65 20 49 6e 69 46 69 6c 65 3a 3a 49 6e 69  ine IniFile::Ini
06c0: 46 69 6c 65 28 20 63 6f 6e 73 74 20 54 43 48 41  File( const TCHA
06d0: 52 2a 20 69 6e 69 2c 20 62 6f 6f 6c 20 65 78 65  R* ini, bool exe
06e0: 70 61 74 68 20 29 0d 0a 09 7b 20 53 65 74 46 69  path )...{ SetFi
06f0: 6c 65 4e 61 6d 65 28 20 69 6e 69 2c 20 65 78 65  leName( ini, exe
0700: 70 61 74 68 20 29 3b 20 7d 0d 0a 0d 0a 69 6e 6c  path ); }....inl
0710: 69 6e 65 20 76 6f 69 64 20 49 6e 69 46 69 6c 65  ine void IniFile
0720: 3a 3a 53 65 74 53 65 63 74 69 6f 6e 28 20 63 6f  ::SetSection( co
0730: 6e 73 74 20 54 43 48 41 52 2a 20 73 65 63 74 69  nst TCHAR* secti
0740: 6f 6e 20 29 0d 0a 09 7b 20 73 65 63 74 69 6f 6e  on )...{ section
0750: 5f 20 3d 20 73 65 63 74 69 6f 6e 3b 20 7d 0d 0a  _ = section; }..
0760: 0d 0a 0d 0a 0d 0a 0d 0a 2f 2f 3d 3d 3d 3d 3d 3d  ........//======
0770: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0780: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0790: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
07a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
07b0: 3d 3d 3d 0d 0a 0d 0a 7d 20 20 20 20 20 20 2f 2f  ===....}      //
07c0: 20 6e 61 6d 65 73 70 61 63 65 20 6b 69 0d 0a 23   namespace ki..#
07d0: 65 6e 64 69 66 20 2f 2f 20 5f 4b 49 4c 49 42 5f  endif // _KILIB_
07e0: 52 45 47 49 53 54 52 59 5f 48 5f 0d 0a           REGISTRY_H_..