#include <Marshal.h>
Inheritance diagram for TAO_Marshal_WString:
Public Member Functions | |
TAO_Marshal_WString (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 wide string
Definition at line 378 of file Marshal.h.
|
Definition at line 73 of file Marshal.inl.
00074 { 00075 } |
|
append operation
Implements TAO_Marshal_Object. Definition at line 1101 of file append.cpp. References ACE_DEBUG, ACE_TEXT, ACE_OutputCDR::append_wstring(), LM_DEBUG, and TAO_debug_level.
01105 { 01106 CORBA::Boolean continue_append = true; 01107 01108 // On decode, omit the check against specified wstring bounds, and 01109 // cope with illegal "zero length" strings (all lengths on the wire 01110 // must include a NUL). 01111 // 01112 // This is on the principle of being gracious in what we accept; we 01113 // don't generate messages that fail to comply with protocol specs, 01114 // but we will accept them when it's clear how to do so. 01115 01116 continue_append = dest->append_wstring (*src); 01117 01118 if (continue_append == 1) 01119 return TAO::TRAVERSE_CONTINUE; 01120 01121 if (TAO_debug_level > 0) 01122 ACE_DEBUG ((LM_DEBUG, 01123 ACE_TEXT ("TAO_Marshal_WString::append detected error\n"))); 01124 01125 throw ::CORBA::MARSHAL (0, CORBA::COMPLETED_MAYBE); 01126 } |
|
skip operation
Implements TAO_Marshal_Object. Definition at line 829 of file skip.cpp. References ACE_DEBUG, ACE_TEXT, LM_DEBUG, ACE_InputCDR::skip_wstring(), and TAO_debug_level.
00830 { 00831 CORBA::Boolean continue_skipping = true; 00832 00833 // On decode, omit the check against specified wstring bounds, and 00834 // cope with illegal "zero length" strings (all lengths on the wire 00835 // must include a NUL). 00836 // 00837 // This is on the principle of being gracious in what we accept; we 00838 // don't generate messages that fail to comply with protocol specs, 00839 // but we will accept them when it's clear how to do so. 00840 00841 // "zero length" wstrings are legal in GIOP 1.2. 00842 00843 continue_skipping = stream->skip_wstring (); 00844 00845 if (continue_skipping) 00846 return TAO::TRAVERSE_CONTINUE; 00847 00848 if (TAO_debug_level > 0) 00849 ACE_DEBUG ((LM_DEBUG, 00850 ACE_TEXT ("TAO_Marshal_WString::skip detected error\n"))); 00851 throw ::CORBA::MARSHAL (0, CORBA::COMPLETED_MAYBE); 00852 } |