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 TAO_Pseudo_Var_T< T >::in(), 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.

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.

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.

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 TAO_Pseudo_Var_T< T >::in(), 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(), and ACE_Event_Handler::reactor().

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.

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.

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 Tue Feb 2 17:44:26 2010 for TAO_RTEvent by  doxygen 1.4.7