diff options
Diffstat (limited to 'ACE/TAO/tests/Portable_Interceptors/PolicyFactory/Server_ORBInitializer.cpp')
-rw-r--r-- | ACE/TAO/tests/Portable_Interceptors/PolicyFactory/Server_ORBInitializer.cpp | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/ACE/TAO/tests/Portable_Interceptors/PolicyFactory/Server_ORBInitializer.cpp b/ACE/TAO/tests/Portable_Interceptors/PolicyFactory/Server_ORBInitializer.cpp new file mode 100644 index 00000000000..c0ec2c8b751 --- /dev/null +++ b/ACE/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 ()); +} |