Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

TAO_Marshal_Except Class Reference

TAO_Marshal_Except. More...

#include <Marshal.h>

Inheritance diagram for TAO_Marshal_Except:

Inheritance graph
[legend]
Collaboration diagram for TAO_Marshal_Except:

Collaboration graph
[legend]
List of all members.

Public Methods

 TAO_Marshal_Except (void)
virtual CORBA::TypeCode::traverse_status skip (CORBA::TypeCode_ptr tc, TAO_InputCDR *context ACE_ENV_ARG_DECL)
 skip operation. More...

virtual CORBA::TypeCode::traverse_status append (CORBA::TypeCode_ptr tc, TAO_InputCDR *src, TAO_OutputCDR *dest ACE_ENV_ARG_DECL)
 append operation. More...


Detailed Description

TAO_Marshal_Except.

marshal an exception

Definition at line 380 of file Marshal.h.


Constructor & Destructor Documentation

ACE_INLINE TAO_Marshal_Except::TAO_Marshal_Except void   
 

Definition at line 64 of file Marshal.i.

00065 {
00066 }


Member Function Documentation

CORBA::TypeCode::traverse_status TAO_Marshal_Except::append CORBA::TypeCode_ptr    tc,
TAO_InputCDR   src,
TAO_OutputCDR *dest    ACE_ENV_ARG_DECL
[virtual]
 

append operation.

Implements TAO_Marshal_Object.

Definition at line 1095 of file append.cpp.

References ACE_CHECK_RETURN, ACE_DEBUG, ACE_ENV_ARG_DECL, ACE_ENV_ARG_PARAMETER, ACE_ENV_SINGLE_ARG_PARAMETER, ACE_TEXT, ACE_THROW_RETURN, LM_DEBUG, TAO_Marshal_Object::perform_append, and TAO_DEFAULT_MINOR_CODE.

Referenced by TAO_Marshal_Object::perform_append.

01099 {
01100   CORBA::TypeCode::traverse_status retval =
01101     CORBA::TypeCode::TRAVERSE_CONTINUE;
01102   CORBA::Boolean continue_append = 1;
01103   CORBA::TypeCode_var param;
01104 
01105   // first append the RepositoryID
01106   continue_append = dest->append_string (*src);
01107 
01108   // Number of fields in the struct.
01109   int member_count = tc->member_count (ACE_ENV_SINGLE_ARG_PARAMETER);
01110   ACE_CHECK_RETURN (CORBA::TypeCode::TRAVERSE_STOP);
01111 
01112   for (int i = 0; i < member_count
01113          && retval == CORBA::TypeCode::TRAVERSE_CONTINUE
01114          && continue_append == 1; i++)
01115     {
01116       param = tc->member_type (i ACE_ENV_ARG_PARAMETER);
01117       ACE_CHECK_RETURN (CORBA::TypeCode::TRAVERSE_STOP);
01118 
01119       retval = TAO_Marshal_Object::perform_append (param.in (),
01120                                                    src,
01121                                                    dest
01122                                                     ACE_ENV_ARG_PARAMETER);
01123     }
01124 
01125   if (retval == CORBA::TypeCode::TRAVERSE_CONTINUE
01126       && continue_append == 1)
01127     return CORBA::TypeCode::TRAVERSE_CONTINUE;
01128 
01129   if (TAO_debug_level > 0)
01130     ACE_DEBUG ((LM_DEBUG,
01131                 ACE_TEXT ("TAO_Marshal_Except::append detected error\n")));
01132   ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE,
01133                                     CORBA::COMPLETED_MAYBE),
01134                     CORBA::TypeCode::TRAVERSE_STOP);
01135 }

virtual CORBA::TypeCode::traverse_status TAO_Marshal_Except::skip CORBA::TypeCode_ptr    tc,
TAO_InputCDR *context    ACE_ENV_ARG_DECL
[virtual]
 

skip operation.

Implements TAO_Marshal_Object.


The documentation for this class was generated from the following files:
Generated on Mon Jun 16 15:28:16 2003 for TAO by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002