TAO::MakeDynAnyUtils Namespace Reference


Functions

template<typename ANY_TC> DynamicAny::DynAny_ptr make_dyn_any_t (CORBA::TypeCode_ptr tc, ANY_TC any_tc)


Function Documentation

template<typename ANY_TC>
DynamicAny::DynAny_ptr TAO::MakeDynAnyUtils::make_dyn_any_t CORBA::TypeCode_ptr  tc,
ANY_TC  any_tc
 

Definition at line 127 of file DynAnyUtils_T.cpp.

References TAO_DynCommon::is_basic_type_seq(), and TAO_DynAnyFactory::unalias().

00128     {
00129       switch (TAO_DynAnyFactory::unalias (tc))
00130         {
00131           case CORBA::tk_null:
00132           case CORBA::tk_void:
00133           case CORBA::tk_short:
00134           case CORBA::tk_long:
00135           case CORBA::tk_ushort:
00136           case CORBA::tk_ulong:
00137           case CORBA::tk_float:
00138           case CORBA::tk_double:
00139           case CORBA::tk_longlong:
00140           case CORBA::tk_ulonglong:
00141           case CORBA::tk_longdouble:
00142           case CORBA::tk_boolean:
00143           case CORBA::tk_char:
00144           case CORBA::tk_wchar:
00145           case CORBA::tk_octet:
00146           case CORBA::tk_any:
00147           case CORBA::tk_TypeCode:
00148           case CORBA::tk_objref:
00149           case CORBA::tk_string:
00150           case CORBA::tk_wstring:
00151             return
00152               CreateDynAnyUtils<
00153                 TAO_DynAny_i,
00154                 ANY_TC>::create_dyn_any_t (any_tc);
00155           case CORBA::tk_struct:
00156           case CORBA::tk_except:
00157             return
00158               CreateDynAnyUtils<
00159                 TAO_DynStruct_i,
00160                 ANY_TC>::create_dyn_any_t (any_tc);
00161           case CORBA::tk_sequence:
00162             if (TAO_DynCommon::is_basic_type_seq (tc))
00163               {
00164                 return
00165                   CreateDynAnyUtils<
00166                     TAO_DynAny_i,
00167                     ANY_TC>::create_dyn_any_t (any_tc);
00168               }
00169             else
00170               {
00171                 return
00172                   CreateDynAnyUtils<
00173                     TAO_DynSequence_i,
00174                     ANY_TC>::create_dyn_any_t (any_tc);
00175               }
00176           case CORBA::tk_union:
00177             return
00178               CreateDynAnyUtils<
00179                 TAO_DynUnion_i,
00180                 ANY_TC>::create_dyn_any_t (any_tc);
00181           case CORBA::tk_enum:
00182             return
00183               CreateDynAnyUtils<
00184                 TAO_DynEnum_i,
00185                 ANY_TC>::create_dyn_any_t (any_tc);
00186           case CORBA::tk_array:
00187             return
00188               CreateDynAnyUtils<
00189                 TAO_DynArray_i,
00190                 ANY_TC>::create_dyn_any_t (any_tc);
00191         case CORBA::tk_fixed:
00192         case CORBA::tk_value:
00193         case CORBA::tk_value_box:
00194         case CORBA::tk_abstract_interface:
00195         case CORBA::tk_component:
00196         case CORBA::tk_home:
00197           throw ::CORBA::NO_IMPLEMENT ();
00198         case CORBA::tk_native:
00199           throw DynamicAny::DynAnyFactory::InconsistentTypeCode ();
00200         default:
00201           break;
00202         }
00203 
00204       return DynamicAny::DynAny::_nil ();
00205     }


Generated on Sun Jan 27 13:37:13 2008 for TAO_DynamicAny by doxygen 1.3.6