summaryrefslogtreecommitdiff
path: root/TAO/tao/IORInterceptor/IORInterceptor_Adapter_Impl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/IORInterceptor/IORInterceptor_Adapter_Impl.cpp')
-rw-r--r--TAO/tao/IORInterceptor/IORInterceptor_Adapter_Impl.cpp73
1 files changed, 57 insertions, 16 deletions
diff --git a/TAO/tao/IORInterceptor/IORInterceptor_Adapter_Impl.cpp b/TAO/tao/IORInterceptor/IORInterceptor_Adapter_Impl.cpp
index 878419b151a..35cbb376d28 100644
--- a/TAO/tao/IORInterceptor/IORInterceptor_Adapter_Impl.cpp
+++ b/TAO/tao/IORInterceptor/IORInterceptor_Adapter_Impl.cpp
@@ -1,7 +1,7 @@
// $Id$
-#include "IORInterceptor_Adapter_Impl.h"
-#include "IORInfo.h"
+#include "tao/IORInterceptor/IORInterceptor_Adapter_Impl.h"
+#include "tao/IORInterceptor/IORInfo.h"
#include "tao/debug.h"
#include "tao/ORB_Constants.h"
#include "tao/PI/PI.h"
@@ -13,6 +13,8 @@ ACE_RCSID (IORInterceptor,
"$Id$")
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
TAO_IORInterceptor_Adapter_Impl::~TAO_IORInterceptor_Adapter_Impl (void)
{
}
@@ -29,6 +31,19 @@ TAO_IORInterceptor_Adapter_Impl::add_interceptor (
}
void
+TAO_IORInterceptor_Adapter_Impl::add_interceptor (
+ PortableInterceptor::IORInterceptor_ptr i,
+ const CORBA::PolicyList& policies
+ ACE_ENV_ARG_DECL
+ )
+{
+ this->ior_interceptor_list_.add_interceptor (i,
+ policies
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+void
TAO_IORInterceptor_Adapter_Impl::destroy_interceptors (ACE_ENV_SINGLE_ARG_DECL)
{
this->ior_interceptor_list_.destroy_interceptors (ACE_ENV_SINGLE_ARG_PARAMETER);
@@ -135,10 +150,18 @@ TAO_IORInterceptor_Adapter_Impl::components_established (
{
ACE_TRY
{
- this->ior_interceptor_list_.interceptor (j)->components_established (
- info
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
+ PortableInterceptor::IORInterceptor_ptr ior_interceptor =
+ this->ior_interceptor_list_.interceptor (j);
+
+ PortableInterceptor::IORInterceptor_3_0_var ior_3_interceptor =
+ PortableInterceptor::IORInterceptor_3_0::_narrow (ior_interceptor);
+ if (!CORBA::is_nil (ior_3_interceptor.in ()))
+ {
+ ior_3_interceptor->components_established (
+ info
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
}
ACE_CATCHANY
{
@@ -179,11 +202,19 @@ TAO_IORInterceptor_Adapter_Impl::adapter_state_changed (
for (size_t i = 0; i < interceptor_count; ++i)
{
- this->ior_interceptor_list_.interceptor (i)->adapter_state_changed (
- seq_obj_ref_template,
- state
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
+ PortableInterceptor::IORInterceptor_ptr ior_interceptor =
+ this->ior_interceptor_list_.interceptor (i);
+
+ PortableInterceptor::IORInterceptor_3_0_var ior_3_interceptor =
+ PortableInterceptor::IORInterceptor_3_0::_narrow (ior_interceptor);
+ if (!CORBA::is_nil (ior_3_interceptor.in ()))
+ {
+ ior_3_interceptor->adapter_state_changed (
+ seq_obj_ref_template,
+ state
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
}
}
@@ -204,10 +235,20 @@ TAO_IORInterceptor_Adapter_Impl::adapter_manager_state_changed (
for (size_t i = 0; i < interceptor_count; ++i)
{
- this->ior_interceptor_list_.interceptor(i)->adapter_manager_state_changed (
- id,
- state
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
+ PortableInterceptor::IORInterceptor_ptr ior_interceptor =
+ this->ior_interceptor_list_.interceptor (i);
+
+ PortableInterceptor::IORInterceptor_3_0_var ior_3_interceptor =
+ PortableInterceptor::IORInterceptor_3_0::_narrow (ior_interceptor);
+ if (!CORBA::is_nil (ior_3_interceptor.in ()))
+ {
+ ior_3_interceptor->adapter_manager_state_changed (
+ id,
+ state
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
}
}
+
+TAO_END_VERSIONED_NAMESPACE_DECL