Worker_Task.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 /**
00004  *  @file Worker_Task.h
00005  *
00006  *  Worker_Task.h,v 1.16 2006/03/14 06:14:34 jtc Exp
00007  *
00008  *  @author Pradeep Gore <pradeep@oomworks.com>
00009  */
00010 
00011 #ifndef TAO_Notify_WORKER_TASK_H
00012 #define TAO_Notify_WORKER_TASK_H
00013 
00014 #include /**/ "ace/pre.h"
00015 
00016 #include "orbsvcs/Notify/notify_serv_export.h"
00017 
00018 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00019 # pragma once
00020 #endif /* ACE_LACKS_PRAGMA_ONCE */
00021 
00022 #include "orbsvcs/Notify/Method_Request.h"
00023 #include "orbsvcs/Notify/Refcountable.h"
00024 
00025 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00026 
00027 class TAO_Notify_AdminProperties;
00028 class TAO_Notify_QoSProperties;
00029 class TAO_Notify_Timer;
00030 class TAO_Notify_Buffering_Strategy;
00031 
00032 /**
00033  * @class TAO_Notify_Worker_Task
00034  *
00035  * @brief Base Worker Task.
00036  *
00037  * Memory Management : The Worker Task should be allocated on the heap and
00038  * the <shutdown> method should be called to release memory.
00039  *
00040  */
00041 class TAO_Notify_Serv_Export TAO_Notify_Worker_Task : public TAO_Notify_Refcountable
00042 {
00043 public:
00044   typedef TAO_Notify_Refcountable_Guard_T< TAO_Notify_Worker_Task > Ptr;
00045 
00046   /// Constuctor
00047   TAO_Notify_Worker_Task (void);
00048 
00049   /// Update QoS Properties.
00050   virtual void update_qos_properties (const TAO_Notify_QoSProperties& qos_properties);
00051 
00052   ///= Public method to be implemented by subclasses.
00053   /// Exec the request.
00054   virtual void execute (TAO_Notify_Method_Request& method_request ACE_ENV_ARG_DECL) = 0;
00055 
00056   /// Shutdown task
00057   virtual void shutdown (void) = 0;
00058 
00059   /// The object used by clients to register timers.
00060   virtual TAO_Notify_Timer* timer (void) = 0;
00061 
00062 
00063 protected:
00064   /// Destructor
00065   virtual ~TAO_Notify_Worker_Task ();
00066 };
00067 
00068 TAO_END_VERSIONED_NAMESPACE_DECL
00069 
00070 #include /**/ "ace/post.h"
00071 #endif /* TAO_Notify_WORKER_TASK_H */

Generated on Thu Nov 9 13:24:17 2006 for TAO_CosNotification by doxygen 1.3.6