EC_Kokyu_Factory.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 /**
00003  *  @file   EC_Kokyu_Factory.h
00004  *
00005  *  EC_Kokyu_Factory.h,v 1.7 2006/03/14 06:14:25 jtc Exp
00006  *
00007  *  @author Bryan Thrall (thrall@cs.wustl.edu)
00008  *
00009  * Based on previous work by Carlos O'Ryan (coryan@cs.wustl.edu), Tim
00010  * Harrison (harrison@cs.wustl.edu), Chris Gill (cdgill@cs.wustl.edu)
00011  * and other members of the DOC group.  More details can be found in:
00012  *
00013  * http://doc.ece.uci.edu/~coryan/EC/index.html
00014  */
00015 
00016 #ifndef TAO_EC_KOKYU_FACTORY_H
00017 #define TAO_EC_KOKYU_FACTORY_H
00018 #include /**/ "ace/pre.h"
00019 
00020 #include "orbsvcs/Event/EC_Default_Factory.h"
00021 
00022 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00023 # pragma once
00024 #endif /* ACE_LACKS_PRAGMA_ONCE */
00025 
00026 #include "orbsvcs/Event/rtkokyu_event_export.h"
00027 
00028 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00029 
00030 /**
00031  * @class TAO_EC_Kokyu_Factory
00032  *
00033  * @brief Extend the default factory to support scheduling
00034  *
00035  */
00036 class TAO_RTKokyuEvent_Export TAO_EC_Kokyu_Factory : public TAO_EC_Default_Factory
00037 {
00038 public:
00039   /// Constructor
00040   TAO_EC_Kokyu_Factory (void);
00041 
00042   /// Helper function to register the Kokyu factory into the service
00043   /// configurator.
00044   static int init_svcs (void);
00045 
00046   /// destructor...
00047   virtual ~TAO_EC_Kokyu_Factory (void);
00048 
00049   // = The Service_Object entry points
00050   virtual int init (int argc, ACE_TCHAR* argv[]);
00051   virtual int fini (void);
00052 
00053   // = The EC_Factory methods
00054   virtual TAO_EC_Dispatching*
00055       create_dispatching (TAO_EC_Event_Channel_Base*);
00056   virtual TAO_EC_Filter_Builder*
00057       create_filter_builder (TAO_EC_Event_Channel_Base*);
00058   virtual TAO_EC_Timeout_Generator*
00059       create_timeout_generator (TAO_EC_Event_Channel_Base*);
00060   virtual TAO_EC_Scheduling_Strategy*
00061       create_scheduling_strategy (TAO_EC_Event_Channel_Base*);
00062 
00063 private:
00064   int disp_sched_policy_;
00065   int disp_sched_scope_;
00066 };
00067 
00068 TAO_END_VERSIONED_NAMESPACE_DECL
00069 
00070 #if defined (__ACE_INLINE__)
00071 #include "orbsvcs/Event/EC_Kokyu_Factory.i"
00072 #endif /* __ACE_INLINE__ */
00073 
00074 ACE_STATIC_SVC_DECLARE (TAO_EC_Kokyu_Factory)
00075 ACE_FACTORY_DECLARE (TAO_RTKokyuEvent, TAO_EC_Kokyu_Factory)
00076 
00077 #include /**/ "ace/post.h"
00078 #endif /* TAO_EC_KOKYU_FACTORY_H */

Generated on Thu Nov 9 13:11:07 2006 for TAO_RTEvent by doxygen 1.3.6