ServerRequestInfo.inl

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // ServerRequestInfo.inl,v 1.3 2005/11/04 09:26:55 ossama Exp
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   // 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 }
00040 
00041 ACE_INLINE void
00042 TAO::ServerRequestInfo::forward_reference (CORBA::Object_ptr obj)
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 }
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

Generated on Thu Nov 9 12:54:00 2006 for TAO_PI_Server by doxygen 1.3.6