00001 /* -*- C++ -*- */ 00002 /** 00003 * @file EC_Null_Scheduling.h 00004 * 00005 * EC_Null_Scheduling.h,v 1.13 2006/03/14 06:14:25 jtc Exp 00006 * 00007 * @author Carlos O'Ryan (coryan@cs.wustl.edu) 00008 * 00009 * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and 00010 * other members of the DOC group. More details can be found in: 00011 * 00012 * http://doc.ece.uci.edu/~coryan/EC/index.html 00013 */ 00014 00015 #ifndef TAO_EC_NULL_SCHEDULING_H 00016 #define TAO_EC_NULL_SCHEDULING_H 00017 00018 #include /**/ "ace/pre.h" 00019 00020 #include "orbsvcs/Event/EC_Scheduling_Strategy.h" 00021 00022 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00023 # pragma once 00024 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00025 00026 /** 00027 * @class TAO_EC_Null_Scheduling 00028 * 00029 * @brief A scheduling strategy that separates event groups and 00030 * delivers one event at a time. 00031 */ 00032 class TAO_RTEvent_Serv_Export TAO_EC_Null_Scheduling 00033 : public TAO_EC_Scheduling_Strategy 00034 { 00035 public: 00036 /// Constructor. 00037 TAO_EC_Null_Scheduling (void); 00038 00039 // Read EC_Scheduling_Strategy.h for more details 00040 virtual void add_proxy_supplier_dependencies ( 00041 TAO_EC_ProxyPushSupplier *supplier, 00042 TAO_EC_ProxyPushConsumer *consumer 00043 ACE_ENV_ARG_DECL); 00044 virtual void schedule_event (const RtecEventComm::EventSet &event, 00045 TAO_EC_ProxyPushConsumer *consumer, 00046 TAO_EC_Supplier_Filter *filter 00047 ACE_ENV_ARG_DECL); 00048 00049 private: 00050 TAO_EC_Null_Scheduling (const TAO_EC_Null_Scheduling&); 00051 TAO_EC_Null_Scheduling& operator= (const TAO_EC_Null_Scheduling&); 00052 }; 00053 00054 #if defined (__ACE_INLINE__) 00055 #include "orbsvcs/Event/EC_Null_Scheduling.i" 00056 #endif /* __ACE_INLINE__ */ 00057 00058 #include /**/ "ace/post.h" 00059 00060 #endif /* TAO_EC_NULL_SCHEDULING_H */