00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef _TAO_IDL_SERVERREQUESTINTERCEPTORC_H_
00032 #define _TAO_IDL_SERVERREQUESTINTERCEPTORC_H_
00033
00034 #include "ace/pre.h"
00035
00036
00037 #include "ace/config-all.h"
00038
00039 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00040 # pragma once
00041 #endif
00042
00043 #include "tao/PI_Server/pi_server_export.h"
00044 #include "tao/ORB.h"
00045 #include "tao/SystemException.h"
00046 #include "tao/Object.h"
00047 #include "tao/Objref_VarOut_T.h"
00048
00049 #define TAO_PI_SAFE_INCLUDE
00050 #include "tao/PI/InterceptorC.h"
00051 #include "tao/PI/PIForwardRequestC.h"
00052 #undef TAO_PI_SAFE_INCLUDE
00053 #include "tao/OctetSeqC.h"
00054
00055 #if defined (TAO_EXPORT_MACRO)
00056 #undef TAO_EXPORT_MACRO
00057 #endif
00058 #define TAO_EXPORT_MACRO TAO_PI_Server_Export
00059
00060
00061
00062
00063 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00064
00065 namespace PortableInterceptor
00066 {
00067
00068
00069
00070
00071 #if !defined (_PORTABLEINTERCEPTOR_SERVERREQUESTINFO__VAR_OUT_CH_)
00072 #define _PORTABLEINTERCEPTOR_SERVERREQUESTINFO__VAR_OUT_CH_
00073
00074 class ServerRequestInfo;
00075 typedef ServerRequestInfo *ServerRequestInfo_ptr;
00076
00077 typedef
00078 TAO_Objref_Var_T<
00079 ServerRequestInfo
00080 >
00081 ServerRequestInfo_var;
00082
00083 typedef
00084 TAO_Objref_Out_T<
00085 ServerRequestInfo
00086 >
00087 ServerRequestInfo_out;
00088
00089 #endif
00090
00091
00092
00093
00094 #if !defined (_PORTABLEINTERCEPTOR_SERVERREQUESTINTERCEPTOR__VAR_OUT_CH_)
00095 #define _PORTABLEINTERCEPTOR_SERVERREQUESTINTERCEPTOR__VAR_OUT_CH_
00096
00097 class ServerRequestInterceptor;
00098 typedef ServerRequestInterceptor *ServerRequestInterceptor_ptr;
00099
00100 typedef
00101 TAO_Objref_Var_T<
00102 ServerRequestInterceptor
00103 >
00104 ServerRequestInterceptor_var;
00105
00106 typedef
00107 TAO_Objref_Out_T<
00108 ServerRequestInterceptor
00109 >
00110 ServerRequestInterceptor_out;
00111
00112 #endif
00113
00114
00115
00116
00117 #if !defined (_PORTABLEINTERCEPTOR_SERVERREQUESTINTERCEPTOR_CH_)
00118 #define _PORTABLEINTERCEPTOR_SERVERREQUESTINTERCEPTOR_CH_
00119
00120 class TAO_PI_Server_Export ServerRequestInterceptor
00121 : public virtual ::PortableInterceptor::Interceptor
00122 {
00123 public:
00124 typedef ServerRequestInterceptor_ptr _ptr_type;
00125 typedef ServerRequestInterceptor_var _var_type;
00126
00127
00128 static ServerRequestInterceptor_ptr _duplicate (ServerRequestInterceptor_ptr obj);
00129
00130 static void _tao_release (ServerRequestInterceptor_ptr obj);
00131
00132 static ServerRequestInterceptor_ptr _narrow (
00133 ::CORBA::Object_ptr obj
00134
00135 );
00136
00137 static ServerRequestInterceptor_ptr _unchecked_narrow (
00138 ::CORBA::Object_ptr obj
00139
00140 );
00141
00142 static ServerRequestInterceptor_ptr _nil (void)
00143 {
00144 return static_cast<ServerRequestInterceptor_ptr> (0);
00145 }
00146
00147
00148
00149
00150
00151
00152 #if TAO_HAS_EXTENDED_FT_INTERCEPTORS == 1
00153
00154 virtual void tao_ft_interception_point (
00155 ::PortableInterceptor::ServerRequestInfo_ptr ri,
00156 ::CORBA::OctetSeq_out os
00157
00158 )
00159 {}
00160
00161 #endif
00162
00163
00164
00165
00166 virtual void receive_request_service_contexts (
00167 ::PortableInterceptor::ServerRequestInfo_ptr ri
00168 )
00169 = 0;
00170
00171
00172
00173
00174 virtual void receive_request (
00175 ::PortableInterceptor::ServerRequestInfo_ptr ri
00176
00177 )
00178 = 0;
00179
00180
00181
00182
00183 virtual void send_reply (
00184 ::PortableInterceptor::ServerRequestInfo_ptr ri
00185
00186 )
00187 = 0;
00188
00189
00190
00191
00192 virtual void send_exception (
00193 ::PortableInterceptor::ServerRequestInfo_ptr ri
00194
00195 )
00196 = 0;
00197
00198
00199
00200
00201 virtual void send_other (
00202 ::PortableInterceptor::ServerRequestInfo_ptr ri
00203
00204 )
00205 = 0;
00206
00207
00208
00209
00210 virtual ::CORBA::Boolean _is_a (
00211 const char *type_id
00212
00213 );
00214
00215 virtual const char* _interface_repository_id (void) const;
00216 virtual ::CORBA::Boolean marshal (TAO_OutputCDR &cdr);
00217
00218 protected:
00219
00220 ServerRequestInterceptor (void);
00221
00222 virtual ~ServerRequestInterceptor (void);
00223
00224 private:
00225
00226 ServerRequestInterceptor (const ServerRequestInterceptor &);
00227
00228 void operator= (const ServerRequestInterceptor &);
00229 };
00230
00231 #endif
00232
00233
00234
00235
00236 }
00237
00238
00239
00240
00241
00242 namespace TAO
00243 {
00244
00245 #if !defined (_PORTABLEINTERCEPTOR_SERVERREQUESTINFO__TRAITS_)
00246 #define _PORTABLEINTERCEPTOR_SERVERREQUESTINFO__TRAITS_
00247
00248 template<>
00249 struct TAO_PI_Server_Export Objref_Traits< ::PortableInterceptor::ServerRequestInfo>
00250 {
00251 static ::PortableInterceptor::ServerRequestInfo_ptr duplicate (
00252 ::PortableInterceptor::ServerRequestInfo_ptr
00253 );
00254 static void release (
00255 ::PortableInterceptor::ServerRequestInfo_ptr
00256 );
00257 static ::PortableInterceptor::ServerRequestInfo_ptr nil (void);
00258 static ::CORBA::Boolean marshal (
00259 ::PortableInterceptor::ServerRequestInfo_ptr p,
00260 TAO_OutputCDR & cdr
00261 );
00262 };
00263
00264 #endif
00265
00266 #if !defined (_PORTABLEINTERCEPTOR_SERVERREQUESTINTERCEPTOR__TRAITS_)
00267 #define _PORTABLEINTERCEPTOR_SERVERREQUESTINTERCEPTOR__TRAITS_
00268
00269 template<>
00270 struct TAO_PI_Server_Export Objref_Traits< ::PortableInterceptor::ServerRequestInterceptor>
00271 {
00272 static ::PortableInterceptor::ServerRequestInterceptor_ptr duplicate (
00273 ::PortableInterceptor::ServerRequestInterceptor_ptr
00274 );
00275 static void release (
00276 ::PortableInterceptor::ServerRequestInterceptor_ptr
00277 );
00278 static ::PortableInterceptor::ServerRequestInterceptor_ptr nil (void);
00279 static ::CORBA::Boolean marshal (
00280 ::PortableInterceptor::ServerRequestInterceptor_ptr p,
00281 TAO_OutputCDR & cdr
00282 );
00283 };
00284
00285 #endif
00286 }
00287
00288
00289
00290
00291 TAO_END_VERSIONED_NAMESPACE_DECL
00292
00293 #include "ace/post.h"
00294
00295 #endif
00296
00297