00001 // $Id: Reactive_Task.cpp 76589 2007-01-25 18:04:11Z elliott_c $ 00002 00003 #include "orbsvcs/Notify/Reactive_Task.h" 00004 00005 #if ! defined (__ACE_INLINE__) 00006 #include "orbsvcs/Notify/Reactive_Task.inl" 00007 #endif /* __ACE_INLINE__ */ 00008 00009 ACE_RCSID(Notify, TAO_Notify_Reactive_Task, "$Id: Reactive_Task.cpp 76589 2007-01-25 18:04:11Z elliott_c $") 00010 00011 #include "orbsvcs/Notify/Timer_Reactor.h" 00012 00013 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00014 00015 TAO_Notify_Reactive_Task::TAO_Notify_Reactive_Task (void) 00016 :timer_ (0) 00017 { 00018 } 00019 00020 TAO_Notify_Reactive_Task::~TAO_Notify_Reactive_Task () 00021 { 00022 } 00023 00024 void 00025 TAO_Notify_Reactive_Task::init (void) 00026 { 00027 ACE_ASSERT (this->timer_.get() == 0); 00028 00029 TAO_Notify_Timer_Reactor* timer = 0; 00030 ACE_NEW_THROW_EX (timer, 00031 TAO_Notify_Timer_Reactor (), 00032 CORBA::NO_MEMORY ()); 00033 this->timer_.reset (timer); 00034 } 00035 00036 void 00037 TAO_Notify_Reactive_Task::release (void) 00038 { 00039 delete this; //TODO: Release via factory. 00040 } 00041 00042 void 00043 TAO_Notify_Reactive_Task::shutdown (void) 00044 { 00045 } 00046 00047 void 00048 TAO_Notify_Reactive_Task::execute (TAO_Notify_Method_Request& method_request) 00049 { 00050 method_request.execute (); 00051 } 00052 00053 TAO_Notify_Timer* 00054 TAO_Notify_Reactive_Task::timer (void) 00055 { 00056 return this->timer_.get(); 00057 } 00058 00059 TAO_END_VERSIONED_NAMESPACE_DECL