Merge pull request #2301 from sonndinh/remove-dup-reactor-functions
[ACE_TAO.git] / TAO / orbsvcs / tests / Bug_3216_Regression / ServerRequest_Interceptor.h
blob00bd3d8fea504e79f0d5755d08b2d417484291eb
1 // -*- C++ -*-
3 //=============================================================================
4 //=============================================================================
6 #ifndef TAO249_SERVER_REQUEST_INTERCEPTOR_H
7 #define TAO249_SERVER_REQUEST_INTERCEPTOR_H
9 #include "ace/config-all.h"
11 #if !defined (ACE_LACKS_PRAGMA_ONCE)
12 # pragma once
13 #endif /* ACE_LACKS_PRAGMA_ONCE */
14 #include "tao/LocalObject.h"
15 #include "tao/PortableInterceptorC.h"
16 #include "tao/ORB.h"
17 #include "tao/PI/PI.h"
18 #include "tao/PI_Server/PI_Server.h"
20 class TAO249_ServerRequest_Interceptor
21 : public virtual PortableInterceptor::ServerRequestInterceptor,
22 public virtual ::CORBA::LocalObject
24 public:
25 /// Constructor.
26 TAO249_ServerRequest_Interceptor ();
28 /// Destructor.
29 ~TAO249_ServerRequest_Interceptor ();
31 /**
32 * @name Methods Required by the Server Request Interceptor
33 * Interface
35 * These are methods that must be implemented since they are pure
36 * virtual in the abstract base class. They are the canonical
37 * methods required for all server request interceptors.
39 //@{
40 /// Return the name of this ServerRequestinterceptor.
41 virtual char * name ();
43 virtual void destroy ();
45 virtual void receive_request_service_contexts (
46 PortableInterceptor::ServerRequestInfo_ptr ri);
48 virtual void receive_request (
49 PortableInterceptor::ServerRequestInfo_ptr ri);
51 virtual void send_reply (
52 PortableInterceptor::ServerRequestInfo_ptr ri);
54 virtual void send_exception (
55 PortableInterceptor::ServerRequestInfo_ptr ri);
57 virtual void send_other (
58 PortableInterceptor::ServerRequestInfo_ptr ri);
59 //@}
60 private:
61 CORBA::ORB_var orb_;
63 CORBA:: Long client_id_;
66 #endif /* TAO249_SERVER_REQUEST_INTERCEPTOR_H */