TAO::NVList_Argument Class Reference

Class for the argument list of a CORBA::(Server)Request. More...

#include <DII_Arguments.h>

Inheritance diagram for TAO::NVList_Argument:

Inheritance graph
[legend]
Collaboration diagram for TAO::NVList_Argument:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 NVList_Argument (CORBA::NVList_ptr, bool lazy_eval)
virtual CORBA::Boolean marshal (TAO_OutputCDR &cdr)
virtual CORBA::Boolean demarshal (TAO_InputCDR &)
void interceptor_paramlist (Dynamic::ParameterList *)

Private Attributes

CORBA::NVList_ptr x_
bool lazy_evaluation_

Detailed Description

Class for the argument list of a CORBA::(Server)Request.

Definition at line 70 of file DII_Arguments.h.


Constructor & Destructor Documentation

ACE_INLINE TAO::NVList_Argument::NVList_Argument CORBA::NVList_ptr  ,
bool  lazy_eval
 

Definition at line 25 of file DII_Arguments.inl.

00027     : x_ (x)
00028       , lazy_evaluation_ (lazy_eval)
00029   {
00030   }


Member Function Documentation

CORBA::Boolean TAO::NVList_Argument::demarshal TAO_InputCDR  )  [virtual]
 

Reimplemented from TAO::Argument.

Definition at line 79 of file DII_Arguments.cpp.

References ACE_CATCHANY, ACE_CHECK_RETURN, ACE_DECLARE_NEW_CORBA_ENV, ACE_ENDTRY, ACE_ENV_ARG_PARAMETER, ACE_TRY, and ACE_TRY_CHECK.

00080   {
00081 
00082     ACE_DECLARE_NEW_CORBA_ENV;
00083     ACE_TRY
00084       {
00085         // Now, get all the "return", "out", and "inout" parameters
00086         // from the response message body ... return parameter is
00087         // first, the rest are in the order defined in the IDL spec
00088         // (which is also the order that DII users are required to
00089         // use).
00090 
00091         this->x_->_tao_incoming_cdr (
00092             cdr,
00093             CORBA::ARG_OUT | CORBA::ARG_INOUT,
00094             this->lazy_evaluation_
00095             ACE_ENV_ARG_PARAMETER);
00096         ACE_TRY_CHECK;
00097       }
00098     ACE_CATCHANY
00099       {
00100         return 0;
00101       }
00102     ACE_ENDTRY;
00103     ACE_CHECK_RETURN (false);
00104 
00105     return 1;
00106   }

void TAO::NVList_Argument::interceptor_paramlist Dynamic::ParameterList *   ) 
 

Definition at line 109 of file DII_Arguments.cpp.

Referenced by TAO::DII_Deferred_Invocation::arguments(), and TAO::DII_Invocation::arguments().

00110   {
00111     const CORBA::ULong len = this->x_->count ();
00112     lst->length (len);
00113 
00114     for (CORBA::ULong i = 0; i < len; ++i)
00115       {
00116         if (!this->x_->item (i)->value ())
00117           return;
00118 
00119         (*lst)[i].argument.replace (
00120           this->x_->item (i)->value ()->impl ());
00121 
00122         switch (this->x_->item (i)->flags ())
00123           {
00124           case CORBA::ARG_IN:
00125             {
00126               (*lst)[i].mode = CORBA::PARAM_IN;
00127               break;
00128             }
00129           case CORBA::ARG_INOUT:
00130             {
00131               (*lst)[i].mode = CORBA::PARAM_INOUT;
00132               break;
00133             }
00134           case CORBA::ARG_OUT:
00135             {
00136               (*lst)[i].mode = CORBA::PARAM_OUT;
00137               break;
00138             }
00139           default:
00140             break;
00141           }
00142       }
00143   }

CORBA::Boolean TAO::NVList_Argument::marshal TAO_OutputCDR cdr  )  [virtual]
 

Reimplemented from TAO::Argument.

Definition at line 58 of file DII_Arguments.cpp.

References ACE_CATCHANY, ACE_CHECK_RETURN, ACE_DECLARE_NEW_CORBA_ENV, ACE_ENDTRY, ACE_ENV_ARG_PARAMETER, ACE_TRY, and ACE_TRY_CHECK.

00059   {
00060     ACE_DECLARE_NEW_CORBA_ENV;
00061     ACE_TRY
00062       {
00063         this->x_->_tao_encode (cdr,
00064                                CORBA::ARG_IN | CORBA::ARG_INOUT
00065                                ACE_ENV_ARG_PARAMETER);
00066         ACE_TRY_CHECK;
00067       }
00068     ACE_CATCHANY
00069       {
00070         return 0;
00071       }
00072     ACE_ENDTRY;
00073     ACE_CHECK_RETURN (false);
00074 
00075     return 1;
00076   }


Member Data Documentation

bool TAO::NVList_Argument::lazy_evaluation_ [private]
 

Definition at line 87 of file DII_Arguments.h.

CORBA::NVList_ptr TAO::NVList_Argument::x_ [private]
 

Definition at line 85 of file DII_Arguments.h.


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 13:05:12 2006 for TAO_DynamicInterface by doxygen 1.3.6