#include <DII_Invocation.h>
Collaboration diagram for TAO::DII_Deferred_Invocation:
Public Member Functions | |
DII_Deferred_Invocation (CORBA::Object_ptr otarget, Profile_Transport_Resolver &resolver, TAO_Operation_Details &detail, TAO_DII_Deferred_Reply_Dispatcher *rd, CORBA::Request_ptr req, bool response_expected=true) | |
virtual Dynamic::ParameterList * | arguments (void) |
Invocation_Status | remote_invocation (ACE_Time_Value *max_wait_time) |
Private Attributes | |
CORBA::Request_ptr | host_ |
Back pointer to the DII request that created us. | |
Friends | |
class | DII_Deferred_Invocation_Adapter |
Definition at line 72 of file DII_Invocation.h.
TAO::DII_Deferred_Invocation::DII_Deferred_Invocation | ( | CORBA::Object_ptr | otarget, | |
Profile_Transport_Resolver & | resolver, | |||
TAO_Operation_Details & | detail, | |||
TAO_DII_Deferred_Reply_Dispatcher * | rd, | |||
CORBA::Request_ptr | req, | |||
bool | response_expected = true | |||
) |
Definition at line 160 of file DII_Invocation.cpp.
00167 : Asynch_Remote_Invocation (otarget, 00168 resolver, 00169 detail, 00170 rd, 00171 response_expected) 00172 , host_ (req) 00173 { 00174 }
Dynamic::ParameterList * TAO::DII_Deferred_Invocation::arguments | ( | void | ) | [virtual] |
Definition at line 179 of file DII_Invocation.cpp.
00180 { 00181 Dynamic::ParameterList_var safe_parameter_list; 00182 00183 TAO::Argument ** const args = this->details_.args (); 00184 00185 if (this->details_.args_num () > 1) 00186 { 00187 // Take the second argument since the first is a return value. 00188 TAO::NVList_Argument * const tmp_arg = 00189 dynamic_cast <TAO::NVList_Argument*> (args[1]); 00190 00191 if (tmp_arg) 00192 { 00193 // Generate the argument list on demand. 00194 Dynamic::ParameterList * const parameter_list = 00195 TAO_RequestInfo_Util::make_parameter_list (); 00196 00197 safe_parameter_list = parameter_list; 00198 00199 tmp_arg->interceptor_paramlist (parameter_list); 00200 } 00201 } 00202 00203 return safe_parameter_list._retn (); 00204 }
Invocation_Status TAO::DII_Deferred_Invocation::remote_invocation | ( | ACE_Time_Value * | max_wait_time | ) |
Definition at line 208 of file DII_Invocation.cpp.
00209 { 00210 this->safe_rd_->transport (this->resolver_.transport ()); 00211 00212 return Asynch_Remote_Invocation::remote_invocation (max_wait_time); 00213 }
friend class DII_Deferred_Invocation_Adapter [friend] |
Definition at line 76 of file DII_Invocation.h.
CORBA::Request_ptr TAO::DII_Deferred_Invocation::host_ [private] |