summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Notify/Notify_Listener_Filter_Eval_Command.cpp
diff options
context:
space:
mode:
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.cpp19
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;