• Classes
  • Modules
  • Namespaces
  • Files
  • Related Pages
  • File List
  • File Members

cdbINIReader.h

Go to the documentation of this file.
00001 #ifndef cdbINIReader_H
00002 #define cdbINIReader_H
00003 
00004 /*******************************************************************
00005 * E.S.O. - ACS project
00006 *
00007 * "@(#) $Id: cdbINIReader.h,v 1.25 2006/09/01 02:20:54 cparedes Exp $"
00008 *
00009 * who       when       what
00010 * --------  ---------- ----------------------------------------------
00011 * msekoran  2001/05/09 created
00012 */
00013 
00014 #ifndef __cplusplus
00015 #error This is a C++ include file and cannot be used from plain C
00016 #endif
00017 
00018 #include "acsutil.h"
00019 
00020 #include "cdb.h"
00021 
00022 #define INI_MAX_LINE_LENGTH 256
00023 #define INI_SEPARATOR_CHAR '='
00024 #define INI_BEGIN_SECTION_CHAR '['
00025 #define INI_END_SECTION_CHAR ']'
00026 
00027 namespace cdb {
00028 
00029 class cdb_EXPORT INIReader : public Table
00030 {
00031 
00032 public:
00033   INIReader(const char * fileName);
00034   virtual ~INIReader();
00035         static  Table* createTable( int argc, char** argv, CORBA::ORB_ptr orb );
00036 
00037   virtual Boolean isInitialized();
00038 
00039   // WARNING: NextSection method is not thread-safe!!!
00040   Boolean NextSection(ACE_TCHAR * strRecordName, ACE_TCHAR * strFieldName, ACE_TCHAR * valueName);
00041   Boolean Rewind();
00042 
00043   // cdb::Table interface
00044   
00045   Boolean CreateRecord(const String &strRecordName,
00046                        Boolean bTruncate = FALSE);
00047 
00048   ULong GetRecordState(const String &strRecordName);
00049 
00050   Boolean GetField(const String &strRecordName,
00051                    const String &strFieldName,
00052                    Field &fld);
00053 
00054   Boolean SetField(const String &strRecordName,
00055                    const String &strFieldName,
00056                    const Field &fld,
00057                    Boolean bCreate = TRUE);
00058 
00059   Boolean RemoveField(const String &strRecordName,
00060                       const String &strFieldName);
00061 
00062   Boolean GetRecord(const String &strRecordName,
00063                     Record &rec,
00064                     Boolean bCreate = FALSE,
00065                     Boolean bAppend = FALSE);
00066   
00067   Boolean SetRecord(const String &strRecordName,
00068                     const Record &rec,
00069                     Boolean bCreate = TRUE,
00070                     Boolean bAll = TRUE);
00071   Boolean RemoveRecord(const String &strRecordName);
00072 
00073   Boolean GetChildren(const String &strRecordName,
00074                       StringArray &astrChildren);
00075 
00076 private:
00077 
00081   FILE * m_fileHandle;
00082 
00086   Boolean m_initialized;
00087 
00091   ACE_TCHAR m_section[INI_MAX_LINE_LENGTH];
00092 
00093 };
00094 
00095  }; 
00096 
00097 #endif /* cdbINIReader_H */
00098 
00099 // ************************************************************************
00100 //
00101 // REVISION HISTORY:
00102 //
00103 // $Log: cdbINIReader.h,v $
00104 // Revision 1.25  2006/09/01 02:20:54  cparedes
00105 // small change, NAMESPACE_BEGIN / NAMESPACE_END / NAMESPACE_USE macross to clean up a little the cpp code
00106 //
00107 // Revision 1.24  2003/01/28 16:43:50  vltsccm
00108 // gchiozzi: patch for cdb module to create lib/endorsed directory, since CVS cannot restore empty directories
00109 //
00110 // Revision 1.23  2003/01/24 10:44:05  vltsccm
00111 // cdb1.23
00112 //
00113 // Revision 1.22  2003/01/20 15:12:20  vltsccm
00114 // cdb1.22
00115 //
00116 // Revision 1.21  2003/01/20 10:45:53  vltsccm
00117 // cdb1.21
00118 //
00119 // Revision 1.20  2002/12/05 16:03:59  vltsccm
00120 // cdb1.20
00121 //
00122 // Revision 1.19  2002/11/25 16:04:50  vltsccm
00123 // cdb1.19
00124 //
00125 // Revision 1.18  2002/11/13 14:53:05  vltsccm
00126 // cdb1.18
00127 //
00128 // Revision 1.17  2002/11/13 10:22:31  vltsccm
00129 // cdb1.17
00130 //
00131 // Revision 1.16  2002/11/06 08:37:05  vltsccm
00132 // cdb1.16
00133 //
00134 // Revision 1.15.1.23  2002/11/05 16:05:14  vltsccm
00135 // cdb1.15.1.23
00136 //
00137 // Revision 1.15.1.22  2002/11/05 13:46:31  vltsccm
00138 // cdb1.15.1.22
00139 //
00140 // Revision 1.15.1.21  2002/11/05 10:41:14  vltsccm
00141 // cdb1.15.1.21
00142 //
00143 // Revision 1.15.1.20  2002/11/01 12:49:03  vltsccm
00144 // cdb1.15.1.20
00145 //
00146 // Revision 1.15.1.19  2002/10/30 07:56:44  vltsccm
00147 // cdb1.15.1.19
00148 //
00149 // Revision 1.15.1.18  2002/10/25 12:44:24  vltsccm
00150 // cdb1.15.1.18
00151 //
00152 // Revision 1.15.1.17  2002/10/24 13:08:44  vltsccm
00153 // cdb1.15.1.17
00154 //
00155 // Revision 1.15.1.16  2002/10/16 11:43:45  vltsccm
00156 // cdb1.15.1.16
00157 //
00158 // Revision 1.15.1.15  2002/10/14 22:26:11  vltsccm
00159 // cdb1.15.1.15
00160 //
00161 // Revision 1.15.1.14  2002/10/14 12:18:33  vltsccm
00162 // cdb1.15.1.14
00163 //
00164 // Revision 1.15.1.13  2002/10/04 16:20:24  vltsccm
00165 // cdb1.15.1.13
00166 //
00167 // Revision 1.15.1.12  2002/10/02 12:54:15  vltsccm
00168 // cdb1.15.1.12
00169 //
00170 // Revision 1.15.1.11  2002/10/01 10:33:25  vltsccm
00171 // cdb1.15.1.11
00172 //
00173 // Revision 1.15.1.10  2002/09/30 13:56:52  vltsccm
00174 // cdb1.15.1.10
00175 //
00176 // Revision 1.15.1.9  2002/09/26 14:13:11  vltsccm
00177 // cdb1.15.1.9
00178 //
00179 // Revision 1.15.1.8  2002/09/26 07:45:47  vltsccm
00180 // cdb1.15.1.8
00181 //
00182 // Revision 1.15.1.7  2002/09/17 16:19:23  vltsccm
00183 // cdb1.15.1.7
00184 //
00185 // Revision 1.15.1.6  2002/09/17 11:15:48  vltsccm
00186 // cdb1.15.1.6
00187 //
00188 // Revision 1.15.1.5  2002/09/02 09:37:07  vltsccm
00189 // cdb1.15.1.5
00190 //
00191 // Revision 1.15.1.4  2002/08/09 09:35:24  vltsccm
00192 // cdb1.15.1.4
00193 //
00194 // Revision 1.15.1.3  2002/07/24 07:29:11  vltsccm
00195 // cdb1.15.1.3
00196 //
00197 // Revision 1.15.1.2  2002/07/12 09:58:18  vltsccm
00198 // cdb1.15.1.2
00199 //
00200 // Revision 1.15+.1.1  2002/07/09 09:40:09  vltsccm
00201 // cdb1.15.1
00202 //
00203 // Revision 1.15  2002/02/05 17:50:08  vltsccm
00204 // cdb1.15
00205 //
00206 // Revision 1.14  2002/01/14 21:14:19  vltsccm
00207 // cdb1.14
00208 //
00209 // Revision 1.13  2001/10/19 09:56:23  vltsccm
00210 // cdb1.13
00211 //
00212 // Revision 1.12  2001/09/18 10:07:12  vltsccm
00213 // cdb1.12
00214 //
00215 // Revision 1.11  2001/07/12 07:48:28  vltsccm
00216 // cdb1.11
00217 //
00218 // Revision 1.10  2001/07/11 09:16:24  vltsccm
00219 // cdb1.10
00220 //
00221 // Revision 1.9  2001/07/11 09:16:23  vltsccm
00222 // cdb1.9
00223 //
00224 // Revision 1.8  2001/07/11 09:16:23  vltsccm
00225 // cdb1.8
00226 //
00227 // Revision 1.7  2001/07/11 09:16:23  vltsccm
00228 // cdb1.7
00229 //
00230 // Revision 1.6  2001/07/11 09:16:22  vltsccm
00231 // cdb1.6
00232 //
00233 // Revision 1.5  2001/07/11 09:16:22  vltsccm
00234 // cdb1.5
00235 //
00236 // Revision 1.4  2001/07/11 09:16:22  vltsccm
00237 // cdb1.4
00238 //
00239 // Revision 1.3  2001/07/11 09:16:21  vltsccm
00240 // cdb1.3
00241 //
00242 // Revision 1.2  2001/07/11 09:16:21  vltsccm
00243 // cdb1.2
00244 //
00245 // Revision 1.1  2001/07/11 09:16:21  vltsccm
00246 // cdb1.1
00247 //
00248 // Revision 1.0  2001/07/11 09:16:21  vltsccm
00249 // cdb1.0
00250 //
00251 //
00252 // ************************************************************************
00253 

Generated on Thu Jan 12 2012 23:13:50 for ACS-10.0 C++ API by  doxygen 1.7.0