diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Notify_Listener_Filter_Eval_Command.cpp')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Notify/Notify_Listener_Filter_Eval_Command.cpp | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Listener_Filter_Eval_Command.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_Listener_Filter_Eval_Command.cpp index f4be3401dbf..e05ab096455 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Listener_Filter_Eval_Command.cpp +++ b/TAO/orbsvcs/orbsvcs/Notify/Notify_Listener_Filter_Eval_Command.cpp @@ -6,11 +6,12 @@ #include "Notify_Worker_Task.h" #include "Notify_Listeners.h" #include "Notify_Event.h" +#include "Notify_Event_Processor.h" ACE_RCSID(Notify, Notify_Listener_Filter_Eval_Command, "$Id$") -TAO_Notify_Listener_Filter_Eval_Command::TAO_Notify_Listener_Filter_Eval_Command (TAO_Notify_Event* event, TAO_Notify_EventListener* event_listener, CORBA::Boolean eval_parent) - :event_ (event), +TAO_Notify_Listener_Filter_Eval_Command::TAO_Notify_Listener_Filter_Eval_Command (TAO_Notify_Event_Processor* event_processor, TAO_Notify_Event* event, TAO_Notify_EventListener* event_listener, CORBA::Boolean eval_parent) + :TAO_Notify_Command (event_processor, event), event_listener_ (event_listener), eval_parent_ (eval_parent) { @@ -25,8 +26,7 @@ TAO_Notify_Listener_Filter_Eval_Command::~TAO_Notify_Listener_Filter_Eval_Comman } int -TAO_Notify_Listener_Filter_Eval_Command::execute (TAO_Notify_Worker_Task* parent_task, - CORBA::Environment& ACE_TRY_ENV) +TAO_Notify_Listener_Filter_Eval_Command::execute (CORBA::Environment& ACE_TRY_ENV) { CORBA::Boolean result = this->event_listener_->evaluate_filter (*this->event_, this->eval_parent_, ACE_TRY_ENV); @@ -34,15 +34,10 @@ TAO_Notify_Listener_Filter_Eval_Command::execute (TAO_Notify_Worker_Task* parent if (result == 1) { - TAO_Notify_Event_Dispatch_Command* dispatch = - new TAO_Notify_Event_Dispatch_Command (this->event_, this->event_listener_); + this->event_processor_->dispatch_event (this->event_, this->event_listener_, ACE_TRY_ENV); + ACE_CHECK_RETURN (-1); - ACE_ASSERT (parent_task->next () != 0); - - TAO_Notify_Worker_Task* next_task = - ACE_static_cast (TAO_Notify_Worker_Task*, parent_task->next()); - - return next_task->process_event (dispatch, ACE_TRY_ENV); + return 0; } return -1; |