Go to the documentation of this file.00001
00002
00003
00004
00005 #include "tao/PortableServer/Servant_Upcall.h"
00006
00007
00008 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00009
00010 ACE_INLINE
00011 TAO::ServerRequestInfo::ServerRequestInfo (
00012 TAO_ServerRequest & server_request,
00013 TAO::Argument * const * args,
00014 size_t nargs,
00015 void * servant_upcall,
00016 CORBA::TypeCode_ptr const * exceptions,
00017 CORBA::ULong nexceptions)
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 }
00027
00028 ACE_INLINE void
00029 TAO::ServerRequestInfo::forward_reference (
00030 PortableInterceptor::ForwardRequest &exc)
00031 {
00032
00033
00034
00035 this->server_request_.pi_reply_status (PortableInterceptor::LOCATION_FORWARD);
00036
00037
00038 this->server_request_.forward_location (exc.forward.in ());
00039 }
00040
00041 ACE_INLINE void
00042 TAO::ServerRequestInfo::forward_reference (CORBA::Object_ptr obj)
00043 {
00044
00045
00046
00047 this->server_request_.pi_reply_status (PortableInterceptor::LOCATION_FORWARD);
00048
00049
00050 this->server_request_.forward_location (obj);
00051 }
00052
00053 ACE_INLINE TAO_ServerRequest &
00054 TAO::ServerRequestInfo::server_request (void)
00055 {
00056 return this->server_request_;
00057 }
00058
00059
00060 TAO_END_VERSIONED_NAMESPACE_DECL