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

cdbCCS.h

Go to the documentation of this file.
00001 #ifndef __cdb_CCS_h__
00002 #define __cdb_CCS_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: cdbCCS.h,v 1.26 2011/10/28 15:05:05 hsommer Exp $"
00022 *
00023 * who       when      what
00024 * --------  --------  ----------------------------------------------
00025 * almadev  2011-10-28  created
00026 */
00027 
00028 #include "cdb.h"
00029 
00030 namespace cdb {
00031 
00032 class CCS : public Table
00033 {
00034 
00035 private:
00036   Boolean isInit;
00037 
00038   ACE_Recursive_Thread_Mutex cdbMutex;
00039   
00040 public:
00046   CCS(String process);
00047 
00051   virtual ~CCS();
00052         static  Table* createTable( int argc, char** argv, CORBA::ORB_ptr orb );
00053 
00057   virtual Boolean isInitialized() { return isInit; }
00058   
00059   Boolean CreateRecord(const String &strRecordName,
00060                        Boolean bTruncate = FALSE);
00061 
00062   ULong GetRecordState(const String &strRecordName);
00063 
00079   Boolean GetField(const String &strRecordName,
00080                    const String &strFieldName,
00081                    Field &fld);
00082 
00097   Boolean SetField(const String &strRecordName,
00098                    const String &strFieldName,
00099                    const Field &fld,
00100                    Boolean bCreate = TRUE);
00101 
00102   Boolean RemoveField(const String &strRecordName,
00103                       const String &strFieldName);
00104 
00105   Boolean GetRecord(const String &strRecordName,
00106                     Record &rec,
00107                     Boolean bCreate = FALSE,
00108                     Boolean bAppend = FALSE);
00109   
00110   Boolean SetRecord(const String &strRecordName,
00111                     const Record &rec,
00112                     Boolean bCreate = TRUE,
00113                     Boolean bAll = TRUE);
00114   Boolean RemoveRecord(const String &strRecordName);
00115 
00116   // ----------------------------------------------------------------------
00117   // GROUP = Navigation
00118   // ----------------------------------------------------------------------
00119 
00120   //
00121   // DESCRIPTION: Get all child-records of a given record.
00122   //
00123   // PARAMETERS:
00124   //   strRecordName
00125   //
00126   virtual Boolean GetChildren(const String &strRecordName,
00127                               StringArray &astrChildren);
00128 };
00129 
00130  }; 
00131 
00132 #endif // __cdb_CCS_h__
00133 
00134 // ************************************************************************
00135 //
00136 // REVISION HISTORY:
00137 //
00138 //   $Log: cdbCCS.h,v $
00139 //   Revision 1.26  2011/10/28 15:05:05  hsommer
00140 //   Manually fixed "no LGPL license text" issue reported by addCopyright.py
00141 //
00142 //   Revision 1.25  2006/09/01 02:20:54  cparedes
00143 //   small change, NAMESPACE_BEGIN / NAMESPACE_END / NAMESPACE_USE macross to clean up a little the cpp code
00144 //
00145 //   Revision 1.24  2003/01/28 16:43:49  vltsccm
00146 //   gchiozzi: patch for cdb module to create lib/endorsed directory, since CVS cannot restore empty directories
00147 //
00148 //   Revision 1.23  2003/01/24 10:44:02  vltsccm
00149 //   cdb1.23
00150 //
00151 //   Revision 1.22  2003/01/20 15:12:19  vltsccm
00152 //   cdb1.22
00153 //
00154 //   Revision 1.21  2003/01/20 10:45:52  vltsccm
00155 //   cdb1.21
00156 //
00157 //   Revision 1.20  2002/12/05 16:03:58  vltsccm
00158 //   cdb1.20
00159 //
00160 //   Revision 1.19  2002/11/25 16:04:49  vltsccm
00161 //   cdb1.19
00162 //
00163 //   Revision 1.18  2002/11/13 14:53:04  vltsccm
00164 //   cdb1.18
00165 //
00166 //   Revision 1.17  2002/11/13 10:22:30  vltsccm
00167 //   cdb1.17
00168 //
00169 //   Revision 1.16  2002/11/06 08:37:03  vltsccm
00170 //   cdb1.16
00171 //
00172 //   Revision 1.15.1.23  2002/11/05 16:05:12  vltsccm
00173 //   cdb1.15.1.23
00174 //
00175 //   Revision 1.15.1.22  2002/11/05 13:46:30  vltsccm
00176 //   cdb1.15.1.22
00177 //
00178 //   Revision 1.15.1.21  2002/11/05 10:41:13  vltsccm
00179 //   cdb1.15.1.21
00180 //
00181 //   Revision 1.15.1.20  2002/11/01 12:49:02  vltsccm
00182 //   cdb1.15.1.20
00183 //
00184 //   Revision 1.15.1.19  2002/10/30 07:56:43  vltsccm
00185 //   cdb1.15.1.19
00186 //
00187 //   Revision 1.15.1.18  2002/10/25 12:44:23  vltsccm
00188 //   cdb1.15.1.18
00189 //
00190 //   Revision 1.15.1.17  2002/10/24 13:08:43  vltsccm
00191 //   cdb1.15.1.17
00192 //
00193 //   Revision 1.15.1.16  2002/10/16 11:43:44  vltsccm
00194 //   cdb1.15.1.16
00195 //
00196 //   Revision 1.15.1.15  2002/10/14 22:26:09  vltsccm
00197 //   cdb1.15.1.15
00198 //
00199 //   Revision 1.15.1.14  2002/10/14 12:18:32  vltsccm
00200 //   cdb1.15.1.14
00201 //
00202 //   Revision 1.15.1.13  2002/10/04 16:20:22  vltsccm
00203 //   cdb1.15.1.13
00204 //
00205 //   Revision 1.15.1.12  2002/10/02 12:54:14  vltsccm
00206 //   cdb1.15.1.12
00207 //
00208 //   Revision 1.15.1.11  2002/10/01 10:33:24  vltsccm
00209 //   cdb1.15.1.11
00210 //
00211 //   Revision 1.15.1.10  2002/09/30 13:56:51  vltsccm
00212 //   cdb1.15.1.10
00213 //
00214 //   Revision 1.15.1.9  2002/09/26 14:13:10  vltsccm
00215 //   cdb1.15.1.9
00216 //
00217 //   Revision 1.15.1.8  2002/09/26 07:45:46  vltsccm
00218 //   cdb1.15.1.8
00219 //
00220 //   Revision 1.15.1.7  2002/09/17 16:19:21  vltsccm
00221 //   cdb1.15.1.7
00222 //
00223 //   Revision 1.15.1.6  2002/09/17 11:15:47  vltsccm
00224 //   cdb1.15.1.6
00225 //
00226 //   Revision 1.15.1.5  2002/09/02 09:37:06  vltsccm
00227 //   cdb1.15.1.5
00228 //
00229 //   Revision 1.15.1.4  2002/08/09 09:35:22  vltsccm
00230 //   cdb1.15.1.4
00231 //
00232 //   Revision 1.15.1.3  2002/07/24 07:29:10  vltsccm
00233 //   cdb1.15.1.3
00234 //
00235 //   Revision 1.15.1.2  2002/07/12 09:58:16  vltsccm
00236 //   cdb1.15.1.2
00237 //
00238 //   Revision 1.15+.1.1  2002/07/09 09:40:08  vltsccm
00239 //   cdb1.15.1
00240 //
00241 //   Revision 1.15  2002/02/05 17:50:07  vltsccm
00242 //   cdb1.15
00243 //
00244 //   Revision 1.14  2002/01/14 21:14:17  vltsccm
00245 //   cdb1.14
00246 //
00247 //   Revision 1.13  2001/10/19 09:56:22  vltsccm
00248 //   cdb1.13
00249 //
00250 //   Revision 1.12  2001/09/18 10:07:11  vltsccm
00251 //   cdb1.12
00252 //
00253 //   Revision 1.11  2001/07/12 07:48:26  vltsccm
00254 //   cdb1.11
00255 //
00256 //   Revision 1.10  2001/07/11 09:16:13  vltsccm
00257 //   cdb1.10
00258 //
00259 //   Revision 1.6  2000/12/07 18:00:41  vltsccm
00260 //   cdb1.6
00261 //
00262 //   Revision 1.5  2000/11/17 13:14:58  vltsccm
00263 //   cdb1.5
00264 //
00265 //   Revision 1.4  2000/10/20 13:51:24  vltsccm
00266 //   cdb1.4
00267 //
00268 //   Revision 1.3  2000/10/20 13:51:23  vltsccm
00269 //   cdb1.3
00270 //
00271 //   Revision 1.2  2000/10/20 13:51:23  vltsccm
00272 //   cdb1.2
00273 //
00274 //   Revision 1.1  2000/10/20 13:51:23  vltsccm
00275 //   cdb1.1
00276 //
00277 //   Revision 1.0  2000/10/20 13:51:22  vltsccm
00278 //   cdb1.0
00279 //
00280 //   Revision 1.3  2000/10/13 16:03:01  vltsccm
00281 //   cdb1.3
00282 //
00283 //   Revision 1.2  2000/09/13 14:49:28  vltsccm
00284 //   cdb1.2
00285 //
00286 //   Revision 1.1  2000/09/06 15:42:10  vltsccm
00287 //   cdb1.1
00288 //
00289 //   Revision 1.1  2000/08/09 08:44:34  matej
00290 //   1st working version of MACI
00291 //
00292 //   Revision 1.0  2000/08/08 16:25:57  matej
00293 //   *** empty log message ***
00294 //
00295 //   Revision 1.2  2000/07/05 12:14:24  matej
00296 //   *** empty log message ***
00297 //
00298 //   Revision 1.1  2000/06/13 07:26:25  kzagar
00299 //   CDB, initial commit. Documentation not yet finished.
00300 //
00301 // ************************************************************************

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