#include <Marshal.h>
Public Member Functions | |
TAO_Marshal_Struct (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 a struct
Definition at line 224 of file Marshal.h.
TAO_Marshal_Struct::TAO_Marshal_Struct | ( | void | ) |
Definition at line 38 of file Marshal.inl.
{ }
TAO::traverse_status TAO_Marshal_Struct::append | ( | CORBA::TypeCode_ptr | tc, | |
TAO_InputCDR * | src, | |||
TAO_OutputCDR * | dest | |||
) | [virtual] |
append operation
Implements TAO_Marshal_Object.
Definition at line 324 of file append.cpp.
{ TAO::traverse_status retval = TAO::TRAVERSE_CONTINUE; CORBA::TypeCode_var param; // Number of fields in the struct. const CORBA::ULong member_count = tc->member_count (); for (CORBA::ULong i = 0; i < member_count && retval == TAO::TRAVERSE_CONTINUE; ++i) { // get member type param = tc->member_type (i); retval = TAO_Marshal_Object::perform_append (param.in (), src, dest); } if (retval == TAO::TRAVERSE_CONTINUE) return TAO::TRAVERSE_CONTINUE; if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("TAO_Marshal_Struct::append detected error\n"))); throw ::CORBA::MARSHAL (0, CORBA::COMPLETED_MAYBE); }
TAO::traverse_status TAO_Marshal_Struct::skip | ( | CORBA::TypeCode_ptr | tc, | |
TAO_InputCDR * | context | |||
) | [virtual] |
skip operation
Implements TAO_Marshal_Object.
Definition at line 292 of file skip.cpp.
{ TAO::traverse_status retval = TAO::TRAVERSE_CONTINUE; CORBA::TypeCode_var param; // Number of fields in the struct. CORBA::ULong const member_count = tc->member_count (); for (CORBA::ULong i = 0; i < member_count && retval == TAO::TRAVERSE_CONTINUE; ++i) { param = tc->member_type (i); retval = TAO_Marshal_Object::perform_skip (param.in (), stream); } if (retval == TAO::TRAVERSE_CONTINUE) return TAO::TRAVERSE_CONTINUE; if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("TAO_Marshal_Struct::skip detected error\n"))); throw ::CORBA::MARSHAL (0, CORBA::COMPLETED_MAYBE); }