TAO_Marshal_String Class Reference

TAO_Marshal_String. More...

#include <Marshal.h>

Inheritance diagram for TAO_Marshal_String:

Inheritance graph
[legend]
Collaboration diagram for TAO_Marshal_String:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_Marshal_String (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_String.

marshal a string

Definition at line 268 of file Marshal.h.


Constructor & Destructor Documentation

ACE_INLINE TAO_Marshal_String::TAO_Marshal_String void   ) 
 

Definition at line 48 of file Marshal.inl.

00049 {
00050 }


Member Function Documentation

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

append operation

Implements TAO_Marshal_Object.

Definition at line 602 of file append.cpp.

References ACE_DEBUG, ACE_TEXT, ACE_OutputCDR::append_string(), LM_DEBUG, and TAO_debug_level.

00605 {
00606   CORBA::Boolean continue_append = true;
00607 
00608   // On decode, omit the check against specified string bounds, and
00609   // cope with illegal "zero length" strings (all lengths on the wire
00610   // must include a NUL).
00611   //
00612   // This is on the principle of being gracious in what we accept; we
00613   // don't generate messages that fail to comply with protocol specs,
00614   // but we will accept them when it's clear how to do so.
00615 
00616   continue_append = dest->append_string (*src);
00617   if (continue_append == 1)
00618     return TAO::TRAVERSE_CONTINUE;
00619 
00620   if (TAO_debug_level > 0)
00621     ACE_DEBUG ((LM_DEBUG,
00622                 ACE_TEXT ("TAO_Marshal_TypeCode::append detected error\n")));
00623 
00624   throw ::CORBA::MARSHAL (0, CORBA::COMPLETED_MAYBE);
00625 }

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

skip operation

Implements TAO_Marshal_Object.

Definition at line 553 of file skip.cpp.

References ACE_DEBUG, ACE_TEXT, LM_DEBUG, ACE_InputCDR::skip_string(), and TAO_debug_level.

00554 {
00555   CORBA::Boolean continue_skipping = true;
00556 
00557   // On decode, omit the check against specified string bounds, and
00558   // cope with illegal "zero length" strings (all lengths on the wire
00559   // must include a NUL).
00560   //
00561   // This is on the principle of being gracious in what we accept; we
00562   // don't generate messages that fail to comply with protocol specs,
00563   // but we will accept them when it's clear how to do so.
00564 
00565   continue_skipping = stream->skip_string ();
00566   if (continue_skipping)
00567     return TAO::TRAVERSE_CONTINUE;
00568   else
00569     {
00570       if (TAO_debug_level > 0)
00571         ACE_DEBUG ((LM_DEBUG,
00572                     ACE_TEXT ("TAO_Marshal_String::skip detected error\n")));
00573       throw ::CORBA::MARSHAL (0, CORBA::COMPLETED_MAYBE);
00574     }
00575 }


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