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