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

cdbIMDB.h

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

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