#include <DynAnyUtils_T.h>
Static Public Member Functions | |
static void | insert_value (const T &val, TAO_DynCommon *the_dynany) |
static BasicTypeTraits< T > ::return_type | get_value (TAO_DynCommon *the_dynany) |
Definition at line 37 of file DynAnyUtils_T.h.
BasicTypeTraits< T >::return_type TAO::DynAnyBasicTypeUtils< T >::get_value | ( | TAO_DynCommon * | the_dynany | ) | [static] |
Definition at line 61 of file DynAnyUtils_T.cpp.
{ if (the_dynany->destroyed ()) { throw ::CORBA::OBJECT_NOT_EXIST (); } if (the_dynany->has_components ()) { DynamicAny::DynAny_var cc = the_dynany->check_component (); TAO_DynCommon *dc = dynamic_cast<TAO_DynCommon *> (cc.in ()); return DynAnyBasicTypeUtils<T>::get_value (dc); } else { typedef typename BasicTypeTraits<T>::return_type ret_type; typedef typename BasicTypeTraits<T>::extract_type ext_type; ret_type retval = ret_type (); ext_type extval (retval); const CORBA::Any &my_any = the_dynany->the_any (); if (!(my_any >>= extval)) { throw DynamicAny::DynAny::TypeMismatch (); } return BasicTypeTraits<T>::convert (extval); } }
void TAO::DynAnyBasicTypeUtils< T >::insert_value | ( | const T & | val, | |
TAO_DynCommon * | the_dynany | |||
) | [static] |
Definition at line 35 of file DynAnyUtils_T.cpp.
{ if (the_dynany->destroyed ()) { throw ::CORBA::OBJECT_NOT_EXIST (); } if (the_dynany->has_components ()) { DynamicAny::DynAny_var cc = the_dynany->check_component (); TAO_DynCommon *dc = dynamic_cast<TAO_DynCommon *> (cc.in ()); DynAnyBasicTypeUtils<T>::insert_value (val, dc); } else { the_dynany->check_type (BasicTypeTraits<T>::tc_value); CORBA::Any &my_any = the_dynany->the_any (); typedef typename TAO::BasicTypeTraits<T>::insert_type i_type; i_type insert_arg (val); my_any <<= insert_arg; } }