00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef TAO_CLIENT_REQUEST_INTERCEPTOR_ADAPTER_H
00019 #define TAO_CLIENT_REQUEST_INTERCEPTOR_ADAPTER_H
00020
00021 #include "ace/pre.h"
00022
00023 #include "tao/TAO_Export.h"
00024
00025 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00026 # pragma once
00027 #endif
00028
00029 #include "tao/Invocation_Utils.h"
00030 #include "tao/Basic_Types.h"
00031
00032 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00033
00034 class TAO_ClientRequestInfo;
00035
00036 namespace PortableInterceptor
00037 {
00038 class ClientRequestInterceptor;
00039 typedef ClientRequestInterceptor *ClientRequestInterceptor_ptr;
00040
00041 typedef CORBA::Short ReplyStatus;
00042 }
00043
00044 namespace CORBA
00045 {
00046 class PolicyList;
00047 }
00048
00049 namespace TAO
00050 {
00051 class Invocation_Base;
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063 class TAO_Export ClientRequestInterceptor_Adapter
00064 {
00065 public:
00066 virtual ~ClientRequestInterceptor_Adapter (void);
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079 virtual void send_request (Invocation_Base &invocation) = 0;
00080
00081
00082
00083 virtual void receive_reply (Invocation_Base &invocation) = 0;
00084
00085
00086
00087 virtual void receive_exception (Invocation_Base &invocation) = 0;
00088
00089
00090
00091 virtual void receive_other (Invocation_Base &invocation) = 0;
00092
00093
00094 virtual void add_interceptor (
00095 PortableInterceptor::ClientRequestInterceptor_ptr interceptor) = 0;
00096
00097
00098 virtual void add_interceptor (
00099 PortableInterceptor::ClientRequestInterceptor_ptr interceptor,
00100 const CORBA::PolicyList& policies) = 0;
00101
00102 virtual void destroy_interceptors (void) = 0;
00103
00104
00105 virtual PortableInterceptor::ReplyStatus pi_reply_status (
00106 TAO::Invocation_Base const &invocation_base) = 0;
00107 };
00108
00109 }
00110
00111 TAO_END_VERSIONED_NAMESPACE_DECL
00112
00113 #include "ace/post.h"
00114
00115 #endif