TAO_Marshal_Alias Class Reference

TAO_Marshal_Alias. More...

#include <Marshal.h>

Inheritance diagram for TAO_Marshal_Alias:

Inheritance graph
[legend]
Collaboration diagram for TAO_Marshal_Alias:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_Marshal_Alias (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


Detailed Description

TAO_Marshal_Alias.

marshal an alias

Definition at line 334 of file Marshal.h.


Constructor & Destructor Documentation

ACE_INLINE TAO_Marshal_Alias::TAO_Marshal_Alias void   ) 
 

Definition at line 63 of file Marshal.inl.

00064 {
00065 }


Member Function Documentation

TAO::traverse_status TAO_Marshal_Alias::append CORBA::TypeCode_ptr  tc,
TAO_InputCDR src,
TAO_OutputCDR dest
[virtual]
 

append operation

Implements TAO_Marshal_Object.

Definition at line 1025 of file append.cpp.

References ACE_DEBUG, ACE_TEXT, LM_DEBUG, TAO_Marshal_Object::perform_append(), and TAO_debug_level.

01028 {
01029   // Typecode of the aliased type.
01030   CORBA::TypeCode_var tc2;
01031   CORBA::Boolean continue_append = true;
01032 
01033   // Status of decode operation.
01034   TAO::traverse_status retval =
01035     TAO::TRAVERSE_CONTINUE;
01036 
01037   tc2 = tc->content_type ();
01038 
01039   retval = TAO_Marshal_Object::perform_append (tc2.in (), src, dest);
01040 
01041   if (retval == TAO::TRAVERSE_CONTINUE
01042       && continue_append == true)
01043     return TAO::TRAVERSE_CONTINUE;
01044 
01045   if (TAO_debug_level > 0)
01046     ACE_DEBUG ((LM_DEBUG,
01047                 ACE_TEXT ("TAO_Marshal_Alias::append detected error\n")));
01048   throw ::CORBA::MARSHAL (0, CORBA::COMPLETED_MAYBE);
01049 }

TAO::traverse_status TAO_Marshal_Alias::skip CORBA::TypeCode_ptr  tc,
TAO_InputCDR context
[virtual]
 

skip operation

Implements TAO_Marshal_Object.

Definition at line 760 of file skip.cpp.

References ACE_DEBUG, ACE_TEXT, LM_DEBUG, TAO_Marshal_Object::perform_skip(), and TAO_debug_level.

00761 {
00762   // Typecode of the aliased type.
00763   CORBA::TypeCode_var tc2;
00764   CORBA::Boolean continue_skipping = true;
00765 
00766   // Status of decode operation.
00767   TAO::traverse_status retval =
00768     TAO::TRAVERSE_CONTINUE;
00769 
00770   tc2 = tc->content_type ();
00771 
00772   retval = TAO_Marshal_Object::perform_skip (tc2.in (), stream);
00773 
00774   //  tc2->_decr_refcnt ();
00775   if (retval == TAO::TRAVERSE_CONTINUE
00776       && continue_skipping)
00777     return TAO::TRAVERSE_CONTINUE;
00778 
00779   if (TAO_debug_level > 0)
00780     ACE_DEBUG ((LM_DEBUG,
00781                 ACE_TEXT ("TAO_Marshal_Alias::skip detected error\n")));
00782 
00783   throw ::CORBA::MARSHAL (0, CORBA::COMPLETED_MAYBE);
00784 }


The documentation for this class was generated from the following files:
Generated on Sun Jan 27 13:21:55 2008 for TAO_AnyTypeCode by doxygen 1.3.6