PortableInterceptor::ServerRequestInfo
IDL interface.
More...
#include <ServerRequestInfo.h>
Inheritance diagram for TAO::ServerRequestInfo:
Public Member Functions | |
ServerRequestInfo (TAO_ServerRequest &server_request, TAO::Argument *const *args, size_t nargs, void *servant_upcall, CORBA::TypeCode_ptr const *exceptions, CORBA::ULong nexceptions) | |
Constructor. | |
virtual CORBA::ULong | request_id () throw (CORBA::SystemException) |
virtual char * | operation () throw (CORBA::SystemException) |
Return the operation name for the current request. | |
virtual Dynamic::ParameterList * | arguments () throw (CORBA::SystemException) |
Return the list of arguments passed to the current operation. | |
virtual Dynamic::ExceptionList * | exceptions () throw (CORBA::SystemException) |
virtual Dynamic::ContextList * | contexts () throw (CORBA::SystemException) |
virtual Dynamic::RequestContext * | operation_context () throw (CORBA::SystemException) |
virtual CORBA::Any * | result () throw (CORBA::SystemException) |
virtual CORBA::Boolean | response_expected () throw (CORBA::SystemException) |
Returns true for a two-way operation, and false otherwise. | |
virtual Messaging::SyncScope | sync_scope () throw (CORBA::SystemException) |
virtual PortableInterceptor::ReplyStatus | reply_status () throw (CORBA::SystemException) |
Return the reply status for the current request. | |
virtual CORBA::Object_ptr | forward_reference () throw (CORBA::SystemException) |
virtual CORBA::Any * | get_slot (PortableInterceptor::SlotId id) throw (CORBA::SystemException, PortableInterceptor::InvalidSlot) |
Retrieve data from the "request scope" PICurrent object. | |
virtual IOP::ServiceContext * | get_request_service_context (IOP::ServiceId id) throw (CORBA::SystemException) |
virtual IOP::ServiceContext * | get_reply_service_context (IOP::ServiceId id) throw (CORBA::SystemException) |
virtual CORBA::Any * | sending_exception () throw (CORBA::SystemException) |
virtual PortableInterceptor::ObjectId * | object_id () throw (CORBA::SystemException) |
Return the ObjectId for the target object. | |
virtual CORBA::OctetSeq * | adapter_id () throw (CORBA::SystemException) |
virtual char * | server_id () throw (CORBA::SystemException) |
virtual char * | orb_id () throw (CORBA::SystemException) |
virtual PortableInterceptor::AdapterName * | adapter_name () throw (CORBA::SystemException) |
virtual char * | target_most_derived_interface () throw (CORBA::SystemException) |
Return the most derived interface of the target object. | |
virtual CORBA::Policy_ptr | get_server_policy (CORBA::PolicyType type) throw (CORBA::SystemException) |
virtual void | set_slot (PortableInterceptor::SlotId id, const CORBA::Any &data) throw (CORBA::SystemException, PortableInterceptor::InvalidSlot) |
Insert data into the "request scope" PICurrent object. | |
virtual CORBA::Boolean | target_is_a (const char *id) throw (CORBA::SystemException) |
virtual void | add_reply_service_context (const IOP::ServiceContext &service_context, CORBA::Boolean replace) throw (CORBA::SystemException) |
TAO_ServerRequest & | server_request (void) |
Helper methods specific to TAO. | |
void | forward_reference (PortableInterceptor::ForwardRequest &exc) |
void | forward_reference (CORBA::Object_ptr obj) |
Protected Member Functions | |
IOP::ServiceContext * | get_service_context_i (TAO_Service_Context &service_context_list, IOP::ServiceId id) throw (CORBA::SystemException) |
Protected Attributes | |
TAO_ServerRequest & | server_request_ |
TAO::Argument *const *const | args_ |
Operation argument list. | |
size_t const | nargs_ |
Number of element in the operation argument list. | |
TAO::Portable_Server::Servant_Upcall *const | servant_upcall_ |
CORBA::TypeCode_ptr const *const | exceptions_ |
CORBA::ULong const | nexceptions_ |
The number of elements in the exceptions_ array. |
PortableInterceptor::ServerRequestInfo
IDL interface.
Implementation of the PortableInterceptor::ServerRequestInfo
IDL interface.
Definition at line 70 of file ServerRequestInfo.h.
|
Constructor.
Definition at line 11 of file ServerRequestInfo.inl.
00018 : server_request_ (server_request) 00019 , args_ (args) 00020 , nargs_ (nargs) 00021 , servant_upcall_ ( 00022 static_cast<TAO::Portable_Server::Servant_Upcall *> (servant_upcall)) 00023 , exceptions_ (exceptions) 00024 , nexceptions_ (nexceptions) 00025 { 00026 } |
|
Return the Definition at line 456 of file ServerRequestInfo.cpp. References ACE_ENV_SINGLE_ARG_PARAMETER, and ACE_THROW_RETURN.
00458 { 00459 if (this->servant_upcall_ != 0) 00460 return this->servant_upcall_->poa ().id (ACE_ENV_SINGLE_ARG_PARAMETER); 00461 00462 ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (CORBA::OMGVMCID | 14, 00463 CORBA::COMPLETED_NO), 00464 0); 00465 } |
|
Return the name of the object adapter that services requests for the invoked object. Definition at line 394 of file ServerRequestInfo.cpp. References ACE_ENV_SINGLE_ARG_PARAMETER, and ACE_THROW_RETURN.
00396 { 00397 // The adapter_name attribute defines a name for the object adapter 00398 // that services requests for the invoked object. In the case of the 00399 // POA, the adapter_name is the sequence of names from the root POA 00400 // to the POA that services the request. The root POA is not named 00401 // in this sequence. 00402 if (this->servant_upcall_ != 0) 00403 return 00404 this->servant_upcall_->poa ().adapter_name ( 00405 ACE_ENV_SINGLE_ARG_PARAMETER); 00406 00407 ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (CORBA::OMGVMCID | 14, 00408 CORBA::COMPLETED_NO), 00409 0); 00410 } |
|
Add the Definition at line 572 of file ServerRequestInfo.cpp. References ACE_THROW, and TAO_Service_Context::set_context().
00577 { 00578 // Get the service context from the list 00579 TAO_Service_Context &service_context_list = 00580 this->server_request_.reply_service_context (); 00581 00582 if (service_context_list.set_context (service_context, replace) == 0) 00583 { 00584 ACE_THROW (CORBA::BAD_INV_ORDER (CORBA::OMGVMCID | 15, 00585 CORBA::COMPLETED_NO)); 00586 } 00587 } |
|
Return the list of arguments passed to the current operation.
Definition at line 81 of file ServerRequestInfo.cpp. References ACE_ASSERT, ACE_CHECK_RETURN, ACE_ENV_SINGLE_ARG_PARAMETER, and ACE_THROW_RETURN.
00083 { 00084 if (this->args_ == 0) 00085 { 00086 ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (CORBA::OMGVMCID | 14, 00087 CORBA::COMPLETED_NO), 00088 0); 00089 } 00090 00091 // Generate the argument list on demand. 00092 Dynamic::ParameterList * const parameter_list = 00093 TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER); 00094 ACE_CHECK_RETURN (0); 00095 00096 Dynamic::ParameterList_var safe_parameter_list = parameter_list; 00097 00098 // Return value is always generated as first TAO::Argument in 00099 // skeleton. It shouldn't be included in the parameter list. 00100 // Skip it. 00101 00102 TAO::Argument * const * const begin = this->args_ + 1; 00103 TAO::Argument * const * const end = this->args_ + this->nargs_; 00104 00105 ACE_ASSERT (end - begin >= 0); 00106 00107 parameter_list->length (static_cast<CORBA::ULong> (end - begin)); 00108 00109 CORBA::ULong p = 0; 00110 for (TAO::Argument * const * i = begin; i != end; ++i, ++p) 00111 { 00112 // Insert the operation parameters into the 00113 // Dynamic::ParameterList. 00114 Dynamic::Parameter& parameter = (*parameter_list)[p]; 00115 parameter.mode = (*i)->mode (); 00116 (*i)->interceptor_value (¶meter.argument); 00117 } 00118 00119 return safe_parameter_list._retn (); 00120 } |
|
Definition at line 157 of file ServerRequestInfo.cpp. References ACE_THROW_RETURN.
00159 { 00160 ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (CORBA::OMGVMCID | 14, 00161 CORBA::COMPLETED_NO), 00162 0); 00163 } |
|
Return the list of exceptions the current operation is capable of throwing. Definition at line 123 of file ServerRequestInfo.cpp. References ACE_CHECK_RETURN, ACE_ENV_SINGLE_ARG_PARAMETER, and ACE_THROW_RETURN.
00125 { 00126 if (this->args_ == 0) 00127 { 00128 ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (CORBA::OMGVMCID | 14, 00129 CORBA::COMPLETED_NO), 00130 0); 00131 } 00132 00133 // Generate the exception list on demand. 00134 Dynamic::ExceptionList * const exception_list = 00135 TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER); 00136 ACE_CHECK_RETURN (0); 00137 00138 Dynamic::ExceptionList_var safe_exception_list = exception_list; 00139 00140 exception_list->length (this->nexceptions_); 00141 00142 CORBA::TypeCode_ptr const * const begin = this->exceptions_; 00143 CORBA::TypeCode_ptr const * const end = 00144 this->exceptions_ + this->nexceptions_; 00145 00146 CORBA::ULong e = 0; 00147 for (CORBA::TypeCode_ptr const * i = begin; i != end; ++i, ++e) 00148 { 00149 CORBA::TypeCode_ptr tcp_object = *i; 00150 (*exception_list)[e] = tcp_object; 00151 } 00152 00153 return safe_exception_list._retn (); 00154 } |
|
Definition at line 42 of file ServerRequestInfo.inl. References TAO_ServerRequest::forward_location(), TAO_ServerRequest::reply_status(), and server_request_.
00043 { 00044 // We only get here if a servant manager threw a 00045 // PortableServer::ForwardRequest exception. 00046 00047 this->server_request_.reply_status (PortableInterceptor::LOCATION_FORWARD); 00048 00049 // Store the forward reference in the TAO_ServerRequest object. 00050 this->server_request_.forward_location (obj); 00051 } |
|
Extract the forward object reference from the Definition at line 29 of file ServerRequestInfo.inl. References TAO_ServerRequest::forward_location(), TAO_ServerRequest::reply_status(), and server_request_.
00031 { 00032 // Note that we're converting the ForwardRequest exception in to a 00033 // LOCATION_FORWARD reply, so we do not set the exception status. 00034 00035 this->server_request_.reply_status (PortableInterceptor::LOCATION_FORWARD); 00036 00037 // Store the forward reference in the TAO_ServerRequest object. 00038 this->server_request_.forward_location (exc.forward.in ()); 00039 } |
|
If the reply status is Definition at line 237 of file ServerRequestInfo.cpp. References ACE_THROW_RETURN.
00239 { 00240 if (this->server_request_.reply_status () != PortableInterceptor::LOCATION_FORWARD) 00241 ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (CORBA::OMGVMCID | 14, 00242 CORBA::COMPLETED_NO), 00243 CORBA::Object::_nil ()); 00244 00245 // TAO_ServerRequest::forward_location() already duplicates the 00246 // object reference. There is no need to duplicate it here. 00247 return this->server_request_.forward_location (); 00248 } |
|
Return the Definition at line 292 of file ServerRequestInfo.cpp. References ACE_ENV_ARG_PARAMETER.
00296 { 00297 TAO_Service_Context & service_context_list = 00298 this->server_request_.reply_service_context (); 00299 00300 return this->get_service_context_i (service_context_list, 00301 id 00302 ACE_ENV_ARG_PARAMETER); 00303 } |
|
Return the Definition at line 278 of file ServerRequestInfo.cpp. References ACE_ENV_ARG_PARAMETER.
00282 { 00283 TAO_Service_Context &service_context_list = 00284 this->server_request_.request_service_context (); 00285 00286 return this->get_service_context_i (service_context_list, 00287 id 00288 ACE_ENV_ARG_PARAMETER); 00289 } |
|
Return the policy of the given type in effect for the current request. Definition at line 488 of file ServerRequestInfo.cpp. References ACE_CHECK_RETURN, ACE_ENV_ARG_PARAMETER, ACE_THROW_RETURN, and CORBA::is_nil().
00491 { 00492 if (this->servant_upcall_ != 0) 00493 { 00494 CORBA::Policy_var policy = 00495 this->servant_upcall_->poa ().get_policy (type ACE_ENV_ARG_PARAMETER); 00496 ACE_CHECK_RETURN (CORBA::Policy::_nil ()); 00497 00498 if (!CORBA::is_nil (policy.in ())) 00499 { 00500 return policy._retn (); 00501 } 00502 else 00503 { 00504 // No policy matching the given PolicyType was found. 00505 ACE_THROW_RETURN (CORBA::INV_POLICY (CORBA::OMGVMCID | 3, 00506 CORBA::COMPLETED_NO), 00507 CORBA::Policy::_nil ()); 00508 } 00509 } 00510 00511 // @@ Technically, we shouldn't be throwing this exception since 00512 // this method should be valid in all server side request 00513 // interception points. 00514 ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (CORBA::OMGVMCID | 14, 00515 CORBA::COMPLETED_NO), 00516 CORBA::Policy::_nil ()); 00517 } |
|
Helper method to get the request and response service contexts. Definition at line 306 of file ServerRequestInfo.cpp. References ACE_THROW_RETURN.
00311 { 00312 IOP::ServiceContext_var service_context; 00313 00314 if (service_context_list.get_context (id, service_context.out ()) != 0) 00315 { 00316 // Found. 00317 return service_context._retn (); 00318 } 00319 else 00320 { 00321 // Not found. 00322 ACE_THROW_RETURN (CORBA::BAD_PARAM (CORBA::OMGVMCID | 26, 00323 CORBA::COMPLETED_NO), 00324 0); 00325 } 00326 } |
|
Retrieve data from the "request scope"
Definition at line 251 of file ServerRequestInfo.cpp. References ACE_CHECK_RETURN, ACE_ENV_ARG_PARAMETER, and ACE_THROW_RETURN.
00255 { 00256 // Retrieve the total number of assigned slots from the PICurrent. 00257 // No TSS access is incurred. 00258 CORBA::Object_ptr pi_current_obj = 00259 this->server_request_.orb_core ()->pi_current (); 00260 00261 TAO::PICurrent *pi_current = 00262 dynamic_cast <TAO::PICurrent*> (pi_current_obj); 00263 00264 if (pi_current == 0) 00265 ACE_THROW_RETURN (CORBA::INTERNAL (), 0); 00266 00267 pi_current->check_validity (id ACE_ENV_ARG_PARAMETER); 00268 ACE_CHECK_RETURN (0); 00269 00270 // Retrieve the request scope PICurrent object. 00271 TAO::PICurrent_Impl *rsc = this->server_request_.rs_pi_current (); 00272 00273 return rsc->get_slot (id ACE_ENV_ARG_PARAMETER); 00274 00275 } |
|
Return the
Definition at line 413 of file ServerRequestInfo.cpp. References ACE_CHECK_RETURN, ACE_NEW_THROW_EX, ACE_THROW_RETURN, and ACE_OS::memcpy().
00415 { 00416 if (this->servant_upcall_ != 0) 00417 { 00418 const PortableServer::ObjectId &id = 00419 this->servant_upcall_->user_id (); 00420 00421 PortableInterceptor::ObjectId *tmp = 0; 00422 00423 ACE_NEW_THROW_EX (tmp, 00424 PortableInterceptor::ObjectId, 00425 CORBA::NO_MEMORY ( 00426 CORBA::SystemException::_tao_minor_code ( 00427 TAO::VMCID, 00428 ENOMEM), 00429 CORBA::COMPLETED_NO)); 00430 ACE_CHECK_RETURN (0); 00431 00432 PortableInterceptor::ObjectId_var obj_id = tmp; 00433 00434 // @@ It would be nice to avoid this copy. However, we can't be 00435 // sure if the octet sequence will out live the POA from 00436 // which the object ID is ultimately obtained. In the event 00437 // the octet sequence does out live the POA, a copy is indeed 00438 // necessary. Do a copy to be on the safe side. In any 00439 // case, this is still faster than the 00440 // PortableServer::Current::object_id() method since no TSS 00441 // access is involved. 00442 const CORBA::ULong len = id.length (); 00443 obj_id->length (len); 00444 CORBA::Octet *buffer = obj_id->get_buffer (); 00445 ACE_OS::memcpy (buffer, id.get_buffer (), len); 00446 00447 return obj_id._retn (); 00448 } 00449 00450 ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (CORBA::OMGVMCID | 14, 00451 CORBA::COMPLETED_NO), 00452 0); 00453 } |
|
Return the operation name for the current request.
Definition at line 74 of file ServerRequestInfo.cpp. References CORBA::string_dup().
00076 { 00077 return CORBA::string_dup (this->server_request_.operation ()); 00078 } |
|
Definition at line 166 of file ServerRequestInfo.cpp. References ACE_THROW_RETURN.
00168 { 00169 ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (CORBA::OMGVMCID | 14, 00170 CORBA::COMPLETED_NO), 00171 0); 00172 } |
|
Return the ORBId value that is passed to the Definition at line 381 of file ServerRequestInfo.cpp. References ACE_THROW_RETURN, and CORBA::string_dup().
00383 { 00384 if (this->servant_upcall_ != 0) 00385 return 00386 CORBA::string_dup (this->server_request_.orb_core ()->orbid ()); 00387 00388 ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (CORBA::OMGVMCID | 14, 00389 CORBA::COMPLETED_NO), 00390 0); 00391 } |
|
Return the reply status for the current request.
Statuses can be Definition at line 224 of file ServerRequestInfo.cpp. References ACE_THROW_RETURN.
00226 { 00227 if (this->server_request_.reply_status () == -1) 00228 // A reply hasn't been received yet. 00229 ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (CORBA::OMGVMCID | 14, 00230 CORBA::COMPLETED_NO), 00231 -1); 00232 00233 return this->server_request_.reply_status (); 00234 } |
|
Return an ID unique to the current request. This request ID may or may not be the same as the GIOP request ID. Definition at line 35 of file ServerRequestInfo.cpp.
00037 { 00038 // The request ID returned by this method need not correspond to the 00039 // GIOP request ID sent with the client request. The request ID 00040 // must be unique across all outstanding requests. To avoid locking 00041 // overhead, the address of the TAO_ServerRequest object is used as 00042 // the request ID. This guarantees that the request ID is unique. 00043 // 00044 // For 64-bit platforms, only the lower 32 bits are used. Hopefully 00045 // that will be enough to ensure uniqueness. 00046 00047 CORBA::ULong id = 0; 00048 00049 // Note that we reinterpret_cast to an "unsigned long" instead of 00050 // CORBA::ULong since we need to first cast to an integer large 00051 // enough to hold an address to avoid compile-time warnings on some 00052 // 64-bit platforms. 00053 00054 if (sizeof (this) == 4) // 32 bit address 00055 id = static_cast <CORBA::ULong> ( 00056 reinterpret_cast <ptrdiff_t> 00057 (&(this->server_request_))); 00058 00059 else if (sizeof (this) == 8) // 64 bit address -- use lower 32 bits 00060 id = static_cast <CORBA::ULong> ( 00061 reinterpret_cast <ptrdiff_t> 00062 (&(this->server_request_)) & 0xFFFFFFFFu); 00063 00064 else 00065 // @@ Rather than fallback on the GIOP request ID, we should use 00066 // an atomically incremented variable specific to the ORB, or 00067 // perhaps specific to the process. 00068 id = this->server_request_.request_id (); // Fallback 00069 00070 return id; 00071 } |
|
Returns
Definition at line 205 of file ServerRequestInfo.cpp.
00207 { 00208 return this->server_request_.response_expected (); 00209 } |
|
Return the result of the current request. If there is no return value then an Definition at line 175 of file ServerRequestInfo.cpp. References ACE_CHECK_RETURN, ACE_ENV_ARG_PARAMETER, ACE_THROW_RETURN, and TAO::Argument::interceptor_value().
00177 { 00178 if (this->args_ == 0) 00179 { 00180 ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (CORBA::OMGVMCID | 14, 00181 CORBA::COMPLETED_NO), 00182 0); 00183 } 00184 00185 // Generate the result on demand. 00186 00187 static CORBA::Boolean const tk_void_any = 1; 00188 00189 CORBA::Any * result_any = 00190 TAO_RequestInfo_Util::make_any (tk_void_any 00191 ACE_ENV_ARG_PARAMETER); 00192 ACE_CHECK_RETURN (0); 00193 00194 CORBA::Any_var safe_result_any = result_any; 00195 00196 // Result is always first element in TAO::Argument array. 00197 TAO::Argument * const r = this->args_[0]; 00198 00199 r->interceptor_value (result_any); 00200 00201 return safe_result_any._retn (); 00202 } |
|
Definition at line 332 of file ServerRequestInfo.cpp. References ACE_CHECK_RETURN, ACE_NEW_THROW_EX, and ACE_THROW_RETURN.
00334 { 00335 if (this->server_request_.reply_status () != PortableInterceptor::SYSTEM_EXCEPTION 00336 && this->server_request_.reply_status () != PortableInterceptor::USER_EXCEPTION) 00337 { 00338 ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (CORBA::OMGVMCID | 14, 00339 CORBA::COMPLETED_NO), 00340 0); 00341 } 00342 00343 // The spec says that if it is a user exception which cannot be 00344 // inserted then the UNKNOWN exception should be thrown with minor 00345 // code 1. 00346 00347 CORBA::Any * temp = 0; 00348 00349 ACE_NEW_THROW_EX (temp, 00350 CORBA::Any, 00351 CORBA::NO_MEMORY ( 00352 CORBA::SystemException::_tao_minor_code ( 00353 TAO::VMCID, 00354 ENOMEM), 00355 CORBA::COMPLETED_NO)); 00356 ACE_CHECK_RETURN (0); 00357 00358 CORBA::Any_var caught_exception_var = temp; 00359 00360 if (this->server_request_.caught_exception () != 0) 00361 (*temp) <<= *(this->server_request_.caught_exception ()); 00362 00363 return caught_exception_var._retn (); 00364 } |
|
Return the server_id of the server. The value is passed to the ORB via Definition at line 367 of file ServerRequestInfo.cpp. References ACE_THROW_RETURN, and CORBA::string_dup().
00369 { 00370 if (this->servant_upcall_ != 0) 00371 return 00372 CORBA::string_dup (this->server_request_.orb_core ()->server_id ()); 00373 00374 00375 ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (CORBA::OMGVMCID | 14, 00376 CORBA::COMPLETED_NO), 00377 0); 00378 } |
|
Return a reference to the underlying Definition at line 54 of file ServerRequestInfo.inl. References server_request_.
00055 { 00056 return this->server_request_; 00057 } |
|
Insert data into the "request scope"
Definition at line 520 of file ServerRequestInfo.cpp. References ACE_CHECK, ACE_ENV_ARG_PARAMETER, and ACE_THROW.
00525 { 00526 // Retrieve the total number of assigned slots from the PICurrent 00527 // object. No TSS access is incurred. 00528 CORBA::Object_ptr pi_current_obj = 00529 this->server_request_.orb_core ()->pi_current (); 00530 00531 TAO::PICurrent *pi_current = 00532 dynamic_cast <TAO::PICurrent*> (pi_current_obj); 00533 00534 if (pi_current == 0) 00535 ACE_THROW (CORBA::INTERNAL ()); 00536 00537 pi_current->check_validity (id ACE_ENV_ARG_PARAMETER); 00538 ACE_CHECK; 00539 00540 // Retrieve the "request scope current" (RSC). 00541 TAO::PICurrent_Impl * rsc = this->server_request_.rs_pi_current (); 00542 00543 rsc->set_slot (id, data ACE_ENV_ARG_PARAMETER); 00544 ACE_CHECK; 00545 } |
|
Return the Definition at line 212 of file ServerRequestInfo.cpp. References ACE_THROW_RETURN.
00214 { 00215 if (this->server_request_.sync_with_server ()) 00216 return Messaging::SYNC_WITH_SERVER; 00217 00218 ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (CORBA::OMGVMCID | 14, 00219 CORBA::COMPLETED_NO), 00220 -1); 00221 } |
|
Returns true if the target's type corresponds to the given Definition at line 548 of file ServerRequestInfo.cpp. References ACE_ENV_ARG_PARAMETER, and ACE_THROW_RETURN.
00551 { 00552 // Implemented in the generated skeleton. 00553 00554 PortableServer::Servant const servant = 00555 (this->servant_upcall_ == 0 00556 ? 0 00557 : this->servant_upcall_->servant ()); 00558 00559 00560 if (servant == 0) 00561 { 00562 ACE_THROW_RETURN (CORBA::NO_RESOURCES (CORBA::OMGVMCID | 1, 00563 CORBA::COMPLETED_NO), 00564 0); 00565 } 00566 00567 return servant->_is_a (id 00568 ACE_ENV_ARG_PARAMETER); 00569 } |
|
Return the most derived interface of the target object.
Definition at line 468 of file ServerRequestInfo.cpp. References ACE_THROW_RETURN, and CORBA::string_dup().
00471 { 00472 PortableServer::Servant const servant = 00473 (this->servant_upcall_ == 0 00474 ? 0 00475 : this->servant_upcall_->servant ()); 00476 00477 if (servant == 0) 00478 { 00479 ACE_THROW_RETURN (CORBA::NO_RESOURCES (CORBA::OMGVMCID | 1, 00480 CORBA::COMPLETED_NO), 00481 0); 00482 } 00483 00484 return CORBA::string_dup (servant->_interface_repository_id ()); 00485 } |
|
Operation argument list.
Definition at line 284 of file ServerRequestInfo.h. |
|
Array of Definition at line 295 of file ServerRequestInfo.h. |
|
Number of element in the operation argument list.
Definition at line 287 of file ServerRequestInfo.h. |
|
The number of elements in the
Definition at line 298 of file ServerRequestInfo.h. |
|
Pointer to the Definition at line 291 of file ServerRequestInfo.h. |
|
Underlying request object that contains much of the information encapsulated by this Definition at line 281 of file ServerRequestInfo.h. Referenced by forward_reference(), and server_request(). |