diff options
author | William R. Otte <wotte@dre.vanderbilt.edu> | 2006-07-24 15:50:21 +0000 |
---|---|---|
committer | William R. Otte <wotte@dre.vanderbilt.edu> | 2006-07-24 15:50:21 +0000 |
commit | 3aff90f4a822fcf5d902bbfbcc9fa931d6191a8c (patch) | |
tree | 197c810e5f5bce17b1233a7cb8d7b50c0bcd25e2 /TAO/tests/ORT/ServerORBInitializer.cpp | |
parent | 6b846cf03c0bcbd8c276cb0af61a181e5f98eaae (diff) | |
download | ATCD-3aff90f4a822fcf5d902bbfbcc9fa931d6191a8c.tar.gz |
Repo restructuring
Diffstat (limited to 'TAO/tests/ORT/ServerORBInitializer.cpp')
-rw-r--r-- | TAO/tests/ORT/ServerORBInitializer.cpp | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/TAO/tests/ORT/ServerORBInitializer.cpp b/TAO/tests/ORT/ServerORBInitializer.cpp new file mode 100644 index 00000000000..40853060d7b --- /dev/null +++ b/TAO/tests/ORT/ServerORBInitializer.cpp @@ -0,0 +1,83 @@ +#include "ServerORBInitializer.h" +#include "ServerRequestInterceptor.h" +#include "ORT_test_IORInterceptor.h" + +#include "tao/ORB_Constants.h" +#include "tao/PortableServer/PortableServer.h" + + +ACE_RCSID (ORT, + ServerORBInitializer, + "$Id$") + + +void +ServerORBInitializer::pre_init ( + PortableInterceptor::ORBInitInfo_ptr /* info */ + ACE_ENV_ARG_DECL_NOT_USED) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ +} + +void +ServerORBInitializer::post_init ( + PortableInterceptor::ORBInitInfo_ptr info + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + + CORBA::Object_var obj = + info->resolve_initial_references ("POACurrent" + ACE_ENV_ARG_PARAMETER); + ACE_CHECK; + + PortableServer::Current_var poa_current = + PortableServer::Current::_narrow (obj.in () + ACE_ENV_ARG_PARAMETER); + ACE_CHECK; + + ACE_ASSERT (!CORBA::is_nil (poa_current.in ())); + + + CORBA::String_var orb_id = info->orb_id (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_CHECK; + + // Create and register the test's ServerRequestInterceptor + + PortableInterceptor::ServerRequestInterceptor_ptr tmp; + ACE_NEW_THROW_EX (tmp, + ServerRequestInterceptor (orb_id.in (), + poa_current.in ()), + CORBA::NO_MEMORY ( + CORBA::SystemException::_tao_minor_code ( + TAO::VMCID, + ENOMEM), + CORBA::COMPLETED_NO)); + ACE_CHECK; + + PortableInterceptor::ServerRequestInterceptor_var server_interceptor = tmp; + + info->add_server_request_interceptor (server_interceptor.in () + ACE_ENV_ARG_PARAMETER); + ACE_CHECK; + + + // Create and register the test's IORInterceptor + + PortableInterceptor::IORInterceptor_ptr ort_test_interceptor; + ACE_NEW_THROW_EX (ort_test_interceptor, + ORT_test_IORInterceptor, + CORBA::NO_MEMORY ( + CORBA::SystemException::_tao_minor_code ( + TAO::VMCID, + ENOMEM), + CORBA::COMPLETED_NO)); + ACE_CHECK; + + PortableInterceptor::IORInterceptor_var ior_interceptor = + ort_test_interceptor; + + info->add_ior_interceptor (ior_interceptor.in () + ACE_ENV_ARG_PARAMETER); + ACE_CHECK; +} |