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

cdbIMDB.h

Go to the documentation of this file.
00001 // ************************************************************************
00002 //
00003 // $Id: cdbIMDB.h,v 1.26 2006/09/01 02:20:54 cparedes Exp $
00004 //
00005 // Copyright (c) 2000 by Klemen Zagar
00006 //
00007 // GROUP    =  Configuration Database
00008 // AUTHOR  --- Klemen Zagar
00009 //
00010 // ************************************************************************
00011 
00012 #ifndef __cdb_IMDB_h__
00013 #define __cdb_IMDB_h__
00014 
00015 
00016 #include "acsutil.h"
00017 #include "cdbExport.h"
00018 
00019 #include "cdb.h"
00020 
00021 namespace cdb {
00022 
00023 class cdb_EXPORT IMDB : public Table
00024 {
00025   typedef std::map<String, MapStringToField> MapStrRec;
00026   MapStrRec m_mpRecords;
00027 
00028 public:
00029   IMDB();
00030 
00031   virtual Boolean isInitialized() { return true; }
00032 
00033   virtual ~IMDB();
00034         static  Table* createTable( int argc, char** argv, CORBA::ORB_ptr orb );
00035   
00036   Boolean CreateRecord(const String &strRecordName,
00037                        Boolean bTruncate = FALSE);
00038 
00039   ULong GetRecordState(const String &strRecordName);
00040 
00041   Boolean GetField(const String &strRecordName,
00042                    const String &strFieldName,
00043                    Field &fld);
00044 
00045   Boolean SetField(const String &strRecordName,
00046                    const String &strFieldName,
00047                    const Field &fld,
00048                    Boolean bCreate = TRUE);
00049 
00050   Boolean RemoveField(const String &strRecordName,
00051                       const String &strFieldName);
00052 
00053   Boolean GetRecord(const String &strRecordName,
00054                     Record &rec,
00055                     Boolean bCreate = FALSE,
00056                     Boolean bAppend = FALSE);
00057   
00058   Boolean SetRecord(const String &strRecordName,
00059                     const Record &rec,
00060                     Boolean bCreate = TRUE,
00061                     Boolean bAll = TRUE);
00062   Boolean RemoveRecord(const String &strRecordName);
00063 
00064   // ----------------------------------------------------------------------
00065   // GROUP = Navigation
00066   // ----------------------------------------------------------------------
00067 
00068   //
00069   // DESCRIPTION: Get all child-records of a given record.
00070   //
00071   // PARAMETERS:
00072   //   strRecordName
00073   //
00074   virtual Boolean GetChildren(const String &strRecordName,
00075                               StringArray &astrChildren);
00076 };
00077 
00078  }; 
00079 
00080 #endif // __cdb_IMDB_h__
00081 
00082 // ************************************************************************
00083 //
00084 // REVISION HISTORY:
00085 //
00086 //   $Log: cdbIMDB.h,v $
00087 //   Revision 1.26  2006/09/01 02:20:54  cparedes
00088 //   small change, NAMESPACE_BEGIN / NAMESPACE_END / NAMESPACE_USE macross to clean up a little the cpp code
00089 //
00090 //   Revision 1.25  2003/07/09 08:07:35  bjeram
00091 //   ported to gcc 3.2
00092 //
00093 //   Revision 1.24  2003/01/28 16:43:50  vltsccm
00094 //   gchiozzi: patch for cdb module to create lib/endorsed directory, since CVS cannot restore empty directories
00095 //
00096 //   Revision 1.23  2003/01/24 10:44:04  vltsccm
00097 //   cdb1.23
00098 //
00099 //   Revision 1.22  2003/01/20 15:12:19  vltsccm
00100 //   cdb1.22
00101 //
00102 //   Revision 1.21  2003/01/20 10:45:53  vltsccm
00103 //   cdb1.21
00104 //
00105 //   Revision 1.20  2002/12/05 16:03:58  vltsccm
00106 //   cdb1.20
00107 //
00108 //   Revision 1.19  2002/11/25 16:04:50  vltsccm
00109 //   cdb1.19
00110 //
00111 //   Revision 1.18  2002/11/13 14:53:04  vltsccm
00112 //   cdb1.18
00113 //
00114 //   Revision 1.17  2002/11/13 10:22:31  vltsccm
00115 //   cdb1.17
00116 //
00117 //   Revision 1.16  2002/11/06 08:37:05  vltsccm
00118 //   cdb1.16
00119 //
00120 //   Revision 1.15.1.23  2002/11/05 16:05:13  vltsccm
00121 //   cdb1.15.1.23
00122 //
00123 //   Revision 1.15.1.22  2002/11/05 13:46:31  vltsccm
00124 //   cdb1.15.1.22
00125 //
00126 //   Revision 1.15.1.21  2002/11/05 10:41:14  vltsccm
00127 //   cdb1.15.1.21
00128 //
00129 //   Revision 1.15.1.20  2002/11/01 12:49:03  vltsccm
00130 //   cdb1.15.1.20
00131 //
00132 //   Revision 1.15.1.19  2002/10/30 07:56:44  vltsccm
00133 //   cdb1.15.1.19
00134 //
00135 //   Revision 1.15.1.18  2002/10/25 12:44:24  vltsccm
00136 //   cdb1.15.1.18
00137 //
00138 //   Revision 1.15.1.17  2002/10/24 13:08:44  vltsccm
00139 //   cdb1.15.1.17
00140 //
00141 //   Revision 1.15.1.16  2002/10/16 11:43:45  vltsccm
00142 //   cdb1.15.1.16
00143 //
00144 //   Revision 1.15.1.15  2002/10/14 22:26:10  vltsccm
00145 //   cdb1.15.1.15
00146 //
00147 //   Revision 1.15.1.14  2002/10/14 12:18:33  vltsccm
00148 //   cdb1.15.1.14
00149 //
00150 //   Revision 1.15.1.13  2002/10/04 16:20:23  vltsccm
00151 //   cdb1.15.1.13
00152 //
00153 //   Revision 1.15.1.12  2002/10/02 12:54:14  vltsccm
00154 //   cdb1.15.1.12
00155 //
00156 //   Revision 1.15.1.11  2002/10/01 10:33:25  vltsccm
00157 //   cdb1.15.1.11
00158 //
00159 //   Revision 1.15.1.10  2002/09/30 13:56:52  vltsccm
00160 //   cdb1.15.1.10
00161 //
00162 //   Revision 1.15.1.9  2002/09/26 14:13:10  vltsccm
00163 //   cdb1.15.1.9
00164 //
00165 //   Revision 1.15.1.8  2002/09/26 07:45:47  vltsccm
00166 //   cdb1.15.1.8
00167 //
00168 //   Revision 1.15.1.7  2002/09/17 16:19:22  vltsccm
00169 //   cdb1.15.1.7
00170 //
00171 //   Revision 1.15.1.6  2002/09/17 11:15:48  vltsccm
00172 //   cdb1.15.1.6
00173 //
00174 //   Revision 1.15.1.5  2002/09/02 09:37:07  vltsccm
00175 //   cdb1.15.1.5
00176 //
00177 //   Revision 1.15.1.4  2002/08/09 09:35:24  vltsccm
00178 //   cdb1.15.1.4
00179 //
00180 //   Revision 1.15.1.3  2002/07/24 07:29:11  vltsccm
00181 //   cdb1.15.1.3
00182 //
00183 //   Revision 1.15.1.2  2002/07/12 09:58:18  vltsccm
00184 //   cdb1.15.1.2
00185 //
00186 //   Revision 1.15+.1.1  2002/07/09 09:40:09  vltsccm
00187 //   cdb1.15.1
00188 //
00189 //   Revision 1.15  2002/02/05 17:50:08  vltsccm
00190 //   cdb1.15
00191 //
00192 //   Revision 1.14  2002/01/14 21:14:18  vltsccm
00193 //   cdb1.14
00194 //
00195 //   Revision 1.13  2001/10/19 09:56:23  vltsccm
00196 //   cdb1.13
00197 //
00198 //   Revision 1.12  2001/09/18 10:07:12  vltsccm
00199 //   cdb1.12
00200 //
00201 //   Revision 1.11  2001/07/12 07:48:28  vltsccm
00202 //   cdb1.11
00203 //
00204 //   Revision 1.10  2001/07/11 09:16:20  vltsccm
00205 //   cdb1.10
00206 //
00207 //   Revision 1.6  2000/12/07 18:00:41  vltsccm
00208 //   cdb1.6
00209 //
00210 //   Revision 1.5  2000/11/17 13:14:58  vltsccm
00211 //   cdb1.5
00212 //
00213 //   Revision 1.4  2000/10/20 13:51:25  vltsccm
00214 //   cdb1.4
00215 //
00216 //   Revision 1.3  2000/10/20 13:51:25  vltsccm
00217 //   cdb1.3
00218 //
00219 //   Revision 1.2  2000/10/20 13:51:25  vltsccm
00220 //   cdb1.2
00221 //
00222 //   Revision 1.1  2000/10/20 13:51:24  vltsccm
00223 //   cdb1.1
00224 //
00225 //   Revision 1.0  2000/10/20 13:51:24  vltsccm
00226 //   cdb1.0
00227 //
00228 //   Revision 1.3  2000/10/13 16:03:03  vltsccm
00229 //   cdb1.3
00230 //
00231 //   Revision 1.2  2000/09/13 14:49:29  vltsccm
00232 //   cdb1.2
00233 //
00234 //   Revision 1.1  2000/09/06 15:42:12  vltsccm
00235 //   cdb1.1
00236 //
00237 //   Revision 1.1  2000/06/13 07:26:25  kzagar
00238 //   CDB, initial commit. Documentation not yet finished.
00239 //
00240 // ************************************************************************

Generated on Thu Jul 8 2010 19:47:47 for ACS-9.0 C++ API by  doxygen 1.7.0