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_..