summaryrefslogtreecommitdiff
path: root/TAO/tests/TransportCurrent/lib/Server_Request_Interceptor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tests/TransportCurrent/lib/Server_Request_Interceptor.cpp')
-rw-r--r--TAO/tests/TransportCurrent/lib/Server_Request_Interceptor.cpp112
1 files changed, 112 insertions, 0 deletions
diff --git a/TAO/tests/TransportCurrent/lib/Server_Request_Interceptor.cpp b/TAO/tests/TransportCurrent/lib/Server_Request_Interceptor.cpp
new file mode 100644
index 00000000000..c0e7d2c218a
--- /dev/null
+++ b/TAO/tests/TransportCurrent/lib/Server_Request_Interceptor.cpp
@@ -0,0 +1,112 @@
+// -*- C++ -*-
+
+#include "ace/Log_Msg.h"
+
+ACE_RCSID (Current_Test_Lib,
+ Server_Request_Interceptor,
+ "$Id$")
+
+#include "Server_Request_Interceptor.h"
+#include "Server_ORBInitializer.h"
+
+namespace Test
+{
+
+ Server_Request_Interceptor::Server_Request_Interceptor (const char* orbid, TEST test)
+ : request_count_ (0)
+ , orb_id_ (::CORBA::string_dup (orbid))
+ , test_ (test)
+ {
+ }
+
+ Server_Request_Interceptor::~Server_Request_Interceptor (void)
+ {
+ }
+
+ void
+ Server_Request_Interceptor::test_transport_current (const ACE_TCHAR* amethod)
+ {
+ CORBA::String_var name (this->name ());
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s (%P|%t) Test accessing Transport Current from %s\n"),
+ name.in (),
+ amethod));
+
+ ++this->request_count_;
+
+ if (TAO_debug_level >=1)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s (%P|%t) Getting the ORB\n"),
+ name.in ()));
+
+ int tmpargc = 0;
+ CORBA::ORB_var orb = CORBA::ORB_init (tmpargc,
+ 0,
+ this->orb_id_.in ());
+ if (TAO_debug_level >=1)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s (%P|%t) Resolving the TC\n"),
+ name.in ()));
+
+ CORBA::Object_var tcobject =
+ orb->resolve_initial_references ("TAO::Transport::Current");
+
+ // Run the test function
+ (*this->test_) (orb.in ());
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s (%P|%t) Success - Transport Current from %s\n"),
+ name.in (),
+ amethod));
+ }
+
+ /// queries the status of the test
+ bool
+ Server_Request_Interceptor::self_test (void)
+ {
+ return true;
+ }
+
+
+ char *
+ Server_Request_Interceptor::name (void)
+ {
+ return CORBA::string_dup ("SRI ");
+ }
+
+ void
+ Server_Request_Interceptor::destroy (void)
+ {
+ }
+
+ void
+ Server_Request_Interceptor::receive_request_service_contexts (PortableInterceptor::ServerRequestInfo_ptr)
+ {
+ test_transport_current ("receive_request_service_contexts");
+ }
+
+ void
+ Server_Request_Interceptor::receive_request (PortableInterceptor::ServerRequestInfo_ptr)
+ {
+ test_transport_current ("receive_request");
+ }
+
+ void
+ Server_Request_Interceptor::send_reply (PortableInterceptor::ServerRequestInfo_ptr)
+ {
+ test_transport_current ("send_reply");
+ }
+
+ void
+ Server_Request_Interceptor::send_exception (PortableInterceptor::ServerRequestInfo_ptr)
+ {
+ test_transport_current ("send_exception");
+ }
+
+ void
+ Server_Request_Interceptor::send_other (PortableInterceptor::ServerRequestInfo_ptr)
+ {
+ test_transport_current ("send_other");
+ }
+
+} /* namespace Test */