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