summaryrefslogtreecommitdiff
path: root/trunk/TAO/tests/Portable_Interceptors/Bug_2510_Regression/Server_ORBInitializer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/TAO/tests/Portable_Interceptors/Bug_2510_Regression/Server_ORBInitializer.cpp')
-rw-r--r--trunk/TAO/tests/Portable_Interceptors/Bug_2510_Regression/Server_ORBInitializer.cpp54
1 files changed, 54 insertions, 0 deletions
diff --git a/trunk/TAO/tests/Portable_Interceptors/Bug_2510_Regression/Server_ORBInitializer.cpp b/trunk/TAO/tests/Portable_Interceptors/Bug_2510_Regression/Server_ORBInitializer.cpp
new file mode 100644
index 00000000000..db5aab77b1d
--- /dev/null
+++ b/trunk/TAO/tests/Portable_Interceptors/Bug_2510_Regression/Server_ORBInitializer.cpp
@@ -0,0 +1,54 @@
+// -*- C++ -*-
+//
+// $Id$
+//
+
+#include "Server_ORBInitializer.h"
+extern PortableInterceptor::SlotId slotId;
+
+ACE_RCSID (Bug_2510,
+ Server_ORBInitializer,
+ "$Id$")
+
+Server_ORBInitializer::Server_ORBInitializer (void)
+{
+}
+
+void
+Server_ORBInitializer::pre_init (
+ PortableInterceptor::ORBInitInfo_ptr
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+}
+
+void
+Server_ORBInitializer::post_init (
+ PortableInterceptor::ORBInitInfo_ptr info
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // allocate a slot
+ slotId = info->allocate_slot_id ();
+ ACE_DEBUG ((LM_DEBUG, "Server_ORBInitializer::post_init() : allocated slot id: %d\n", slotId));
+
+ // Install the Echo server request interceptor
+ ACE_NEW_THROW_EX (this->server_interceptor_,
+ Echo_Server_Request_Interceptor,
+ CORBA::NO_MEMORY ());
+ ACE_CHECK;
+
+ PortableInterceptor::ServerRequestInterceptor_var interceptor =
+ this->server_interceptor_;
+
+ info->add_server_request_interceptor (interceptor.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+Echo_Server_Request_Interceptor *
+Server_ORBInitializer::server_interceptor (void)
+{
+ return this->server_interceptor_;
+}
+