TAO_PI_Server
2.0.8
|
ServerRequestInterceptor_Adapter_Impl. More...
#include <ServerInterceptorAdapter.h>
Public Member Functions | |
ServerRequestInterceptor_Adapter_Impl (void) | |
Constructor. | |
virtual void | add_interceptor (PortableInterceptor::ServerRequestInterceptor_ptr interceptor) |
Register an interceptor. | |
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. | |
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) |
Private Attributes | |
ServerRequestInterceptor_List | interceptor_list_ |
List of registered interceptors. |
ServerRequestInterceptor_Adapter_Impl.
A convenient helper class to invoke registered server request interceptor(s).
TAO::ServerRequestInterceptor_Adapter_Impl::ServerRequestInterceptor_Adapter_Impl | ( | void | ) |
Constructor.
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] |
Implements TAO::ServerRequestInterceptor_Adapter.
TAO::PICurrent_Impl * TAO::ServerRequestInterceptor_Adapter_Impl::allocate_pi_current | ( | void | ) | [virtual] |
Implements TAO::ServerRequestInterceptor_Adapter.
void TAO::ServerRequestInterceptor_Adapter_Impl::deallocate_pi_current | ( | TAO::PICurrent_Impl * | picurrent | ) | [virtual] |
Implements TAO::ServerRequestInterceptor_Adapter.
void TAO::ServerRequestInterceptor_Adapter_Impl::destroy_interceptors | ( | void | ) | [virtual] |
Implements TAO::RequestInterceptor_Adapter.
void TAO::ServerRequestInterceptor_Adapter_Impl::execute_command | ( | TAO_ServerRequest & | server_request, |
TAO::Upcall_Command & | command | ||
) | [virtual] |
Implements TAO::ServerRequestInterceptor_Adapter.
void TAO::ServerRequestInterceptor_Adapter_Impl::popTSC | ( | TAO_ORB_Core * | orb_core | ) | [inline, virtual] |
Implements TAO::RequestInterceptor_Adapter.
void TAO::ServerRequestInterceptor_Adapter_Impl::pushTSC | ( | TAO_ORB_Core * | orb_core | ) | [inline, virtual] |
Implements TAO::RequestInterceptor_Adapter.
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: 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.
ServerRequestInterceptor_List TAO::ServerRequestInterceptor_Adapter_Impl::interceptor_list_ [private] |
List of registered interceptors.