2 #include "ServerRequest_Interceptor2.h"
3 #include "orbsvcs/FT_CORBA_ORBC.h"
5 #include "tao/ORB_Constants.h"
6 #include "tao/AnyTypeCode/DynamicC.h"
7 #include "tao/AnyTypeCode/TypeCode.h"
9 #include "ace/Log_Msg.h"
10 #include "ace/OS_NS_string.h"
11 #include "ace/OS_NS_stdio.h"
12 #include "ace/OS_NS_unistd.h"
14 #include "ace/OS_NS_sys_time.h"
15 #include "tao/PI/PIForwardRequestC.h"
18 ServerRequest_Interceptor2::has_ft_request_sc_
= false;
20 ServerRequest_Interceptor2::ServerRequest_Interceptor2 ()
25 ServerRequest_Interceptor2::~ServerRequest_Interceptor2 ()
30 ServerRequest_Interceptor2::name ()
32 return CORBA::string_dup ("ServerRequest_Interceptor2");
36 ServerRequest_Interceptor2::destroy ()
41 ServerRequest_Interceptor2::receive_request_service_contexts (
42 PortableInterceptor::ServerRequestInfo_ptr
)
47 ServerRequest_Interceptor2::receive_request (
48 PortableInterceptor::ServerRequestInfo_ptr ri
)
50 CORBA::String_var op
= ri
->operation ();
52 if (ACE_OS::strcmp (op
.in (), "has_ft_request_service_context"))
54 // bail if not the op we are interested in -
55 // avoid excess spurious error clutter when client calls ::shutdown; ::ping etc..
61 IOP::ServiceContext_var sc
=
62 ri
->get_request_service_context (IOP::FT_REQUEST
);
64 // No exception therefore there was a context
65 has_ft_request_sc_
= true;
67 catch (const CORBA::BAD_PARAM
& ex
)
70 // No group version context
71 has_ft_request_sc_
= false;
73 catch (const CORBA::Exception
&)
80 ServerRequest_Interceptor2::send_reply (
81 PortableInterceptor::ServerRequestInfo_ptr
)
86 ServerRequest_Interceptor2::send_exception (
87 PortableInterceptor::ServerRequestInfo_ptr
)
92 ServerRequest_Interceptor2::send_other (
93 PortableInterceptor::ServerRequestInfo_ptr
)