summaryrefslogtreecommitdiff
path: root/TAO/tests/Portable_Interceptors/PolicyFactory/Server_ORBInitializer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tests/Portable_Interceptors/PolicyFactory/Server_ORBInitializer.cpp')
-rw-r--r--TAO/tests/Portable_Interceptors/PolicyFactory/Server_ORBInitializer.cpp55
1 files changed, 55 insertions, 0 deletions
diff --git a/TAO/tests/Portable_Interceptors/PolicyFactory/Server_ORBInitializer.cpp b/TAO/tests/Portable_Interceptors/PolicyFactory/Server_ORBInitializer.cpp
new file mode 100644
index 00000000000..c0ec2c8b751
--- /dev/null
+++ b/TAO/tests/Portable_Interceptors/PolicyFactory/Server_ORBInitializer.cpp
@@ -0,0 +1,55 @@
+// -*- C++ -*-
+
+#include "Server_ORBInitializer.h"
+#include "IORInterceptor.h"
+#include "PolicyFactory.h"
+#include "testC.h"
+
+#include "tao/ORB_Constants.h"
+
+#include "ace/OS_NS_string.h"
+
+
+ACE_RCSID (PolicyFactory,
+ Server_ORBInitializer,
+ "$Id$")
+
+
+void
+Server_ORBInitializer::pre_init (
+ PortableInterceptor::ORBInitInfo_ptr /* info */
+ )
+{
+}
+
+void
+Server_ORBInitializer::post_init (
+ PortableInterceptor::ORBInitInfo_ptr info)
+{
+ PortableInterceptor::PolicyFactory_ptr p;
+ ACE_NEW_THROW_EX (p,
+ PolicyFactory,
+ CORBA::NO_MEMORY (
+ CORBA::SystemException::_tao_minor_code (
+ TAO::VMCID,
+ ENOMEM),
+ CORBA::COMPLETED_NO));
+
+ PortableInterceptor::PolicyFactory_var policy_factory (p);
+
+ info->register_policy_factory (Test::POLICY_TYPE,
+ policy_factory.in ());
+
+ PortableInterceptor::IORInterceptor_ptr i;
+ ACE_NEW_THROW_EX (i,
+ IORInterceptor,
+ CORBA::NO_MEMORY (
+ CORBA::SystemException::_tao_minor_code (
+ TAO::VMCID,
+ ENOMEM),
+ CORBA::COMPLETED_NO));
+
+ PortableInterceptor::IORInterceptor_var ior_interceptor (i);
+
+ info->add_ior_interceptor (ior_interceptor.in ());
+}