diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp index b2febd45d52..10e753f3437 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp +++ b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp @@ -1,16 +1,18 @@ // $Id$ -#include "StructuredProxyPushSupplier.h" +#include "orbsvcs/Notify/Structured/StructuredProxyPushSupplier.h" #include "tao/PortableServer/Servant_Base.h" #include "tao/debug.h" -#include "StructuredPushConsumer.h" -#include "../Properties.h" +#include "orbsvcs/Notify/Structured/StructuredPushConsumer.h" +#include "orbsvcs/Notify/Properties.h" ACE_RCSID(RT_Notify, TAO_Notify_StructuredProxyPushSupplier, "$Id$") +TAO_BEGIN_VERSIONED_NAMESPACE_DECL + TAO_Notify_StructuredProxyPushSupplier::TAO_Notify_StructuredProxyPushSupplier (void) { } @@ -22,7 +24,6 @@ TAO_Notify_StructuredProxyPushSupplier::~TAO_Notify_StructuredProxyPushSupplier void TAO_Notify_StructuredProxyPushSupplier::release (void) { - delete this; //@@ inform factory } @@ -82,17 +83,20 @@ TAO_Notify_StructuredProxyPushSupplier::load_attrs (const TAO_Notify::NVPList& a { SuperClass::load_attrs(attrs); ACE_CString ior; - if (attrs.load("PeerIOR", ior) && ior.length() > 0) + if (attrs.load("PeerIOR", ior)) { CORBA::ORB_var orb = TAO_Notify_PROPERTIES::instance()->orb(); ACE_DECLARE_NEW_CORBA_ENV; ACE_TRY { - CORBA::Object_var obj = orb->string_to_object(ior.c_str() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - CosNotifyComm::StructuredPushConsumer_var pc = - CosNotifyComm::StructuredPushConsumer::_unchecked_narrow(obj.in() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; + CosNotifyComm::StructuredPushConsumer_var pc = CosNotifyComm::StructuredPushConsumer::_nil(); + if (ior.length() > 0) + { + CORBA::Object_var obj = orb->string_to_object(ior.c_str() ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + pc = CosNotifyComm::StructuredPushConsumer::_unchecked_narrow(obj.in() ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + } this->connect_structured_push_consumer(pc.in() ACE_ENV_ARG_PARAMETER); ACE_TRY_CHECK; } @@ -103,3 +107,5 @@ TAO_Notify_StructuredProxyPushSupplier::load_attrs (const TAO_Notify::NVPList& a ACE_ENDTRY; } } + +TAO_END_VERSIONED_NAMESPACE_DECL |