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
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
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
;
65 TAO_RTScheduler_Current_var current_
;
68 TAO_END_VERSIONED_NAMESPACE_DECL
70 #endif /* TAO_RTSCHEDULING_REQUEST_INTERCEPTOR_H */