TAO_Marshal_Any Class Reference

TAO_Marshal_Any. More...

#include <Marshal.h>

Inheritance diagram for TAO_Marshal_Any:

Inheritance graph
[legend]
Collaboration diagram for TAO_Marshal_Any:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_Marshal_Any (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_Any.

Marshal an Any

Definition at line 136 of file Marshal.h.


Constructor & Destructor Documentation

ACE_INLINE TAO_Marshal_Any::TAO_Marshal_Any void   ) 
 

Definition at line 18 of file Marshal.inl.

00019 {
00020 }


Member Function Documentation

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

append operation

Implements TAO_Marshal_Object.

Definition at line 107 of file append.cpp.

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

00110 {
00111   // Typecode of the element that makes the Any.
00112   CORBA::TypeCode_var elem_tc;
00113 
00114   if (!(*src >> elem_tc.inout ()))
00115     throw ::CORBA::MARSHAL (0, CORBA::COMPLETED_MAYBE);
00116 
00117   if (!(*dest << elem_tc.in ()))
00118     throw ::CORBA::MARSHAL (0, CORBA::COMPLETED_MAYBE);
00119 
00120   // append the data
00121   TAO::traverse_status retval =
00122     TAO_Marshal_Object::perform_append (elem_tc.in (), src, dest);
00123 
00124   if (retval != TAO::TRAVERSE_CONTINUE)
00125     {
00126       if (TAO_debug_level > 0)
00127         ACE_DEBUG ((LM_DEBUG,
00128                     ACE_TEXT ("TAO_Marshal_Any::append detected error\n")));
00129 
00130       throw ::CORBA::MARSHAL (0, CORBA::COMPLETED_MAYBE);
00131     }
00132 
00133   return retval;
00134 }

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

skip operation

Implements TAO_Marshal_Object.

Definition at line 99 of file skip.cpp.

References TAO_Marshal_Object::perform_skip().

00100 {
00101   // Typecode of the element that makes the Any.
00102   CORBA::TypeCode_var elem_tc;
00103 
00104   // Status of encode operation.
00105   if (!(*stream >> elem_tc.inout ()))
00106     return TAO::TRAVERSE_STOP;
00107 
00108   return TAO_Marshal_Object::perform_skip (elem_tc.in (), stream);
00109 }


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