#include <Marshal.h>
Inheritance diagram for TAO_Marshal_Any:
Public Member Functions | |
TAO_Marshal_Any (void) | |
virtual TAO::traverse_status | skip (CORBA::TypeCode_ptr tc, TAO_InputCDR *context) |
skip operation | |
virtual TAO::traverse_status | append (CORBA::TypeCode_ptr tc, TAO_InputCDR *src, TAO_OutputCDR *dest) |
append operation |
Marshal an Any
Definition at line 136 of file Marshal.h.
ACE_INLINE TAO_Marshal_Any::TAO_Marshal_Any | ( | void | ) |
TAO::traverse_status TAO_Marshal_Any::append | ( | CORBA::TypeCode_ptr | tc, | |
TAO_InputCDR * | src, | |||
TAO_OutputCDR * | dest | |||
) | [virtual] |
append operation
Implements TAO_Marshal_Object.
Definition at line 107 of file append.cpp.
References ACE_DEBUG, ACE_TEXT, CORBA::COMPLETED_MAYBE, TAO_Pseudo_Var_T< T >::in(), TAO_Pseudo_Var_T< T >::inout(), LM_DEBUG, TAO_Marshal_Object::perform_append(), and TAO_debug_level.
Referenced by TAO_Marshal_Object::perform_append().
00110 { 00111 // Typecode of the element that makes the Any. 00112 CORBA::TypeCode_var elem_tc; 00113 00114 if (!(*src >> elem_tc.inout ())) 00115 throw ::CORBA::MARSHAL (0, CORBA::COMPLETED_MAYBE); 00116 00117 if (!(*dest << elem_tc.in ())) 00118 throw ::CORBA::MARSHAL (0, CORBA::COMPLETED_MAYBE); 00119 00120 // append the data 00121 TAO::traverse_status retval = 00122 TAO_Marshal_Object::perform_append (elem_tc.in (), src, dest); 00123 00124 if (retval != TAO::TRAVERSE_CONTINUE) 00125 { 00126 if (TAO_debug_level > 0) 00127 ACE_DEBUG ((LM_DEBUG, 00128 ACE_TEXT ("TAO_Marshal_Any::append detected error\n"))); 00129 00130 throw ::CORBA::MARSHAL (0, CORBA::COMPLETED_MAYBE); 00131 } 00132 00133 return retval; 00134 }
TAO::traverse_status TAO_Marshal_Any::skip | ( | CORBA::TypeCode_ptr | tc, | |
TAO_InputCDR * | context | |||
) | [virtual] |
skip operation
Implements TAO_Marshal_Object.
Definition at line 99 of file skip.cpp.
References TAO_Pseudo_Var_T< T >::in(), TAO_Pseudo_Var_T< T >::inout(), and TAO_Marshal_Object::perform_skip().
Referenced by TAO_Marshal_Object::perform_skip().
00100 { 00101 // Typecode of the element that makes the Any. 00102 CORBA::TypeCode_var elem_tc; 00103 00104 // Status of encode operation. 00105 if (!(*stream >> elem_tc.inout ())) 00106 return TAO::TRAVERSE_STOP; 00107 00108 return TAO_Marshal_Object::perform_skip (elem_tc.in (), stream); 00109 }