TAO_EC_Basic_Factory Class Reference

The factory for a simple event channel. More...

#include <EC_Basic_Factory.h>

Inheritance diagram for TAO_EC_Basic_Factory:

Inheritance graph
[legend]
Collaboration diagram for TAO_EC_Basic_Factory:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_EC_Basic_Factory (void)
 Constructor.

virtual ~TAO_EC_Basic_Factory (void)
 destructor...

virtual TAO_EC_Dispatchingcreate_dispatching (TAO_EC_Event_Channel_Base *)
 Create and destroy the dispatching module.

virtual void destroy_dispatching (TAO_EC_Dispatching *)
virtual TAO_EC_Filter_Buildercreate_filter_builder (TAO_EC_Event_Channel_Base *)
 Create and destroy the filter builder.

virtual void destroy_filter_builder (TAO_EC_Filter_Builder *)
virtual TAO_EC_Supplier_Filter_Buildercreate_supplier_filter_builder (TAO_EC_Event_Channel_Base *)
 Create and destroy the filter builder.

virtual void destroy_supplier_filter_builder (TAO_EC_Supplier_Filter_Builder *)
virtual TAO_EC_ConsumerAdmincreate_consumer_admin (TAO_EC_Event_Channel_Base *)
 Create and destroy the consumer admin implementation.

virtual void destroy_consumer_admin (TAO_EC_ConsumerAdmin *)
virtual TAO_EC_SupplierAdmincreate_supplier_admin (TAO_EC_Event_Channel_Base *)
 Create and destroy the supplier admin implementation.

virtual void destroy_supplier_admin (TAO_EC_SupplierAdmin *)
virtual TAO_EC_ProxyPushSuppliercreate_proxy_push_supplier (TAO_EC_Event_Channel_Base *)
 Create and destroy a ProxyPushSupplier.

virtual void destroy_proxy_push_supplier (TAO_EC_ProxyPushSupplier *)
virtual TAO_EC_ProxyPushConsumercreate_proxy_push_consumer (TAO_EC_Event_Channel_Base *)
 Create and destroy a ProxyPushConsumer.

virtual void destroy_proxy_push_consumer (TAO_EC_ProxyPushConsumer *)
virtual TAO_EC_Timeout_Generatorcreate_timeout_generator (TAO_EC_Event_Channel_Base *)
 Create and destroy the timer module.

virtual void destroy_timeout_generator (TAO_EC_Timeout_Generator *)
virtual TAO_EC_ObserverStrategycreate_observer_strategy (TAO_EC_Event_Channel_Base *)
 Create and destroy the observer strategy.

virtual void destroy_observer_strategy (TAO_EC_ObserverStrategy *)
virtual TAO_EC_Scheduling_Strategycreate_scheduling_strategy (TAO_EC_Event_Channel_Base *)
 Create and destroy the observer strategy.

virtual void destroy_scheduling_strategy (TAO_EC_Scheduling_Strategy *)
virtual TAO_EC_ProxyPushConsumer_Collectioncreate_proxy_push_consumer_collection (TAO_EC_Event_Channel_Base *)
 Create and destroy a collection of TAO_EC_ProxyPushConsumers.

virtual void destroy_proxy_push_consumer_collection (TAO_EC_ProxyPushConsumer_Collection *)
virtual TAO_EC_ProxyPushSupplier_Collectioncreate_proxy_push_supplier_collection (TAO_EC_Event_Channel_Base *)
 Create and destroy a collection of TAO_EC_ProxyPushSuppliers.

virtual void destroy_proxy_push_supplier_collection (TAO_EC_ProxyPushSupplier_Collection *)
virtual ACE_Lockcreate_consumer_lock (void)
virtual void destroy_consumer_lock (ACE_Lock *)
virtual ACE_Lockcreate_supplier_lock (void)
virtual void destroy_supplier_lock (ACE_Lock *)
virtual TAO_EC_ConsumerControlcreate_consumer_control (TAO_EC_Event_Channel_Base *)
virtual void destroy_consumer_control (TAO_EC_ConsumerControl *)
virtual TAO_EC_SupplierControlcreate_supplier_control (TAO_EC_Event_Channel_Base *)
virtual void destroy_supplier_control (TAO_EC_SupplierControl *)

Detailed Description

The factory for a simple event channel.

An slightly more advanced configuration than the EC_Null_Factory, this class configure an event channel that can support filtering and correlation. Still dispatching is not prioritized and all the filtering is done at the consumer level. A fixed POA is used for servant activation. This object creates a single instance of the Supplier

Definition at line 42 of file EC_Basic_Factory.h.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_EC_Basic_Factory::TAO_EC_Basic_Factory void   ) 
 

Constructor.

Definition at line 29 of file EC_Basic_Factory.cpp.

00030 {
00031 }

TAO_EC_Basic_Factory::~TAO_EC_Basic_Factory void   )  [virtual]
 

destructor...

Definition at line 33 of file EC_Basic_Factory.cpp.

00034 {
00035 }


Member Function Documentation

TAO_EC_ConsumerAdmin * TAO_EC_Basic_Factory::create_consumer_admin TAO_EC_Event_Channel_Base  )  [virtual]
 

Create and destroy the consumer admin implementation.

Implements TAO_EC_Factory.

Definition at line 74 of file EC_Basic_Factory.cpp.

00075 {
00076   return new TAO_EC_ConsumerAdmin (ec);
00077 }

TAO_EC_ConsumerControl * TAO_EC_Basic_Factory::create_consumer_control TAO_EC_Event_Channel_Base  )  [virtual]
 

The ConsumerControl and SupplierControl strategies are used to discard non-existent consumers and suppliers

Implements TAO_EC_Factory.

Definition at line 223 of file EC_Basic_Factory.cpp.

References CORBA::ORB_init(), and TAO_EC_DEFAULT_CONSUMER_CONTROL_TIMEOUT.

00224 {
00225   int argc = 0;
00226   char **argv = 0;
00227   CORBA::ORB_var orb =
00228     CORBA::ORB_init (argc, argv, "");
00229   // Hard-coded rate to 10 times a second
00230   ACE_Time_Value rate (0, 100000);
00231   // Hard-coded polling-timeout to 10 msec
00232   ACE_Time_Value timeout (0, TAO_EC_DEFAULT_CONSUMER_CONTROL_TIMEOUT);
00233   return new TAO_EC_Reactive_ConsumerControl (rate, timeout, ec, orb.in ());
00234 }

ACE_Lock * TAO_EC_Basic_Factory::create_consumer_lock void   )  [virtual]
 

Create and destroy the locking strategies for both ProxyPushConsumers and ProxyPushSuppliers

Implements TAO_EC_Factory.

Definition at line 199 of file EC_Basic_Factory.cpp.

00200 {
00201   return new ACE_Lock_Adapter<TAO_SYNCH_MUTEX> ();
00202 }

TAO_EC_Dispatching * TAO_EC_Basic_Factory::create_dispatching TAO_EC_Event_Channel_Base  )  [virtual]
 

Create and destroy the dispatching module.

Implements TAO_EC_Factory.

Definition at line 38 of file EC_Basic_Factory.cpp.

00039 {
00040   return new TAO_EC_Reactive_Dispatching ();
00041 }

TAO_EC_Filter_Builder * TAO_EC_Basic_Factory::create_filter_builder TAO_EC_Event_Channel_Base  )  [virtual]
 

Create and destroy the filter builder.

Implements TAO_EC_Factory.

Definition at line 50 of file EC_Basic_Factory.cpp.

00051 {
00052   return new TAO_EC_Basic_Filter_Builder (ec);
00053 }

TAO_EC_ObserverStrategy * TAO_EC_Basic_Factory::create_observer_strategy TAO_EC_Event_Channel_Base  )  [virtual]
 

Create and destroy the observer strategy.

Implements TAO_EC_Factory.

Definition at line 139 of file EC_Basic_Factory.cpp.

References ACE_NEW_RETURN.

00140 {
00141   ACE_Lock* lock;
00142   ACE_NEW_RETURN (lock, ACE_Lock_Adapter<TAO_SYNCH_MUTEX>, 0);
00143   return new TAO_EC_Basic_ObserverStrategy (ec, lock);
00144 }

TAO_EC_ProxyPushConsumer * TAO_EC_Basic_Factory::create_proxy_push_consumer TAO_EC_Event_Channel_Base  )  [virtual]
 

Create and destroy a ProxyPushConsumer.

Implements TAO_EC_Factory.

Definition at line 110 of file EC_Basic_Factory.cpp.

00111 {
00112   return new TAO_EC_Default_ProxyPushConsumer (ec);
00113 }

TAO_EC_ProxyPushConsumer_Collection * TAO_EC_Basic_Factory::create_proxy_push_consumer_collection TAO_EC_Event_Channel_Base  )  [virtual]
 

Create and destroy a collection of TAO_EC_ProxyPushConsumers.

Implements TAO_EC_Factory.

Definition at line 165 of file EC_Basic_Factory.cpp.

References ACE_SYNCH, and TAO_EC_Consumer_List_Iterator.

00166 {
00167   // This typedef is a workaround for a SunCC 4.2 bug
00168   typedef TAO_ESF_Proxy_List<TAO_EC_ProxyPushConsumer>::Iterator TAO_EC_Consumer_List_Iterator;
00169   return new TAO_ESF_Delayed_Changes<TAO_EC_ProxyPushConsumer,
00170       TAO_ESF_Proxy_List<TAO_EC_ProxyPushConsumer>,
00171       TAO_ESF_Proxy_List<TAO_EC_ProxyPushConsumer>::Iterator,
00172       ACE_SYNCH> ();
00173 }

TAO_EC_ProxyPushSupplier * TAO_EC_Basic_Factory::create_proxy_push_supplier TAO_EC_Event_Channel_Base  )  [virtual]
 

Create and destroy a ProxyPushSupplier.

Implements TAO_EC_Factory.

Definition at line 98 of file EC_Basic_Factory.cpp.

References TAO_EC_DEFAULT_CONSUMER_VALIDATE_CONNECTION.

00099 {
00100   return new TAO_EC_Default_ProxyPushSupplier (ec, TAO_EC_DEFAULT_CONSUMER_VALIDATE_CONNECTION);
00101 }

TAO_EC_ProxyPushSupplier_Collection * TAO_EC_Basic_Factory::create_proxy_push_supplier_collection TAO_EC_Event_Channel_Base  )  [virtual]
 

Create and destroy a collection of TAO_EC_ProxyPushSuppliers.

Implements TAO_EC_Factory.

Definition at line 182 of file EC_Basic_Factory.cpp.

References ACE_SYNCH, and TAO_EC_Supplier_List_Iterator.

00183 {
00184   // This typedef is a workaround for a SunCC 4.2 bug
00185   typedef TAO_ESF_Proxy_List<TAO_EC_ProxyPushSupplier>::Iterator TAO_EC_Supplier_List_Iterator;
00186   return new TAO_ESF_Delayed_Changes<TAO_EC_ProxyPushSupplier,
00187       TAO_ESF_Proxy_List<TAO_EC_ProxyPushSupplier>,
00188       TAO_ESF_Proxy_List<TAO_EC_ProxyPushSupplier>::Iterator,
00189       ACE_SYNCH> ();
00190 }

TAO_EC_Scheduling_Strategy * TAO_EC_Basic_Factory::create_scheduling_strategy TAO_EC_Event_Channel_Base  )  [virtual]
 

Create and destroy the observer strategy.

Implements TAO_EC_Factory.

Definition at line 153 of file EC_Basic_Factory.cpp.

00154 {
00155   return new TAO_EC_Null_Scheduling;
00156 }

TAO_EC_SupplierAdmin * TAO_EC_Basic_Factory::create_supplier_admin TAO_EC_Event_Channel_Base  )  [virtual]
 

Create and destroy the supplier admin implementation.

Implements TAO_EC_Factory.

Definition at line 86 of file EC_Basic_Factory.cpp.

00087 {
00088   return new TAO_EC_SupplierAdmin (ec);
00089 }

TAO_EC_SupplierControl * TAO_EC_Basic_Factory::create_supplier_control TAO_EC_Event_Channel_Base  )  [virtual]
 

Implements TAO_EC_Factory.

Definition at line 243 of file EC_Basic_Factory.cpp.

References CORBA::ORB_init(), and TAO_EC_DEFAULT_SUPPLIER_CONTROL_TIMEOUT.

00244 {
00245   int argc = 0;
00246   char **argv = 0;
00247   CORBA::ORB_var orb =
00248     CORBA::ORB_init (argc, argv, "");
00249   // Hard-coded rate to 10 times a second
00250   ACE_Time_Value rate (0, 100000);
00251   // Hard-coded polling-timeout to 10 msec
00252   ACE_Time_Value timeout (0, TAO_EC_DEFAULT_SUPPLIER_CONTROL_TIMEOUT);
00253   return new TAO_EC_Reactive_SupplierControl (rate, timeout, ec, orb.in ());
00254 }

TAO_EC_Supplier_Filter_Builder * TAO_EC_Basic_Factory::create_supplier_filter_builder TAO_EC_Event_Channel_Base  )  [virtual]
 

Create and destroy the filter builder.

Implements TAO_EC_Factory.

Definition at line 62 of file EC_Basic_Factory.cpp.

00063 {
00064   return new TAO_EC_Trivial_Supplier_Filter_Builder (ec);
00065 }

ACE_Lock * TAO_EC_Basic_Factory::create_supplier_lock void   )  [virtual]
 

Implements TAO_EC_Factory.

Definition at line 211 of file EC_Basic_Factory.cpp.

00212 {
00213   return new ACE_Lock_Adapter<TAO_SYNCH_RECURSIVE_MUTEX> ();
00214 }

TAO_EC_Timeout_Generator * TAO_EC_Basic_Factory::create_timeout_generator TAO_EC_Event_Channel_Base  )  [virtual]
 

Create and destroy the timer module.

Implements TAO_EC_Factory.

Definition at line 122 of file EC_Basic_Factory.cpp.

References CORBA::ORB_init().

00123 {
00124   int argc = 0;
00125   char **argv = 0;
00126   CORBA::ORB_var orb =
00127     CORBA::ORB_init (argc, argv, "");
00128   ACE_Reactor *reactor = orb->orb_core ()->reactor ();
00129   return new TAO_EC_Reactive_Timeout_Generator (reactor);
00130 }

void TAO_EC_Basic_Factory::destroy_consumer_admin TAO_EC_ConsumerAdmin  )  [virtual]
 

Implements TAO_EC_Factory.

Definition at line 80 of file EC_Basic_Factory.cpp.

00081 {
00082   delete x;
00083 }

void TAO_EC_Basic_Factory::destroy_consumer_control TAO_EC_ConsumerControl  )  [virtual]
 

Implements TAO_EC_Factory.

Definition at line 237 of file EC_Basic_Factory.cpp.

00238 {
00239   delete x;
00240 }

void TAO_EC_Basic_Factory::destroy_consumer_lock ACE_Lock  )  [virtual]
 

Implements TAO_EC_Factory.

Definition at line 205 of file EC_Basic_Factory.cpp.

00206 {
00207   delete x;
00208 }

void TAO_EC_Basic_Factory::destroy_dispatching TAO_EC_Dispatching  )  [virtual]
 

Implements TAO_EC_Factory.

Definition at line 44 of file EC_Basic_Factory.cpp.

00045 {
00046   delete x;
00047 }

void TAO_EC_Basic_Factory::destroy_filter_builder TAO_EC_Filter_Builder  )  [virtual]
 

Implements TAO_EC_Factory.

Definition at line 56 of file EC_Basic_Factory.cpp.

00057 {
00058   delete x;
00059 }

void TAO_EC_Basic_Factory::destroy_observer_strategy TAO_EC_ObserverStrategy  )  [virtual]
 

Implements TAO_EC_Factory.

Definition at line 147 of file EC_Basic_Factory.cpp.

00148 {
00149   delete x;
00150 }

void TAO_EC_Basic_Factory::destroy_proxy_push_consumer TAO_EC_ProxyPushConsumer  )  [virtual]
 

Implements TAO_EC_Factory.

Definition at line 116 of file EC_Basic_Factory.cpp.

00117 {
00118   delete x;
00119 }

void TAO_EC_Basic_Factory::destroy_proxy_push_consumer_collection TAO_EC_ProxyPushConsumer_Collection  )  [virtual]
 

Implements TAO_EC_Factory.

Definition at line 176 of file EC_Basic_Factory.cpp.

References TAO_EC_ProxyPushConsumer_Collection.

00177 {
00178   delete x;
00179 }

void TAO_EC_Basic_Factory::destroy_proxy_push_supplier TAO_EC_ProxyPushSupplier  )  [virtual]
 

Implements TAO_EC_Factory.

Definition at line 104 of file EC_Basic_Factory.cpp.

00105 {
00106   delete x;
00107 }

void TAO_EC_Basic_Factory::destroy_proxy_push_supplier_collection TAO_EC_ProxyPushSupplier_Collection  )  [virtual]
 

Implements TAO_EC_Factory.

Definition at line 193 of file EC_Basic_Factory.cpp.

References TAO_EC_ProxyPushSupplier_Collection.

00194 {
00195   delete x;
00196 }

void TAO_EC_Basic_Factory::destroy_scheduling_strategy TAO_EC_Scheduling_Strategy  )  [virtual]
 

Implements TAO_EC_Factory.

Definition at line 159 of file EC_Basic_Factory.cpp.

00160 {
00161   delete x;
00162 }

void TAO_EC_Basic_Factory::destroy_supplier_admin TAO_EC_SupplierAdmin  )  [virtual]
 

Implements TAO_EC_Factory.

Definition at line 92 of file EC_Basic_Factory.cpp.

00093 {
00094   delete x;
00095 }

void TAO_EC_Basic_Factory::destroy_supplier_control TAO_EC_SupplierControl  )  [virtual]
 

Implements TAO_EC_Factory.

Definition at line 257 of file EC_Basic_Factory.cpp.

00258 {
00259   delete x;
00260 }

void TAO_EC_Basic_Factory::destroy_supplier_filter_builder TAO_EC_Supplier_Filter_Builder  )  [virtual]
 

Implements TAO_EC_Factory.

Definition at line 68 of file EC_Basic_Factory.cpp.

00069 {
00070   delete x;
00071 }

void TAO_EC_Basic_Factory::destroy_supplier_lock ACE_Lock  )  [virtual]
 

Implements TAO_EC_Factory.

Definition at line 217 of file EC_Basic_Factory.cpp.

00218 {
00219   delete x;
00220 }

void TAO_EC_Basic_Factory::destroy_timeout_generator TAO_EC_Timeout_Generator  )  [virtual]
 

Implements TAO_EC_Factory.

Definition at line 133 of file EC_Basic_Factory.cpp.

00134 {
00135   delete x;
00136 }


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 13:14:21 2006 for TAO_RTEvent by doxygen 1.3.6