#include <Marshal.h>
Public Member Functions | |
TAO_Marshal_Except (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 exception
Definition at line 356 of file Marshal.h.
TAO_Marshal_Except::TAO_Marshal_Except | ( | void | ) |
Definition at line 68 of file Marshal.inl.
{ }
TAO::traverse_status TAO_Marshal_Except::append | ( | CORBA::TypeCode_ptr | tc, | |
TAO_InputCDR * | src, | |||
TAO_OutputCDR * | dest | |||
) | [virtual] |
append operation
Implements TAO_Marshal_Object.
Definition at line 1059 of file append.cpp.
{ TAO::traverse_status retval = TAO::TRAVERSE_CONTINUE; CORBA::Boolean continue_append = true; CORBA::TypeCode_var param; // first append the RepositoryID continue_append = dest->append_string (*src); // 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 && continue_append == 1; ++i) { param = tc->member_type (i); retval = TAO_Marshal_Object::perform_append (param.in (), src, dest); } if (retval == TAO::TRAVERSE_CONTINUE && continue_append == 1) return TAO::TRAVERSE_CONTINUE; if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("TAO_Marshal_Except::append detected error\n"))); throw ::CORBA::MARSHAL (0, CORBA::COMPLETED_MAYBE); }
TAO::traverse_status TAO_Marshal_Except::skip | ( | CORBA::TypeCode_ptr | tc, | |
TAO_InputCDR * | context | |||
) | [virtual] |
skip operation
Implements TAO_Marshal_Object.
Definition at line 794 of file skip.cpp.
{ TAO::traverse_status retval = TAO::TRAVERSE_CONTINUE; CORBA::TypeCode_var param; // skip the Repository ID if (!stream->skip_string ()) return TAO::TRAVERSE_STOP; // Number of fields in the exception const CORBA::ULong 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_Except::skip detected error\n"))); throw ::CORBA::MARSHAL (0, CORBA::COMPLETED_MAYBE); }