#include <DII_Arguments.h>
Inheritance diagram for TAO::NVList_Argument:
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 *) |
CORBA::NVList_ptr | arg () const |
Private Attributes | |
CORBA::NVList_ptr | x_ |
bool | lazy_evaluation_ |
Definition at line 70 of file DII_Arguments.h.
ACE_INLINE TAO::NVList_Argument::NVList_Argument | ( | CORBA::NVList_ptr | , | |
bool | lazy_eval | |||
) |
Definition at line 25 of file DII_Arguments.inl.
00026 : x_ (x) 00027 , lazy_evaluation_ (lazy_eval) 00028 { 00029 }
ACE_INLINE CORBA::NVList_ptr TAO::NVList_Argument::arg | ( | ) | const |
Definition at line 33 of file DII_Arguments.inl.
References x_.
00034 { 00035 return this->x_; 00036 }
CORBA::Boolean TAO::NVList_Argument::demarshal | ( | TAO_InputCDR & | ) | [virtual] |
Definition at line 68 of file DII_Arguments.cpp.
References x_.
00069 { 00070 00071 try 00072 { 00073 // Now, get all the "return", "out", and "inout" parameters 00074 // from the response message body ... return parameter is 00075 // first, the rest are in the order defined in the IDL spec 00076 // (which is also the order that DII users are required to 00077 // use). 00078 00079 this->x_->_tao_incoming_cdr ( 00080 cdr, 00081 CORBA::ARG_OUT | CORBA::ARG_INOUT, 00082 this->lazy_evaluation_); 00083 } 00084 catch (const ::CORBA::Exception&) 00085 { 00086 return false; 00087 } 00088 00089 return true; 00090 }
void TAO::NVList_Argument::interceptor_paramlist | ( | Dynamic::ParameterList * | ) |
Definition at line 93 of file DII_Arguments.cpp.
References x_.
00094 { 00095 CORBA::ULong const len = this->x_->count (); 00096 lst->length (len); 00097 00098 for (CORBA::ULong i = 0; i < len; ++i) 00099 { 00100 if (!this->x_->item (i)->value ()) 00101 return; 00102 00103 (*lst)[i].argument.replace (this->x_->item (i)->value ()->impl ()); 00104 00105 switch (this->x_->item (i)->flags ()) 00106 { 00107 case CORBA::ARG_IN: 00108 { 00109 (*lst)[i].mode = CORBA::PARAM_IN; 00110 break; 00111 } 00112 case CORBA::ARG_INOUT: 00113 { 00114 (*lst)[i].mode = CORBA::PARAM_INOUT; 00115 break; 00116 } 00117 case CORBA::ARG_OUT: 00118 { 00119 (*lst)[i].mode = CORBA::PARAM_OUT; 00120 break; 00121 } 00122 default: 00123 break; 00124 } 00125 } 00126 }
CORBA::Boolean TAO::NVList_Argument::marshal | ( | TAO_OutputCDR & | cdr | ) | [virtual] |
Definition at line 53 of file DII_Arguments.cpp.
References x_.
00054 { 00055 try 00056 { 00057 this->x_->_tao_encode (cdr, CORBA::ARG_IN | CORBA::ARG_INOUT); 00058 } 00059 catch (const ::CORBA::Exception&) 00060 { 00061 return false; 00062 } 00063 00064 return true; 00065 }
bool TAO::NVList_Argument::lazy_evaluation_ [private] |
Definition at line 89 of file DII_Arguments.h.
CORBA::NVList_ptr TAO::NVList_Argument::x_ [private] |
Definition at line 87 of file DII_Arguments.h.
Referenced by arg(), demarshal(), interceptor_paramlist(), and marshal().