diff options
Diffstat (limited to 'trunk/TAO/tests/Portable_Interceptors/PolicyFactory/Server_ORBInitializer.cpp')
-rw-r--r-- | trunk/TAO/tests/Portable_Interceptors/PolicyFactory/Server_ORBInitializer.cpp | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/trunk/TAO/tests/Portable_Interceptors/PolicyFactory/Server_ORBInitializer.cpp b/trunk/TAO/tests/Portable_Interceptors/PolicyFactory/Server_ORBInitializer.cpp new file mode 100644 index 00000000000..e6369e699fa --- /dev/null +++ b/trunk/TAO/tests/Portable_Interceptors/PolicyFactory/Server_ORBInitializer.cpp @@ -0,0 +1,64 @@ +// -*- 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 */ + 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)) +{ + PortableInterceptor::PolicyFactory_ptr p; + ACE_NEW_THROW_EX (p, + PolicyFactory, + CORBA::NO_MEMORY ( + CORBA::SystemException::_tao_minor_code ( + TAO::VMCID, + ENOMEM), + CORBA::COMPLETED_NO)); + ACE_CHECK; + + PortableInterceptor::PolicyFactory_var policy_factory (p); + + info->register_policy_factory (Test::POLICY_TYPE, + policy_factory.in () + ACE_ENV_ARG_PARAMETER); + ACE_CHECK; + + PortableInterceptor::IORInterceptor_ptr i; + ACE_NEW_THROW_EX (i, + IORInterceptor, + CORBA::NO_MEMORY ( + CORBA::SystemException::_tao_minor_code ( + TAO::VMCID, + ENOMEM), + CORBA::COMPLETED_NO)); + ACE_CHECK; + + PortableInterceptor::IORInterceptor_var ior_interceptor (i); + + info->add_ior_interceptor (ior_interceptor.in () + ACE_ENV_ARG_PARAMETER); + ACE_CHECK; +} |