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 // ************************************************************************