#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 408 of file Marshal.h.
|
Definition at line 73 of file Marshal.inl.
00074 { 00075 } |
|
append operation
Implements TAO_Marshal_Object. Definition at line 1187 of file append.cpp. References ACE_DEBUG, ACE_TEXT, ACE_THROW_RETURN, LM_DEBUG, and TAO_debug_level.
01191 { 01192 CORBA::Boolean continue_append = 1; 01193 01194 // On decode, omit the check against specified wstring bounds, and 01195 // cope with illegal "zero length" strings (all lengths on the wire 01196 // must include a NUL). 01197 // 01198 // This is on the principle of being gracious in what we accept; we 01199 // don't generate messages that fail to comply with protocol specs, 01200 // but we will accept them when it's clear how to do so. 01201 01202 continue_append = dest->append_wstring (*src); 01203 01204 if (continue_append == 1) 01205 return TAO::TRAVERSE_CONTINUE; 01206 01207 if (TAO_debug_level > 0) 01208 ACE_DEBUG ((LM_DEBUG, 01209 ACE_TEXT ("TAO_Marshal_WString::append detected error\n"))); 01210 01211 ACE_THROW_RETURN (CORBA::MARSHAL (0, 01212 CORBA::COMPLETED_MAYBE), 01213 TAO::TRAVERSE_STOP); 01214 } |
|
skip operation
Implements TAO_Marshal_Object. Definition at line 914 of file skip.cpp. References ACE_DEBUG, ACE_TEXT, ACE_THROW_RETURN, LM_DEBUG, and TAO_debug_level.
00917 { 00918 CORBA::Boolean continue_skipping = true; 00919 00920 // On decode, omit the check against specified wstring bounds, and 00921 // cope with illegal "zero length" strings (all lengths on the wire 00922 // must include a NUL). 00923 // 00924 // This is on the principle of being gracious in what we accept; we 00925 // don't generate messages that fail to comply with protocol specs, 00926 // but we will accept them when it's clear how to do so. 00927 00928 // "zero length" wstrings are legal in GIOP 1.2. 00929 00930 continue_skipping = stream->skip_wstring (); 00931 00932 if (continue_skipping) 00933 return TAO::TRAVERSE_CONTINUE; 00934 00935 if (TAO_debug_level > 0) 00936 ACE_DEBUG ((LM_DEBUG, 00937 ACE_TEXT ("TAO_Marshal_WString::skip detected error\n"))); 00938 ACE_THROW_RETURN (CORBA::MARSHAL (0, 00939 CORBA::COMPLETED_MAYBE), 00940 TAO::TRAVERSE_STOP); 00941 } |