diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Method_Request_Updates.cpp')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Notify/Method_Request_Updates.cpp | 57 |
1 files changed, 30 insertions, 27 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Updates.cpp b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Updates.cpp index 60049cf0bef..58284285aac 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Updates.cpp +++ b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Updates.cpp @@ -6,14 +6,14 @@ #include "Method_Request_Updates.inl" #endif /* __ACE_INLINE__ */ -ACE_RCSID(Notify, TAO_NS_Method_Request_Updates, "$id$") +ACE_RCSID(Notify, TAO_NS_Method_Request_Updates, "$Id$") #include "tao/debug.h" #include "Proxy.h" #include "Peer.h" TAO_NS_Method_Request_Updates::TAO_NS_Method_Request_Updates (const TAO_NS_EventTypeSeq& added, const TAO_NS_EventTypeSeq& removed, TAO_NS_Proxy* proxy) - :added_ (added), removed_ (removed), proxy_ (proxy), refcountable_guard_ (*proxy) + : TAO_NS_Method_Request_Updates_Base (added, removed, proxy) { } @@ -21,35 +21,38 @@ TAO_NS_Method_Request_Updates::~TAO_NS_Method_Request_Updates () { } +int +TAO_NS_Method_Request_Updates::execute (ACE_ENV_SINGLE_ARG_DECL) +{ + return this->execute_i (ACE_ENV_SINGLE_ARG_PARAMETER); +} + +/********************************************************************************************************/ + +TAO_NS_Method_Request_Updates_No_Copy::TAO_NS_Method_Request_Updates_No_Copy (const TAO_NS_EventTypeSeq& added + , const TAO_NS_EventTypeSeq& removed, TAO_NS_Proxy* proxy) + : TAO_NS_Method_Request_Updates_No_Copy_Base (added, removed, proxy) +{ +} + +TAO_NS_Method_Request_Updates_No_Copy::~TAO_NS_Method_Request_Updates_No_Copy () +{ +} + TAO_NS_Method_Request* -TAO_NS_Method_Request_Updates::copy (void) +TAO_NS_Method_Request_Updates_No_Copy::copy (void) { - /// @@use factory - return new TAO_NS_Method_Request_Updates (this->added_, this->removed_, this->proxy_); + TAO_NS_Method_Request* request; + + ACE_NEW_THROW_EX (request, + TAO_NS_Method_Request_Updates (this->added_, this->removed_, this->proxy_), + CORBA::INTERNAL ()); + + return request; } int -TAO_NS_Method_Request_Updates::execute (ACE_ENV_SINGLE_ARG_DECL) +TAO_NS_Method_Request_Updates_No_Copy::execute (ACE_ENV_SINGLE_ARG_DECL) { - if (this->proxy_->has_shutdown ()) - return 0; // If we were shutdown while waiting in the queue, return with no action. - - ACE_TRY - { - TAO_NS_Peer* peer = this->proxy_->peer(); - - if (peer != 0) - { - peer->dispatch_updates (this->added_, this->removed_ ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - if (TAO_debug_level > 0) - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_NS_Method_Request_Updates::execute error sending updates\n "); - } - ACE_ENDTRY; - - return 0; + return this->execute_i (ACE_ENV_SINGLE_ARG_PARAMETER); } |