diff options
Diffstat (limited to 'TAO/tests/Portable_Interceptors/Recursive_ORBInitializer/Client_ORBInitializer.cpp')
-rw-r--r-- | TAO/tests/Portable_Interceptors/Recursive_ORBInitializer/Client_ORBInitializer.cpp | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/TAO/tests/Portable_Interceptors/Recursive_ORBInitializer/Client_ORBInitializer.cpp b/TAO/tests/Portable_Interceptors/Recursive_ORBInitializer/Client_ORBInitializer.cpp new file mode 100644 index 00000000000..881b1f2987f --- /dev/null +++ b/TAO/tests/Portable_Interceptors/Recursive_ORBInitializer/Client_ORBInitializer.cpp @@ -0,0 +1,48 @@ +// -*- C++ -*- +// +// $Id$ +// + +#include "Client_ORBInitializer.h" +#include "tao/ORBInitializer_Registry.h" + +ACE_RCSID (Recursive_ORBInitializer, + Client_ORBInitializer, + "$Id$") + +Client_ORBInitializer::Client_ORBInitializer (Client_ORBInitializer *second) : + pre_init_called (0), + post_init_called (0), + second_ (second) +{ +} + +void +Client_ORBInitializer::pre_init ( + PortableInterceptor::ORBInitInfo_ptr + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + ++pre_init_called; + + if (second_ != 0) + { + PortableInterceptor::register_orb_initializer (second_ + ACE_ENV_ARG_PARAMETER); + ACE_CHECK; + + // Registered the initializer, clear the pointer so that we only do it + // once + second_ = 0; + } +} + +void +Client_ORBInitializer::post_init ( + PortableInterceptor::ORBInitInfo_ptr + ACE_ENV_ARG_DECL_NOT_USED) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + ++post_init_called; +} + |