00001 /* -*- C++ -*- */ 00002 /** 00003 * @file EC_Null_Scheduling.h 00004 * 00005 * $Id: EC_Null_Scheduling.h 76589 2007-01-25 18:04:11Z elliott_c $ 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 virtual void schedule_event (const RtecEventComm::EventSet &event, 00044 TAO_EC_ProxyPushConsumer *consumer, 00045 TAO_EC_Supplier_Filter *filter); 00046 00047 private: 00048 TAO_EC_Null_Scheduling (const TAO_EC_Null_Scheduling&); 00049 TAO_EC_Null_Scheduling& operator= (const TAO_EC_Null_Scheduling&); 00050 }; 00051 00052 #if defined (__ACE_INLINE__) 00053 #include "orbsvcs/Event/EC_Null_Scheduling.inl" 00054 #endif /* __ACE_INLINE__ */ 00055 00056 #include /**/ "ace/post.h" 00057 00058 #endif /* TAO_EC_NULL_SCHEDULING_H */