EC_Null_Factory.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 /**
00004  *  @file   EC_Null_Factory.h
00005  *
00006  *  EC_Null_Factory.h,v 1.23 2006/03/14 06:14:25 jtc Exp
00007  *
00008  *  @author Carlos O'Ryan (coryan@cs.wustl.edu)
00009  *
00010  * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and
00011  * 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_NULL_FACTORY_H
00017 #define TAO_EC_NULL_FACTORY_H
00018 #include /**/ "ace/pre.h"
00019 
00020 #include "orbsvcs/Event/EC_Factory.h"
00021 
00022 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00023 # pragma once
00024 #endif /* ACE_LACKS_PRAGMA_ONCE */
00025 
00026 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00027 
00028 /**
00029  * @class TAO_EC_Null_Factory
00030  *
00031  * @brief The factory for a simple event channel.
00032  *
00033  * The simplest configuration for an event channel does no
00034  * filtering and uses reactive dispatching. This class is used to
00035  * configure such an event channel.
00036  * A fixed POA is used for servant activation.
00037  * This object creates a single instance of the Supplier
00038  */
00039 class TAO_RTEvent_Serv_Export TAO_EC_Null_Factory : public TAO_EC_Factory
00040 {
00041 public:
00042   /// Constructor
00043   TAO_EC_Null_Factory (void);
00044 
00045   /// destructor...
00046   virtual ~TAO_EC_Null_Factory (void);
00047 
00048   // = The EC_Factory methods
00049   virtual TAO_EC_Dispatching*
00050       create_dispatching (TAO_EC_Event_Channel_Base*);
00051   virtual void
00052       destroy_dispatching (TAO_EC_Dispatching*);
00053   virtual TAO_EC_Filter_Builder*
00054       create_filter_builder (TAO_EC_Event_Channel_Base*);
00055   virtual void
00056       destroy_filter_builder (TAO_EC_Filter_Builder*);
00057   virtual TAO_EC_Supplier_Filter_Builder*
00058       create_supplier_filter_builder (TAO_EC_Event_Channel_Base*);
00059   virtual void
00060       destroy_supplier_filter_builder (TAO_EC_Supplier_Filter_Builder*);
00061   virtual TAO_EC_ConsumerAdmin*
00062       create_consumer_admin (TAO_EC_Event_Channel_Base*);
00063   virtual void
00064       destroy_consumer_admin (TAO_EC_ConsumerAdmin*);
00065   virtual TAO_EC_SupplierAdmin*
00066       create_supplier_admin (TAO_EC_Event_Channel_Base*);
00067   virtual void
00068       destroy_supplier_admin (TAO_EC_SupplierAdmin*);
00069   virtual TAO_EC_ProxyPushSupplier*
00070       create_proxy_push_supplier (TAO_EC_Event_Channel_Base*);
00071   virtual void
00072       destroy_proxy_push_supplier (TAO_EC_ProxyPushSupplier*);
00073   virtual TAO_EC_ProxyPushConsumer*
00074       create_proxy_push_consumer (TAO_EC_Event_Channel_Base*);
00075   virtual void
00076       destroy_proxy_push_consumer (TAO_EC_ProxyPushConsumer*);
00077   virtual TAO_EC_Timeout_Generator*
00078       create_timeout_generator (TAO_EC_Event_Channel_Base*);
00079   virtual void
00080       destroy_timeout_generator (TAO_EC_Timeout_Generator*);
00081   virtual TAO_EC_ObserverStrategy*
00082       create_observer_strategy (TAO_EC_Event_Channel_Base*);
00083   virtual void
00084       destroy_observer_strategy (TAO_EC_ObserverStrategy*);
00085   virtual TAO_EC_Scheduling_Strategy*
00086       create_scheduling_strategy (TAO_EC_Event_Channel_Base*);
00087   virtual void
00088       destroy_scheduling_strategy (TAO_EC_Scheduling_Strategy*);
00089   virtual TAO_EC_ProxyPushConsumer_Collection*
00090       create_proxy_push_consumer_collection (TAO_EC_Event_Channel_Base*);
00091   virtual void
00092       destroy_proxy_push_consumer_collection (TAO_EC_ProxyPushConsumer_Collection*);
00093   virtual TAO_EC_ProxyPushSupplier_Collection*
00094     create_proxy_push_supplier_collection (TAO_EC_Event_Channel_Base*);
00095   virtual void
00096       destroy_proxy_push_supplier_collection (TAO_EC_ProxyPushSupplier_Collection*);
00097 
00098   virtual ACE_Lock* create_consumer_lock (void);
00099   virtual void destroy_consumer_lock (ACE_Lock*);
00100   virtual ACE_Lock* create_supplier_lock (void);
00101   virtual void destroy_supplier_lock (ACE_Lock*);
00102 
00103   virtual TAO_EC_ConsumerControl*
00104       create_consumer_control (TAO_EC_Event_Channel_Base*);
00105   virtual void
00106       destroy_consumer_control (TAO_EC_ConsumerControl*);
00107   virtual TAO_EC_SupplierControl*
00108       create_supplier_control (TAO_EC_Event_Channel_Base*);
00109   virtual void
00110       destroy_supplier_control (TAO_EC_SupplierControl*);
00111 };
00112 
00113 TAO_END_VERSIONED_NAMESPACE_DECL
00114 
00115 #include /**/ "ace/post.h"
00116 #endif /* TAO_EC_NULL_FACTORY_H */

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