00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file RequestInterceptor_Adapter_Impl.h 00006 * 00007 * $Id: RequestInterceptor_Adapter_Impl.h 85371 2009-05-18 13:39:38Z sma $ 00008 * 00009 */ 00010 //============================================================================= 00011 00012 #ifndef TAO_REQUEST_INTERCEPTOR_ADAPTER_IMPL_H 00013 #define TAO_REQUEST_INTERCEPTOR_ADAPTER_IMPL_H 00014 00015 #include /**/ "ace/pre.h" 00016 00017 #include "tao/orbconf.h" 00018 00019 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00020 # pragma once 00021 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00022 00023 #if TAO_HAS_INTERCEPTORS == 1 00024 00025 #include "tao/PI/pi_export.h" 00026 #include "tao/PI/Interceptor_List_T.h" 00027 #include "tao/PI/ClientRequestInterceptorC.h" 00028 #include "tao/PI/ClientRequestDetails.h" 00029 #include "tao/RequestInterceptor_Adapter.h" 00030 00031 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00032 00033 class Invocation_Base; 00034 00035 /** 00036 * @class TAO_RequestInterceptor_Adapter_Impl 00037 * 00038 * @brief A convenient helper class to invoke registered client request 00039 * interceptors 00040 * 00041 * This class invokes all registered interceptors at interception 00042 * point, and enforces flow rules dictated by the Portable Interceptor 00043 * specification/chapter. 00044 */ 00045 class TAO_PI_Export TAO_RequestInterceptor_Adapter_Impl 00046 : public TAO::RequestInterceptor_Adapter 00047 { 00048 public: 00049 ~TAO_RequestInterceptor_Adapter_Impl (void); 00050 00051 void popTSC (TAO_ORB_Core *orb_core); 00052 void pushTSC (TAO_ORB_Core *orb_core); 00053 }; 00054 00055 TAO_END_VERSIONED_NAMESPACE_DECL 00056 00057 #endif /* TAO_HAS_INTERCEPTORS == 1 */ 00058 00059 #include /**/ "ace/post.h" 00060 00061 #endif /* TAO_REQUEST_INTERCEPTOR_ADAPTER_IMPL_H */