00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file BasicTypeTraits.cpp 00006 * 00007 * $Id: BasicTypeTraits.cpp 75741 2006-12-03 07:37:58Z johnnyw $ 00008 * 00009 * Assign values to specialization members in BasicTypeTraits.h. 00010 * 00011 * @author Jeff Parsons <j.parsons@vanderbilt.edu> 00012 */ 00013 //============================================================================= 00014 00015 #include "tao/AnyTypeCode/BasicTypeTraits.h" 00016 #include "tao/AnyTypeCode/BooleanSeqA.h" 00017 #include "tao/AnyTypeCode/CharSeqA.h" 00018 #include "tao/AnyTypeCode/OctetSeqA.h" 00019 #include "tao/AnyTypeCode/WCharSeqA.h" 00020 #include "tao/AnyTypeCode/ShortSeqA.h" 00021 #include "tao/AnyTypeCode/UShortSeqA.h" 00022 #include "tao/AnyTypeCode/LongSeqA.h" 00023 #include "tao/AnyTypeCode/ULongSeqA.h" 00024 #include "tao/AnyTypeCode/LongLongSeqA.h" 00025 #include "tao/AnyTypeCode/ULongLongSeqA.h" 00026 #include "tao/AnyTypeCode/FloatSeqA.h" 00027 #include "tao/AnyTypeCode/DoubleSeqA.h" 00028 #include "tao/AnyTypeCode/LongDoubleSeqA.h" 00029 #include "tao/AnyTypeCode/AnySeqA.h" 00030 00031 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00032 00033 namespace TAO 00034 { 00035 CORBA::TypeCode_ptr const 00036 BasicTypeTraits<CORBA::Boolean>::tc_value = CORBA::_tc_boolean; 00037 00038 CORBA::TCKind const 00039 BasicTypeTraits<CORBA::Boolean>::tckind_value = CORBA::tk_boolean; 00040 00041 BasicTypeTraits<CORBA::Boolean>::return_type 00042 BasicTypeTraits<CORBA::Boolean>::convert (extract_type& et) 00043 { 00044 return et.ref_; 00045 } 00046 00047 //================================================================ 00048 00049 CORBA::TypeCode_ptr const 00050 BasicTypeTraits<CORBA::Octet>::tc_value = CORBA::_tc_octet; 00051 00052 CORBA::TCKind const 00053 BasicTypeTraits<CORBA::Octet>::tckind_value = CORBA::tk_octet; 00054 00055 BasicTypeTraits<CORBA::Octet>::return_type 00056 BasicTypeTraits<CORBA::Octet>::convert (extract_type& et) 00057 { 00058 return et.ref_; 00059 } 00060 00061 //================================================================ 00062 00063 CORBA::TypeCode_ptr const 00064 BasicTypeTraits<CORBA::Char>::tc_value = CORBA::_tc_char; 00065 00066 CORBA::TCKind const 00067 BasicTypeTraits<CORBA::Char>::tckind_value = CORBA::tk_char; 00068 00069 BasicTypeTraits<CORBA::Char>::return_type 00070 BasicTypeTraits<CORBA::Char>::convert (extract_type& et) 00071 { 00072 return et.ref_; 00073 } 00074 00075 //================================================================ 00076 00077 #if (defined (ACE_HAS_WCHAR) || defined (ACE_HAS_XPG4_MULTIBYTE_CHAR)) && !defined (ACE_LACKS_NATIVE_WCHAR_T) 00078 00079 CORBA::TypeCode_ptr const 00080 BasicTypeTraits<CORBA::WChar>::tc_value = CORBA::_tc_wchar; 00081 00082 CORBA::TCKind const 00083 BasicTypeTraits<CORBA::WChar>::tckind_value = CORBA::tk_wchar; 00084 00085 BasicTypeTraits<CORBA::WChar>::return_type 00086 BasicTypeTraits<CORBA::WChar>::convert (extract_type& et) 00087 { 00088 return et.ref_; 00089 } 00090 00091 #endif 00092 00093 //================================================================ 00094 00095 CORBA::TypeCode_ptr const 00096 BasicTypeTraits<CORBA::Short>::tc_value = CORBA::_tc_short; 00097 00098 CORBA::TCKind const 00099 BasicTypeTraits<CORBA::Short>::tckind_value = CORBA::tk_short; 00100 00101 BasicTypeTraits<CORBA::Short>::return_type 00102 BasicTypeTraits<CORBA::Short>::convert (extract_type& et) 00103 { 00104 return et; 00105 } 00106 00107 //================================================================ 00108 00109 CORBA::TypeCode_ptr const 00110 BasicTypeTraits<CORBA::UShort>::tc_value = CORBA::_tc_ushort; 00111 00112 CORBA::TCKind const 00113 BasicTypeTraits<CORBA::UShort>::tckind_value = CORBA::tk_ushort; 00114 00115 BasicTypeTraits<CORBA::UShort>::return_type 00116 BasicTypeTraits<CORBA::UShort>::convert (extract_type& et) 00117 { 00118 return et; 00119 } 00120 00121 //================================================================ 00122 00123 CORBA::TypeCode_ptr const 00124 BasicTypeTraits<CORBA::Long>::tc_value = CORBA::_tc_long; 00125 00126 CORBA::TCKind const 00127 BasicTypeTraits<CORBA::Long>::tckind_value = CORBA::tk_long; 00128 00129 BasicTypeTraits<CORBA::Long>::return_type 00130 BasicTypeTraits<CORBA::Long>::convert (extract_type& et) 00131 { 00132 return et; 00133 } 00134 00135 //================================================================ 00136 00137 CORBA::TypeCode_ptr const 00138 BasicTypeTraits<CORBA::ULong>::tc_value = CORBA::_tc_ulong; 00139 00140 CORBA::TCKind const 00141 BasicTypeTraits<CORBA::ULong>::tckind_value = CORBA::tk_ulong; 00142 00143 BasicTypeTraits<CORBA::ULong>::return_type 00144 BasicTypeTraits<CORBA::ULong>::convert (extract_type& et) 00145 { 00146 return et; 00147 } 00148 00149 //================================================================ 00150 00151 CORBA::TypeCode_ptr const 00152 BasicTypeTraits<CORBA::LongLong>::tc_value = CORBA::_tc_longlong; 00153 00154 CORBA::TCKind const 00155 BasicTypeTraits<CORBA::LongLong>::tckind_value = CORBA::tk_longlong; 00156 00157 BasicTypeTraits<CORBA::LongLong>::return_type 00158 BasicTypeTraits<CORBA::LongLong>::convert (extract_type& et) 00159 { 00160 return et; 00161 } 00162 00163 //================================================================ 00164 00165 CORBA::TypeCode_ptr const 00166 BasicTypeTraits<CORBA::ULongLong>::tc_value = CORBA::_tc_ulonglong; 00167 00168 CORBA::TCKind const 00169 BasicTypeTraits<CORBA::ULongLong>::tckind_value = CORBA::tk_ulonglong; 00170 00171 BasicTypeTraits<CORBA::ULongLong>::return_type 00172 BasicTypeTraits<CORBA::ULongLong>::convert (extract_type& et) 00173 { 00174 return et; 00175 } 00176 00177 //================================================================ 00178 00179 CORBA::TypeCode_ptr const 00180 BasicTypeTraits<CORBA::Float>::tc_value = CORBA::_tc_float; 00181 00182 CORBA::TCKind const 00183 BasicTypeTraits<CORBA::Float>::tckind_value = CORBA::tk_float; 00184 00185 BasicTypeTraits<CORBA::Float>::return_type 00186 BasicTypeTraits<CORBA::Float>::convert (extract_type& et) 00187 { 00188 return et; 00189 } 00190 00191 //================================================================ 00192 00193 CORBA::TypeCode_ptr const 00194 BasicTypeTraits<CORBA::Double>::tc_value = CORBA::_tc_double; 00195 00196 CORBA::TCKind const 00197 BasicTypeTraits<CORBA::Double>::tckind_value = CORBA::tk_double; 00198 00199 BasicTypeTraits<CORBA::Double>::return_type 00200 BasicTypeTraits<CORBA::Double>::convert (extract_type& et) 00201 { 00202 return et; 00203 } 00204 00205 //================================================================ 00206 00207 CORBA::TypeCode_ptr const 00208 BasicTypeTraits<CORBA::LongDouble>::tc_value = CORBA::_tc_longdouble; 00209 00210 CORBA::TCKind const 00211 BasicTypeTraits<CORBA::LongDouble>::tckind_value = CORBA::tk_longdouble; 00212 00213 BasicTypeTraits<CORBA::LongDouble>::return_type 00214 BasicTypeTraits<CORBA::LongDouble>::convert (extract_type& et) 00215 { 00216 return et; 00217 } 00218 00219 //================================================================ 00220 00221 CORBA::TypeCode_ptr const 00222 BasicTypeTraits<CORBA::Char *>::tc_value = CORBA::_tc_string; 00223 00224 CORBA::TCKind const 00225 BasicTypeTraits<CORBA::Char *>::tckind_value = CORBA::tk_string; 00226 00227 BasicTypeTraits<CORBA::Char *>::return_type 00228 BasicTypeTraits<CORBA::Char *>::convert (extract_type& et) 00229 { 00230 return et; 00231 } 00232 00233 //================================================================ 00234 00235 CORBA::TypeCode_ptr const 00236 BasicTypeTraits<CORBA::WChar *>::tc_value = CORBA::_tc_wstring; 00237 00238 CORBA::TCKind const 00239 BasicTypeTraits<CORBA::WChar *>::tckind_value = CORBA::tk_wstring; 00240 00241 BasicTypeTraits<CORBA::WChar *>::return_type 00242 BasicTypeTraits<CORBA::WChar *>::convert (extract_type& et) 00243 { 00244 return et; 00245 } 00246 00247 //================================================================ 00248 00249 CORBA::TypeCode_ptr const 00250 BasicTypeTraits<CORBA::Any>::tc_value = CORBA::_tc_any; 00251 00252 CORBA::TCKind const 00253 BasicTypeTraits<CORBA::Any>::tckind_value = CORBA::tk_any; 00254 00255 BasicTypeTraits<CORBA::Any>::return_type 00256 BasicTypeTraits<CORBA::Any>::convert (extract_type& et) 00257 { 00258 return et; 00259 } 00260 00261 //================================================================ 00262 00263 CORBA::TypeCode_ptr const 00264 BasicTypeTraits<CORBA::Object_ptr>::tc_value = CORBA::_tc_Object; 00265 00266 CORBA::TCKind const 00267 BasicTypeTraits<CORBA::Object_ptr>::tckind_value = CORBA::tk_objref; 00268 00269 BasicTypeTraits<CORBA::Object_ptr>::return_type 00270 BasicTypeTraits<CORBA::Object_ptr>::convert (extract_type& et) 00271 { 00272 return et; 00273 } 00274 00275 //================================================================ 00276 00277 CORBA::TypeCode_ptr const 00278 BasicTypeTraits<CORBA::TypeCode_ptr>::tc_value = CORBA::_tc_TypeCode; 00279 00280 CORBA::TCKind const 00281 BasicTypeTraits<CORBA::TypeCode_ptr>::tckind_value = CORBA::tk_TypeCode; 00282 00283 BasicTypeTraits<CORBA::TypeCode_ptr>::return_type 00284 BasicTypeTraits<CORBA::TypeCode_ptr>::convert (extract_type& et) 00285 { 00286 return et; 00287 } 00288 00289 //================================================================ 00290 00291 CORBA::TypeCode_ptr const 00292 BasicTypeTraits<CORBA::BooleanSeq>::tc_value = CORBA::_tc_BooleanSeq; 00293 00294 CORBA::TCKind const 00295 BasicTypeTraits<CORBA::BooleanSeq>::tckind_value = CORBA::tk_sequence; 00296 00297 BasicTypeTraits<CORBA::BooleanSeq>::return_type 00298 BasicTypeTraits<CORBA::BooleanSeq>::convert (extract_type& et) 00299 { 00300 return et; 00301 } 00302 00303 //================================================================ 00304 00305 CORBA::TypeCode_ptr const 00306 BasicTypeTraits<CORBA::OctetSeq>::tc_value = CORBA::_tc_OctetSeq; 00307 00308 CORBA::TCKind const 00309 BasicTypeTraits<CORBA::OctetSeq>::tckind_value = CORBA::tk_sequence; 00310 00311 BasicTypeTraits<CORBA::OctetSeq>::return_type 00312 BasicTypeTraits<CORBA::OctetSeq>::convert (extract_type& et) 00313 { 00314 return et; 00315 } 00316 00317 //================================================================ 00318 00319 CORBA::TypeCode_ptr const 00320 BasicTypeTraits<CORBA::CharSeq>::tc_value = CORBA::_tc_CharSeq; 00321 00322 CORBA::TCKind const 00323 BasicTypeTraits<CORBA::CharSeq>::tckind_value = CORBA::tk_sequence; 00324 00325 BasicTypeTraits<CORBA::CharSeq>::return_type 00326 BasicTypeTraits<CORBA::CharSeq>::convert (extract_type& et) 00327 { 00328 return et; 00329 } 00330 00331 //================================================================ 00332 00333 CORBA::TypeCode_ptr const 00334 BasicTypeTraits<CORBA::WCharSeq>::tc_value = CORBA::_tc_WCharSeq; 00335 00336 CORBA::TCKind const 00337 BasicTypeTraits<CORBA::WCharSeq>::tckind_value = CORBA::tk_sequence; 00338 00339 BasicTypeTraits<CORBA::WCharSeq>::return_type 00340 BasicTypeTraits<CORBA::WCharSeq>::convert (extract_type& et) 00341 { 00342 return et; 00343 } 00344 00345 //================================================================ 00346 00347 CORBA::TypeCode_ptr const 00348 BasicTypeTraits<CORBA::ShortSeq>::tc_value = CORBA::_tc_ShortSeq; 00349 00350 CORBA::TCKind const 00351 BasicTypeTraits<CORBA::ShortSeq>::tckind_value = CORBA::tk_sequence; 00352 00353 BasicTypeTraits<CORBA::ShortSeq>::return_type 00354 BasicTypeTraits<CORBA::ShortSeq>::convert (extract_type& et) 00355 { 00356 return et; 00357 } 00358 00359 //================================================================ 00360 00361 CORBA::TypeCode_ptr const 00362 BasicTypeTraits<CORBA::UShortSeq>::tc_value = CORBA::_tc_UShortSeq; 00363 00364 CORBA::TCKind const 00365 BasicTypeTraits<CORBA::UShortSeq>::tckind_value = CORBA::tk_sequence; 00366 00367 BasicTypeTraits<CORBA::UShortSeq>::return_type 00368 BasicTypeTraits<CORBA::UShortSeq>::convert (extract_type& et) 00369 { 00370 return et; 00371 } 00372 00373 //================================================================ 00374 00375 CORBA::TypeCode_ptr const 00376 BasicTypeTraits<CORBA::LongSeq>::tc_value = CORBA::_tc_LongSeq; 00377 00378 CORBA::TCKind const 00379 BasicTypeTraits<CORBA::LongSeq>::tckind_value = CORBA::tk_sequence; 00380 00381 BasicTypeTraits<CORBA::LongSeq>::return_type 00382 BasicTypeTraits<CORBA::LongSeq>::convert (extract_type& et) 00383 { 00384 return et; 00385 } 00386 00387 //================================================================ 00388 00389 CORBA::TypeCode_ptr const 00390 BasicTypeTraits<CORBA::ULongSeq>::tc_value = CORBA::_tc_ULongSeq; 00391 00392 CORBA::TCKind const 00393 BasicTypeTraits<CORBA::ULongSeq>::tckind_value = CORBA::tk_sequence; 00394 00395 BasicTypeTraits<CORBA::ULongSeq>::return_type 00396 BasicTypeTraits<CORBA::ULongSeq>::convert (extract_type& et) 00397 { 00398 return et; 00399 } 00400 00401 //================================================================ 00402 00403 CORBA::TypeCode_ptr const 00404 BasicTypeTraits<CORBA::LongLongSeq>::tc_value = CORBA::_tc_LongLongSeq; 00405 00406 CORBA::TCKind const 00407 BasicTypeTraits<CORBA::LongLongSeq>::tckind_value = CORBA::tk_sequence; 00408 00409 BasicTypeTraits<CORBA::LongLongSeq>::return_type 00410 BasicTypeTraits<CORBA::LongLongSeq>::convert (extract_type& et) 00411 { 00412 return et; 00413 } 00414 00415 //================================================================ 00416 00417 CORBA::TypeCode_ptr const 00418 BasicTypeTraits<CORBA::ULongLongSeq>::tc_value = CORBA::_tc_ULongLongSeq; 00419 00420 CORBA::TCKind const 00421 BasicTypeTraits<CORBA::ULongLongSeq>::tckind_value = CORBA::tk_sequence; 00422 00423 BasicTypeTraits<CORBA::ULongLongSeq>::return_type 00424 BasicTypeTraits<CORBA::ULongLongSeq>::convert (extract_type& et) 00425 { 00426 return et; 00427 } 00428 00429 //================================================================ 00430 00431 CORBA::TypeCode_ptr const 00432 BasicTypeTraits<CORBA::FloatSeq>::tc_value = CORBA::_tc_FloatSeq; 00433 00434 CORBA::TCKind const 00435 BasicTypeTraits<CORBA::FloatSeq>::tckind_value = CORBA::tk_sequence; 00436 00437 BasicTypeTraits<CORBA::FloatSeq>::return_type 00438 BasicTypeTraits<CORBA::FloatSeq>::convert (extract_type& et) 00439 { 00440 return et; 00441 } 00442 00443 //================================================================ 00444 00445 CORBA::TypeCode_ptr const 00446 BasicTypeTraits<CORBA::DoubleSeq>::tc_value = CORBA::_tc_DoubleSeq; 00447 00448 CORBA::TCKind const 00449 BasicTypeTraits<CORBA::DoubleSeq>::tckind_value = CORBA::tk_sequence; 00450 00451 BasicTypeTraits<CORBA::DoubleSeq>::return_type 00452 BasicTypeTraits<CORBA::DoubleSeq>::convert (extract_type& et) 00453 { 00454 return et; 00455 } 00456 00457 //================================================================ 00458 00459 CORBA::TypeCode_ptr const 00460 BasicTypeTraits<CORBA::LongDoubleSeq>::tc_value = CORBA::_tc_LongDoubleSeq; 00461 00462 CORBA::TCKind const 00463 BasicTypeTraits<CORBA::LongDoubleSeq>::tckind_value = CORBA::tk_sequence; 00464 00465 BasicTypeTraits<CORBA::LongDoubleSeq>::return_type 00466 BasicTypeTraits<CORBA::LongDoubleSeq>::convert (extract_type& et) 00467 { 00468 return et; 00469 } 00470 00471 //================================================================ 00472 00473 CORBA::TypeCode_ptr const 00474 BasicTypeTraits<CORBA::AnySeq>::tc_value = CORBA::_tc_AnySeq; 00475 00476 CORBA::TCKind const 00477 BasicTypeTraits<CORBA::AnySeq>::tckind_value = CORBA::tk_sequence; 00478 00479 BasicTypeTraits<CORBA::AnySeq>::return_type 00480 BasicTypeTraits<CORBA::AnySeq>::convert (extract_type& et) 00481 { 00482 return et; 00483 } 00484 } 00485 00486 TAO_END_VERSIONED_NAMESPACE_DECL 00487