Merge pull request #2309 from mitza-oci/warnings
[ACE_TAO.git] / TAO / tests / POA / Bug_1592_Regression / Server_Request_Interceptor.h
blobd75c1105ebee3ac880d37ddefdfffd0fff5a94fc
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file Server_Request_Interceptor.h
7 * Implementation header for the server request interceptor for the
8 * PortableInterceptor / ServantLocator test.
10 * @author Ossama Othman <ossama@dre.vanderbilt.edu>
12 //=============================================================================
14 #ifndef SERVER_REQUEST_INTERCEPTOR_H
15 #define SERVER_REQUEST_INTERCEPTOR_H
17 #include "ace/config-all.h"
19 #if !defined (ACE_LACKS_PRAGMA_ONCE)
20 # pragma once
21 #endif /* ACE_LACKS_PRAGMA_ONCE */
23 #include "tao/PI_Server/PI_Server.h"
24 #include "tao/LocalObject.h"
26 #if defined(_MSC_VER)
27 #pragma warning(push)
28 #pragma warning(disable:4250)
29 #endif /* _MSC_VER */
31 /**
32 * @class Server_Request_Interceptor
34 * @brief Simple concrete server request interceptor.
36 * This server request interceptor merely sets global flags when
37 * specific interception points are called. Those flags are checked
38 * at various points in the test.
40 class Server_Request_Interceptor
41 : public virtual PortableInterceptor::ServerRequestInterceptor,
42 public virtual ::CORBA::LocalObject
44 public:
45 /// Constructor.
46 Server_Request_Interceptor ();
48 /**
49 * @name Methods Required by the Server Request Interceptor
50 * Interface
52 * These are methods that must be implemented since they are pure
53 * virtual in the abstract base class. They are the canonical
54 * methods required for all server request interceptors.
56 //@{
57 /// Return the name of this ServerRequestinterceptor.
58 virtual char * name ();
60 virtual void destroy ();
62 virtual void receive_request_service_contexts (
63 PortableInterceptor::ServerRequestInfo_ptr ri);
65 virtual void receive_request (
66 PortableInterceptor::ServerRequestInfo_ptr ri);
68 virtual void send_reply (
69 PortableInterceptor::ServerRequestInfo_ptr ri);
71 virtual void send_exception (
72 PortableInterceptor::ServerRequestInfo_ptr ri);
74 virtual void send_other (
75 PortableInterceptor::ServerRequestInfo_ptr ri);
76 //@}
78 protected:
79 /// Destructor.
80 ~Server_Request_Interceptor ();
83 #if defined(_MSC_VER)
84 #pragma warning(pop)
85 #endif /* _MSC_VER */
87 #endif /* SERVER_REQUEST_INTERCEPTOR_H */