Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

cdbData_Types.h

Go to the documentation of this file.
00001 // ************************************************************************ 00002 // 00003 // $Id: cdbData_Types.h,v 1.25 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__Data_Types_h__ 00013 #define __cdb__Data_Types_h__ 00014 00015 #include "acsutil.h" 00016 #include "cdbExport.h" 00017 00018 #if defined(CDB_HAS_ANY) 00019 // We need TAO to provide the definition of the Any type and of portable 00020 // scalar data types. 00021 #include <tao/corba.h> 00022 00023 #include <orbsvcs/orbsvcs/DsLogAdminC.h> // DsLogAdmin::Anys support 00024 00025 #endif // defined(CDB_HAS_ANY) 00026 00027 #include <vector> 00028 #include <ace/SString.h> 00029 00030 namespace cdb { 00031 00032 // ------------------------------------------------------------------------ 00033 // GROUP = Scalar data types 00034 // ------------------------------------------------------------------------ 00035 00036 //typedef std::string String; 00037 typedef ACE_CString String; 00038 00039 #if !defined(CDB_HAS_ANY) 00040 00041 // DESCRIPTION: An 8-bit unsigned integer. 00042 typedef unsigned char Octet; 00043 // DESCRIPTION: A TRUE/FALSE boolean value. 00044 typedef bool Boolean; 00045 00046 // DESCRIPTION: A 16-bit signed integer. 00047 typedef signed short Short; 00048 // DESCRIPTION: A 32-bit signed integer. 00049 typedef signed long Long; 00050 00051 // DESCRIPTION: A 16-bit unsigned integer. 00052 typedef unsigned short UShort; 00053 // DESCRIPTION: A 32-bin unsigned integer. 00054 typedef unsigned long ULong; 00055 00056 #if defined(__GNUG__) 00057 // DESCRIPTION: A 64-bin signed integer. 00058 typedef signed long long LongLong; 00059 // DESCRIPTION: A 64-bin unsigned integer. 00060 typedef unsigned long long ULongLong; 00061 #elif _MSC_VER >= 1100 00062 typedef signed __int64 LongLong; 00063 typedef unsigned __int64 ULongLong; 00064 #endif // _MSC_VER >= 1100 00065 00066 // DESCRIPTION: IEEE compliant 4-byte floating point (single precision). 00067 typedef float Float; 00068 // DESCRIPTION: IEEE compliant 8-byte floating point (double precision). 00069 typedef double Double; 00070 00071 #if !defined(FALSE) 00072 //{partOf: Boolean} 00073 # define FALSE 0 00074 #endif 00075 #if !defined(TRUE) 00076 //{partOf: Boolean} 00077 # define TRUE 1 00078 #endif 00079 00080 #else 00081 00082 // 00083 // If we are using the Any type, we must have included ACE. We therefore 00084 // wrap ACE's datatypes to make use of its portability guarantees. 00085 // 00086 typedef DsLogAdmin::Anys Anys; 00087 00088 typedef CORBA::Any Any; 00089 typedef CORBA::Octet Octet; 00090 typedef CORBA::Boolean Boolean; 00091 00092 typedef CORBA::Short Short; 00093 typedef CORBA::Long Long; 00094 typedef CORBA::LongLong LongLong; 00095 00096 typedef CORBA::UShort UShort; 00097 typedef CORBA::ULong ULong; 00098 typedef CORBA::ULongLong ULongLong; 00099 00100 typedef CORBA::Float Float; 00101 typedef CORBA::Double Double; 00102 00103 #if !defined(FALSE) 00104 # define FALSE 0 00105 # define TRUE 1 00106 #endif 00107 00108 #endif // defined(CDB_HAS_ANY) 00109 00110 #if defined(__GNUG__) 00111 00112 // 00113 // DESCRIPTION: Macro for specifying 64-bit integer literals. 00114 // 00115 // EXAMPLE: 00116 // 00117 // ULongLong ull = CDB_ULONGLONG(0x8000000000000000); 00118 // 00119 # define CDB_LONGLONG(n) n##LL 00120 00121 //{partOf:CDB_LONGLONG} 00122 # define CDB_ULONGLONG(n) n##ULL 00123 00124 #elif _MSC_VER >= 1100 00125 00126 # define CDB_LONGLONG(n) n 00127 # define CDB_ULONGLONG(n) n 00128 00129 #endif // _MSC_VER >= 1100 00130 00131 // ------------------------------------------------------------------------ 00132 // GROUP = Arrays 00133 // ------------------------------------------------------------------------ 00134 00135 #if defined(CDB_HAS_ANY) 00136 //{partOf:Arrays} 00137 typedef std::vector<Any> AnyArray; 00138 #endif // defined(CDB_HAS_ANY) 00139 00140 //{partOf:Arrays} 00141 typedef std::vector<String> StringArray; 00142 //{partOf:Arrays} 00143 typedef std::vector<Octet> OctetArray; 00144 00145 //{partOf:Arrays} 00146 typedef std::vector<Short> ShortArray; 00147 //{partOf:Arrays} 00148 typedef std::vector<Long> LongArray; 00149 //{partOf:Arrays} 00150 typedef std::vector<LongLong> LongLongArray; 00151 00152 typedef std::vector<UShort> UShortArray; 00153 typedef std::vector<ULong> ULongArray; 00154 typedef std::vector<ULongLong> ULongLongArray; 00155 00156 typedef std::vector<Float> FloatArray; 00157 typedef std::vector<Double> DoubleArray; 00158 00159 }; 00160 00161 #endif // __cdb__Data_Types_h__ 00162 00163 // ************************************************************************ 00164 // 00165 // REVISION HISTORY: 00166 // 00167 // $Log: cdbData_Types.h,v $ 00168 // Revision 1.25 2006/09/01 02:20:54 cparedes 00169 // small change, NAMESPACE_BEGIN / NAMESPACE_END / NAMESPACE_USE macross to clean up a little the cpp code 00170 // 00171 // Revision 1.24 2003/01/28 16:43:49 vltsccm 00172 // gchiozzi: patch for cdb module to create lib/endorsed directory, since CVS cannot restore empty directories 00173 // 00174 // Revision 1.23 2003/01/24 10:44:03 vltsccm 00175 // cdb1.23 00176 // 00177 // Revision 1.22 2003/01/20 15:12:19 vltsccm 00178 // cdb1.22 00179 // 00180 // Revision 1.21 2003/01/20 10:45:53 vltsccm 00181 // cdb1.21 00182 // 00183 // Revision 1.20 2002/12/05 16:03:58 vltsccm 00184 // cdb1.20 00185 // 00186 // Revision 1.19 2002/11/25 16:04:49 vltsccm 00187 // cdb1.19 00188 // 00189 // Revision 1.18 2002/11/13 14:53:04 vltsccm 00190 // cdb1.18 00191 // 00192 // Revision 1.17 2002/11/13 10:22:30 vltsccm 00193 // cdb1.17 00194 // 00195 // Revision 1.16 2002/11/06 08:37:04 vltsccm 00196 // cdb1.16 00197 // 00198 // Revision 1.15.1.23 2002/11/05 16:05:13 vltsccm 00199 // cdb1.15.1.23 00200 // 00201 // Revision 1.15.1.22 2002/11/05 13:46:30 vltsccm 00202 // cdb1.15.1.22 00203 // 00204 // Revision 1.15.1.21 2002/11/05 10:41:14 vltsccm 00205 // cdb1.15.1.21 00206 // 00207 // Revision 1.15.1.20 2002/11/01 12:49:02 vltsccm 00208 // cdb1.15.1.20 00209 // 00210 // Revision 1.15.1.19 2002/10/30 07:56:43 vltsccm 00211 // cdb1.15.1.19 00212 // 00213 // Revision 1.15.1.18 2002/10/25 12:44:23 vltsccm 00214 // cdb1.15.1.18 00215 // 00216 // Revision 1.15.1.17 2002/10/24 13:08:43 vltsccm 00217 // cdb1.15.1.17 00218 // 00219 // Revision 1.15.1.16 2002/10/16 11:43:44 vltsccm 00220 // cdb1.15.1.16 00221 // 00222 // Revision 1.15.1.15 2002/10/14 22:26:09 vltsccm 00223 // cdb1.15.1.15 00224 // 00225 // Revision 1.15.1.14 2002/10/14 12:18:32 vltsccm 00226 // cdb1.15.1.14 00227 // 00228 // Revision 1.15.1.13 2002/10/04 16:20:23 vltsccm 00229 // cdb1.15.1.13 00230 // 00231 // Revision 1.15.1.12 2002/10/02 12:54:14 vltsccm 00232 // cdb1.15.1.12 00233 // 00234 // Revision 1.15.1.11 2002/10/01 10:33:25 vltsccm 00235 // cdb1.15.1.11 00236 // 00237 // Revision 1.15.1.10 2002/09/30 13:56:51 vltsccm 00238 // cdb1.15.1.10 00239 // 00240 // Revision 1.15.1.9 2002/09/26 14:13:10 vltsccm 00241 // cdb1.15.1.9 00242 // 00243 // Revision 1.15.1.8 2002/09/26 07:45:46 vltsccm 00244 // cdb1.15.1.8 00245 // 00246 // Revision 1.15.1.7 2002/09/17 16:19:22 vltsccm 00247 // cdb1.15.1.7 00248 // 00249 // Revision 1.15.1.6 2002/09/17 11:15:47 vltsccm 00250 // cdb1.15.1.6 00251 // 00252 // Revision 1.15.1.5 2002/09/02 09:37:06 vltsccm 00253 // cdb1.15.1.5 00254 // 00255 // Revision 1.15.1.4 2002/08/09 09:35:22 vltsccm 00256 // cdb1.15.1.4 00257 // 00258 // Revision 1.15.1.3 2002/07/24 07:29:10 vltsccm 00259 // cdb1.15.1.3 00260 // 00261 // Revision 1.15.1.2 2002/07/12 09:58:16 vltsccm 00262 // cdb1.15.1.2 00263 // 00264 // Revision 1.15+.1.1 2002/07/09 09:40:08 vltsccm 00265 // cdb1.15.1 00266 // 00267 // Revision 1.15 2002/02/05 17:50:07 vltsccm 00268 // cdb1.15 00269 // 00270 // Revision 1.14 2002/01/14 21:14:18 vltsccm 00271 // cdb1.14 00272 // 00273 // Revision 1.13 2001/10/19 09:56:22 vltsccm 00274 // cdb1.13 00275 // 00276 // Revision 1.12 2001/09/18 10:07:11 vltsccm 00277 // cdb1.12 00278 // 00279 // Revision 1.11 2001/07/12 07:48:26 vltsccm 00280 // cdb1.11 00281 // 00282 // Revision 1.10 2001/07/11 09:16:13 vltsccm 00283 // cdb1.10 00284 // 00285 // Revision 1.6 2000/12/07 18:00:40 vltsccm 00286 // cdb1.6 00287 // 00288 // Revision 1.5 2000/11/17 13:14:56 vltsccm 00289 // cdb1.5 00290 // 00291 // Revision 1.4 2000/10/20 13:51:16 vltsccm 00292 // cdb1.4 00293 // 00294 // Revision 1.3 2000/10/20 13:51:15 vltsccm 00295 // cdb1.3 00296 // 00297 // Revision 1.2 2000/10/20 13:51:15 vltsccm 00298 // cdb1.2 00299 // 00300 // Revision 1.1 2000/10/20 13:51:15 vltsccm 00301 // cdb1.1 00302 // 00303 // Revision 1.0 2000/10/20 13:51:14 vltsccm 00304 // cdb1.0 00305 // 00306 // Revision 1.3 2000/10/13 16:03:02 vltsccm 00307 // cdb1.3 00308 // 00309 // Revision 1.2 2000/09/13 14:49:28 vltsccm 00310 // cdb1.2 00311 // 00312 // Revision 1.1 2000/09/06 15:42:11 vltsccm 00313 // cdb1.1 00314 // 00315 // Revision 1.1 2000/06/13 07:26:24 kzagar 00316 // CDB, initial commit. Documentation not yet finished. 00317 // 00318 // ************************************************************************

Generated on Thu Apr 30 02:30:51 2009 for ACS C++ API by doxygen 1.3.8