Merge pull request #2309 from mitza-oci/warnings
[ACE_TAO.git] / TAO / tao / RTScheduling / Request_Interceptor.h
blob772cb6b9753c49e4822515609bfbc3c7e596d61a
1 // -*- C++ -*-
2 //
3 #ifndef TAO_RTSCHEDULING_REQUEST_INTERCEPTOR_H
4 #define TAO_RTSCHEDULING_REQUEST_INTERCEPTOR_H
6 #include "tao/RTScheduling/rtscheduler_export.h"
7 #include "tao/RTScheduling/RTScheduler.h"
8 #include "ace/Atomic_Op.h"
9 #include "tao/RTScheduling/Current.h"
10 #include "tao/LocalObject.h"
12 #include "tao/PI_Server/PI_Server.h"
14 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
16 extern std::atomic<long> server_guid_counter;
18 class TAO_RTScheduler_Export Client_Interceptor:
19 public PortableInterceptor::ClientRequestInterceptor,
20 public ::CORBA::LocalObject
22 public:
23 // Client_Interceptor (RTScheduling::Current_ptr current);
24 void send_request (PortableInterceptor::ClientRequestInfo_ptr ri) override;
26 void send_poll (PortableInterceptor::ClientRequestInfo_ptr ri) override;
28 void receive_reply (PortableInterceptor::ClientRequestInfo_ptr ri) override;
30 void receive_exception (PortableInterceptor::ClientRequestInfo_ptr ri) override;
32 void receive_other (PortableInterceptor::ClientRequestInfo_ptr ri) override;
34 char* name () override;
36 void destroy () override;
38 static const IOP::ServiceId SchedulingInfo;
41 class TAO_RTScheduler_Export Server_Interceptor :
42 public PortableInterceptor::ServerRequestInterceptor,
43 public ::CORBA::LocalObject
45 public:
46 Server_Interceptor (TAO_RTScheduler_Current_ptr current);
48 void receive_request_service_contexts (PortableInterceptor::ServerRequestInfo_ptr ri) override;
50 void receive_request (PortableInterceptor::ServerRequestInfo_ptr ri) override;
52 void send_reply (PortableInterceptor::ServerRequestInfo_ptr ri) override;
54 void send_exception (PortableInterceptor::ServerRequestInfo_ptr ri) override;
56 void send_other (PortableInterceptor::ServerRequestInfo_ptr ri) override;
58 char* name () override;
60 void destroy () override;
62 static const IOP::ServiceId SchedulingInfo;
64 private:
65 TAO_RTScheduler_Current_var current_;
68 TAO_END_VERSIONED_NAMESPACE_DECL
70 #endif /* TAO_RTSCHEDULING_REQUEST_INTERCEPTOR_H */