fdhwlib
2.0.25
|
00001 /*************************************************************************** 00002 inifile.h - description 00003 00004 begin : Fri Jul 28 2000 00005 copyright : (C) 2000 by Andreas Kopmann 00006 email : kopmann@hpe.fzk.de 00007 ***************************************************************************/ 00008 00009 /* 00010 * File: inifile.hh 00011 * 00012 * Author: Th. Wiegert 00013 * 00014 * Purpose: Header file for inifile.cc (derived from inifile.hxx, Rev. 2.1) 00015 * 00016 */ 00017 00018 00019 #ifndef _INIFILE_HXX_ 00020 #define _INIFILE_HXX_ 00021 00022 #include <cstdio> 00023 00024 /* 00025 #ifndef kSUCCESS 00026 # define kSUCCESS 0 00027 #endif 00028 00029 #ifndef kFAIL 00030 # define kFAIL -1 00031 #endif 00032 */ 00033 00034 #define INIFILE_LINE_BUFFER_SIZE 1024 00035 00036 00037 00050 //##ModelId=39912206001B 00051 class Inifile { 00052 00053 public : 00054 00056 enum result { 00057 kFAIL, 00058 kSUCCESS 00059 }; 00060 00061 00062 //##ModelId=399122060061 00063 Inifile (char* _filename); 00064 //##ModelId=39912206005A 00065 ~Inifile (); 00066 00067 //##ModelId=399122060059 00068 // inline int Status() 00069 inline result Status() 00070 { return fStatus; } 00071 //##ModelId=399122060058 00072 inline char* GetFilename () 00073 { return fFilename; } 00074 //##ModelId=399122060053 00075 char* GetFirstString (char* _entry); 00076 //##ModelId=399122060050 00077 int GetFirstValue (char* _entry, result * error = NULL); 00078 //##ModelId=39912206004F 00079 char* GetNextString (); 00080 //##ModelId=39912206004D 00081 int GetNextValue (result * error = NULL); 00082 //##ModelId=39912206004A 00083 void Reset (); 00084 //##ModelId=399122060048 00085 result SpecifyGroup (char *string); 00086 00087 00088 protected : 00089 //##ModelId=399122060039 00090 FILE* fInifile; 00091 //##ModelId=399122060033 00092 char fLinebuf[INIFILE_LINE_BUFFER_SIZE]; 00093 //##ModelId=399122060032 00094 char* fFilename; 00095 //##ModelId=399122060031 00096 char* fGroup; 00097 //##ModelId=399122060030 00098 char* fLineptr; 00099 //##ModelId=39912206002F 00100 char* fPtr; 00101 //##ModelId=399122060026 00102 int fGrPos; 00104 //##ModelId=399122060025 00105 //int fStatus; 00106 result fStatus; 00107 00108 //##ModelId=399122060046 00109 char _Digit2Value (char digit); 00110 //##ModelId=39912206003E 00111 char _Digits2Value (char** src, char* end, int base); 00112 //##ModelId=39912206003B 00113 char _GetNextCharacter (char** src, char* end); 00114 //##ModelId=39912206003A 00115 char* _GetLine (); 00116 00117 }; 00118 00119 #endif // _INIFILE_HXX_