00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef TAO_SSLIOP_INVOCATION_INTERCEPTOR_H
00014 #define TAO_SSLIOP_INVOCATION_INTERCEPTOR_H
00015
00016 #include "ace/pre.h"
00017
00018 #include "orbsvcs/SSLIOP/SSLIOP_Export.h"
00019
00020 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00021 # pragma once
00022 #endif
00023
00024 #include "orbsvcs/SSLIOPC.h"
00025 #include "orbsvcs/SecurityLevel2C.h"
00026 #include "tao/PortableInterceptorC.h"
00027 #include "tao/PI/ORBInitInfo.h"
00028 #include "tao/PI_Server/PI_Server.h"
00029 #include "tao/PortableServer/PS_CurrentC.h"
00030 #include "tao/LocalObject.h"
00031
00032
00033
00034 #if defined (_MSC_VER)
00035 #pragma warning(push)
00036 #pragma warning(disable:4250)
00037 #endif
00038
00039
00040 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00041
00042 namespace TAO
00043 {
00044 namespace SSLIOP
00045 {
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055 class Server_Invocation_Interceptor
00056 : public virtual PortableInterceptor::ServerRequestInterceptor,
00057 public virtual TAO_Local_RefCounted_Object
00058 {
00059 public:
00060
00061
00062
00063
00064
00065
00066
00067
00068 Server_Invocation_Interceptor (PortableInterceptor::ORBInitInfo_ptr info,
00069 ::Security::QOP default_qop,
00070 size_t tss_slot);
00071
00072
00073
00074
00075
00076
00077
00078
00079 virtual char * name (void);
00080
00081 virtual void destroy (void);
00082
00083 virtual void receive_request_service_contexts (
00084 PortableInterceptor::ServerRequestInfo_ptr ri);
00085
00086 virtual void receive_request (
00087 PortableInterceptor::ServerRequestInfo_ptr ri);
00088
00089 virtual void send_reply (
00090 PortableInterceptor::ServerRequestInfo_ptr ri);
00091
00092 virtual void send_exception (
00093 PortableInterceptor::ServerRequestInfo_ptr ri);
00094
00095 virtual void send_other (
00096 PortableInterceptor::ServerRequestInfo_ptr ri);
00097
00098
00099 protected:
00100
00101
00102
00103
00104
00105
00106 ~Server_Invocation_Interceptor (void);
00107
00108 private:
00109
00110
00111
00112
00113
00114
00115
00116
00117 Server_Invocation_Interceptor (const Server_Invocation_Interceptor &);
00118 void operator= (const Server_Invocation_Interceptor &);
00119
00120
00121 private:
00122
00123
00124 ::SSLIOP::Current_var ssliop_current_;
00125
00126
00127 PortableServer::Current_var poa_current_;
00128
00129
00130 ::Security::QOP qop_;
00131
00132
00133 SecurityLevel2::SecurityManager_var sec2manager_;
00134 SecurityLevel2::Current_var sec2_current_;
00135 };
00136
00137 }
00138 }
00139
00140 TAO_END_VERSIONED_NAMESPACE_DECL
00141
00142 #if defined (_MSC_VER)
00143 #pragma warning(pop)
00144 #endif
00145
00146 #include "ace/post.h"
00147
00148 #endif