#include <Marshal.h>
Inheritance diagram for TAO_Marshal_Struct:
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.
ACE_INLINE TAO_Marshal_Struct::TAO_Marshal_Struct | ( | void | ) |
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.
References ACE_DEBUG, ACE_TEXT, CORBA::COMPLETED_MAYBE, TAO_Pseudo_Var_T< T >::in(), LM_DEBUG, CORBA::TypeCode::member_count(), CORBA::TypeCode::member_type(), TAO_Marshal_Object::perform_append(), and TAO_debug_level.
Referenced by TAO_Marshal_Object::perform_append().
00327 { 00328 TAO::traverse_status retval = 00329 TAO::TRAVERSE_CONTINUE; 00330 CORBA::TypeCode_var param; 00331 00332 // Number of fields in the struct. 00333 const CORBA::ULong member_count = 00334 tc->member_count (); 00335 00336 for (CORBA::ULong i = 0; 00337 i < member_count && retval == TAO::TRAVERSE_CONTINUE; 00338 ++i) 00339 { 00340 // get member type 00341 param = tc->member_type (i); 00342 00343 retval = TAO_Marshal_Object::perform_append (param.in (), src, dest); 00344 } 00345 00346 if (retval == TAO::TRAVERSE_CONTINUE) 00347 return TAO::TRAVERSE_CONTINUE; 00348 00349 if (TAO_debug_level > 0) 00350 ACE_DEBUG ((LM_DEBUG, 00351 ACE_TEXT ("TAO_Marshal_Struct::append detected error\n"))); 00352 00353 throw ::CORBA::MARSHAL (0, CORBA::COMPLETED_MAYBE); 00354 }
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.
References ACE_DEBUG, ACE_TEXT, CORBA::COMPLETED_MAYBE, TAO_Pseudo_Var_T< T >::in(), LM_DEBUG, CORBA::TypeCode::member_count(), CORBA::TypeCode::member_type(), TAO_Marshal_Object::perform_skip(), and TAO_debug_level.
Referenced by TAO_Marshal_Object::perform_skip().
00293 { 00294 TAO::traverse_status retval = TAO::TRAVERSE_CONTINUE; 00295 CORBA::TypeCode_var param; 00296 00297 // Number of fields in the struct. 00298 CORBA::ULong const member_count = 00299 tc->member_count (); 00300 00301 for (CORBA::ULong i = 0; 00302 i < member_count && retval == TAO::TRAVERSE_CONTINUE; 00303 ++i) 00304 { 00305 param = tc->member_type (i); 00306 00307 retval = TAO_Marshal_Object::perform_skip (param.in (), stream); 00308 } 00309 00310 if (retval == TAO::TRAVERSE_CONTINUE) 00311 return TAO::TRAVERSE_CONTINUE; 00312 00313 if (TAO_debug_level > 0) 00314 ACE_DEBUG ((LM_DEBUG, 00315 ACE_TEXT ("TAO_Marshal_Struct::skip detected error\n"))); 00316 00317 throw ::CORBA::MARSHAL (0, CORBA::COMPLETED_MAYBE); 00318 }