diff options
Diffstat (limited to 'ACE/TAO/tests/Portable_Interceptors/Recursive_ORBInitializer/Client_ORBInitializer.cpp')
-rw-r--r-- | ACE/TAO/tests/Portable_Interceptors/Recursive_ORBInitializer/Client_ORBInitializer.cpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/ACE/TAO/tests/Portable_Interceptors/Recursive_ORBInitializer/Client_ORBInitializer.cpp b/ACE/TAO/tests/Portable_Interceptors/Recursive_ORBInitializer/Client_ORBInitializer.cpp new file mode 100644 index 00000000000..b5a7b63a0c4 --- /dev/null +++ b/ACE/TAO/tests/Portable_Interceptors/Recursive_ORBInitializer/Client_ORBInitializer.cpp @@ -0,0 +1,40 @@ +// -*- 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) +{ + ++pre_init_called; + + if (second_ != 0) + { + PortableInterceptor::register_orb_initializer (second_); + + // Registered the initializer, clear the pointer so that we only do it + // once + second_ = 0; + } +} + +void +Client_ORBInitializer::post_init (PortableInterceptor::ORBInitInfo_ptr) +{ + ++post_init_called; +} + |