TAO_PI_Server  2.3.4
Public Member Functions | Private Attributes | List of all members
TAO::ServerRequestInterceptor_Adapter_Impl Class Reference

ServerRequestInterceptor_Adapter_Impl. More...

#include <ServerInterceptorAdapter.h>

Inheritance diagram for TAO::ServerRequestInterceptor_Adapter_Impl:
Inheritance graph
[legend]
Collaboration diagram for TAO::ServerRequestInterceptor_Adapter_Impl:
Collaboration graph
[legend]

Public Member Functions

 ServerRequestInterceptor_Adapter_Impl (void)
 Constructor. More...
 
virtual void add_interceptor (PortableInterceptor::ServerRequestInterceptor_ptr interceptor)
 Register an interceptor. More...
 
virtual void add_interceptor (PortableInterceptor::ServerRequestInterceptor_ptr interceptor, const CORBA::PolicyList &policies)
 
virtual void destroy_interceptors (void)
 
virtual TAO::PICurrent_Impl * allocate_pi_current (void)
 
virtual void deallocate_pi_current (TAO::PICurrent_Impl *picurrent)
 
virtual void execute_command (TAO_ServerRequest &server_request, TAO::Upcall_Command &command)
 
void popTSC (TAO_ORB_Core *orb_core)
 
void pushTSC (TAO_ORB_Core *orb_core)
 
PortableInterceptor Server Side Interception Points

Each of these methods corresponds to a server side interception point.

void receive_request_service_contexts (TAO_ServerRequest &server_request, TAO::Argument *const args[], size_t nargs, TAO::Portable_Server::Servant_Upcall *servant_upcall, CORBA::TypeCode_ptr const *exceptions, CORBA::ULong nexceptions)
 
void receive_request (TAO_ServerRequest &server_request, TAO::Argument *const args[], size_t nargs, TAO::Portable_Server::Servant_Upcall *servant_upcall, CORBA::TypeCode_ptr const *exceptions, CORBA::ULong nexceptions)
 This method an "intermediate" server side interception point. More...
 
void send_reply (TAO_ServerRequest &server_request, TAO::Argument *const args[], size_t nargs, TAO::Portable_Server::Servant_Upcall *servant_upcall, CORBA::TypeCode_ptr const *exceptions, CORBA::ULong nexceptions)
 
void send_exception (TAO_ServerRequest &server_request, TAO::Argument *const args[], size_t nargs, TAO::Portable_Server::Servant_Upcall *servant_upcall, CORBA::TypeCode_ptr const *exceptions, CORBA::ULong nexceptions)
 
void send_other (TAO_ServerRequest &server_request, TAO::Argument *const args[], size_t nargs, TAO::Portable_Server::Servant_Upcall *servant_upcall, CORBA::TypeCode_ptr const *exceptions, CORBA::ULong nexceptions)
 
- Public Member Functions inherited from TAO::ServerRequestInterceptor_Adapter
virtual ~ServerRequestInterceptor_Adapter (void)
 
- Public Member Functions inherited from TAO::RequestInterceptor_Adapter
virtual ~RequestInterceptor_Adapter (void)
 

Private Attributes

ServerRequestInterceptor_List interceptor_list_
 List of registered interceptors. More...
 

Detailed Description

ServerRequestInterceptor_Adapter_Impl.

A convenient helper class to invoke registered server request interceptor(s).

Constructor & Destructor Documentation

TAO::ServerRequestInterceptor_Adapter_Impl::ServerRequestInterceptor_Adapter_Impl ( void  )

Constructor.

Member Function Documentation

void TAO::ServerRequestInterceptor_Adapter_Impl::add_interceptor ( PortableInterceptor::ServerRequestInterceptor_ptr  interceptor)
virtual

Register an interceptor.

Implements TAO::ServerRequestInterceptor_Adapter.

void TAO::ServerRequestInterceptor_Adapter_Impl::add_interceptor ( PortableInterceptor::ServerRequestInterceptor_ptr  interceptor,
const CORBA::PolicyList policies 
)
virtual
TAO::PICurrent_Impl * TAO::ServerRequestInterceptor_Adapter_Impl::allocate_pi_current ( void  )
virtual
void TAO::ServerRequestInterceptor_Adapter_Impl::deallocate_pi_current ( TAO::PICurrent_Impl *  picurrent)
virtual
void TAO::ServerRequestInterceptor_Adapter_Impl::destroy_interceptors ( void  )
virtual
void TAO::ServerRequestInterceptor_Adapter_Impl::execute_command ( TAO_ServerRequest server_request,
TAO::Upcall_Command &  command 
)
virtual
void TAO::ServerRequestInterceptor_Adapter_Impl::popTSC ( TAO_ORB_Core orb_core)
inlinevirtual
void TAO::ServerRequestInterceptor_Adapter_Impl::pushTSC ( TAO_ORB_Core orb_core)
inlinevirtual
void TAO::ServerRequestInterceptor_Adapter_Impl::receive_request ( TAO_ServerRequest server_request,
TAO::Argument *const  args[],
size_t  nargs,
TAO::Portable_Server::Servant_Upcall *  servant_upcall,
CORBA::TypeCode_ptr const *  exceptions,
CORBA::ULong  nexceptions 
)
virtual

This method an "intermediate" server side interception point.

Implements TAO::ServerRequestInterceptor_Adapter.

void TAO::ServerRequestInterceptor_Adapter_Impl::receive_request_service_contexts ( TAO_ServerRequest server_request,
TAO::Argument *const  args[],
size_t  nargs,
TAO::Portable_Server::Servant_Upcall *  servant_upcall,
CORBA::TypeCode_ptr const *  exceptions,
CORBA::ULong  nexceptions 
)
virtual

This method implements the "intermediate" server side interception point if the above #ifdef is set to 1 and a starting intercetion point if it is not set to 1.

Note
This method should have been the "starting" interception point according to the interceptor spec. This will be fixed once Bug 1369 is completely done.

NOTE: Yes, we have two versions of this. This is easier than messing around things in the same function, which is harder to read and could make the code buggier.

Implements TAO::ServerRequestInterceptor_Adapter.

void TAO::ServerRequestInterceptor_Adapter_Impl::send_exception ( TAO_ServerRequest server_request,
TAO::Argument *const  args[],
size_t  nargs,
TAO::Portable_Server::Servant_Upcall *  servant_upcall,
CORBA::TypeCode_ptr const *  exceptions,
CORBA::ULong  nexceptions 
)
virtual

This method implements one of the "ending" server side interception points.

Implements TAO::ServerRequestInterceptor_Adapter.

void TAO::ServerRequestInterceptor_Adapter_Impl::send_other ( TAO_ServerRequest server_request,
TAO::Argument *const  args[],
size_t  nargs,
TAO::Portable_Server::Servant_Upcall *  servant_upcall,
CORBA::TypeCode_ptr const *  exceptions,
CORBA::ULong  nexceptions 
)
virtual

This method implements one of the "ending" server side interception points.

Implements TAO::ServerRequestInterceptor_Adapter.

void TAO::ServerRequestInterceptor_Adapter_Impl::send_reply ( TAO_ServerRequest server_request,
TAO::Argument *const  args[],
size_t  nargs,
TAO::Portable_Server::Servant_Upcall *  servant_upcall,
CORBA::TypeCode_ptr const *  exceptions,
CORBA::ULong  nexceptions 
)
virtual

This method implements one of the "ending" server side interception points.

Implements TAO::ServerRequestInterceptor_Adapter.

Member Data Documentation

ServerRequestInterceptor_List TAO::ServerRequestInterceptor_Adapter_Impl::interceptor_list_
private

List of registered interceptors.


The documentation for this class was generated from the following files: