#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;
}
}
1.7.0