TAO_EC_RTCORBA_Factory Class Reference

Decorate an EC_Factory to use the EC_RTCORBA_Dispatching module. More...

#include <EC_RTCORBA_Factory.h>

Inheritance diagram for TAO_EC_RTCORBA_Factory:

Inheritance graph
[legend]
Collaboration diagram for TAO_EC_RTCORBA_Factory:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_EC_RTCORBA_Factory (TAO_EC_Factory *body, const RTCORBA::ThreadpoolLanes &lanes)
 Constructor.
virtual ~TAO_EC_RTCORBA_Factory (void)
 destructor...
virtual int init (int argc, char *argv[])
virtual int fini (void)
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 *)

Protected Attributes

TAO_EC_Factorybody_
 The decorated factory.
RTCORBA::ThreadpoolLanes lanes_
 Configure the thread pool lanes.

Detailed Description

Decorate an EC_Factory to use the EC_RTCORBA_Dispatching module.

Definition at line 35 of file EC_RTCORBA_Factory.h.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_EC_RTCORBA_Factory::TAO_EC_RTCORBA_Factory ( TAO_EC_Factory body,
const RTCORBA::ThreadpoolLanes &  lanes 
)

Constructor.

Parameters:
body The decorated factory.

Definition at line 13 of file EC_RTCORBA_Factory.cpp.

00015   : body_ (body)
00016   , lanes_ (lanes)
00017 {
00018 }

TAO_EC_RTCORBA_Factory::~TAO_EC_RTCORBA_Factory ( void   )  [virtual]

destructor...

Definition at line 20 of file EC_RTCORBA_Factory.cpp.

00021 {
00022 }


Member Function Documentation

TAO_EC_ConsumerAdmin * TAO_EC_RTCORBA_Factory::create_consumer_admin ( TAO_EC_Event_Channel_Base  )  [virtual]

Create and destroy the consumer admin implementation.

Implements TAO_EC_Factory.

Definition at line 109 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::create_consumer_admin().

00110 {
00111   return this->body_->create_consumer_admin (ec);
00112 }

TAO_EC_ConsumerControl * TAO_EC_RTCORBA_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 241 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::create_consumer_control().

00242 {
00243   return this->body_->create_consumer_control (ec);
00244 }

ACE_Lock * TAO_EC_RTCORBA_Factory::create_consumer_lock ( void   )  [virtual]

Create and destroy the locking strategies for both ProxyPushConsumers and ProxyPushSuppliers

Implements TAO_EC_Factory.

Definition at line 217 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::create_consumer_lock().

00218 {
00219   return this->body_->create_consumer_lock ();
00220 }

TAO_EC_Dispatching * TAO_EC_RTCORBA_Factory::create_dispatching ( TAO_EC_Event_Channel_Base  )  [virtual]

Create and destroy the dispatching module.

Implements TAO_EC_Factory.

Definition at line 40 of file EC_RTCORBA_Factory.cpp.

References ACE_NEW_RETURN, TAO_Pseudo_Var_T< T >::in(), and CORBA::ORB_init().

00041 {
00042   TAO_EC_Dispatching *dispatching = 0;
00043   try
00044     {
00045       // @@ The ORBId could be important!!!
00046       int argc = 0;
00047       CORBA::ORB_var orb =
00048         CORBA::ORB_init (argc, 0, "");
00049 
00050       CORBA::Object_var obj =
00051         orb->resolve_initial_references ("PriorityMappingManager");
00052 
00053       RTCORBA::PriorityMappingManager_var priority_mapping_manager =
00054         RTCORBA::PriorityMappingManager::_narrow (obj.in ());
00055 
00056       RTCORBA::PriorityMapping *priority_mapping =
00057         priority_mapping_manager->mapping ();
00058 
00059       obj =
00060         orb->resolve_initial_references ("RTCurrent");
00061 
00062       RTCORBA::Current_var current =
00063         RTCORBA::Current::_narrow (obj.in ());
00064 
00065       ACE_NEW_RETURN (dispatching,
00066                       TAO_EC_RTCORBA_Dispatching (this->lanes_,
00067                                                   priority_mapping,
00068                                                   current.in ()),
00069                       0);
00070     }
00071   catch (const CORBA::Exception&)
00072     {
00073     }
00074 
00075   return dispatching;
00076 }

TAO_EC_Filter_Builder * TAO_EC_RTCORBA_Factory::create_filter_builder ( TAO_EC_Event_Channel_Base  )  [virtual]

Create and destroy the filter builder.

Implements TAO_EC_Factory.

Definition at line 85 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::create_filter_builder().

00086 {
00087   return this->body_->create_filter_builder (ec);
00088 }

TAO_EC_ObserverStrategy * TAO_EC_RTCORBA_Factory::create_observer_strategy ( TAO_EC_Event_Channel_Base  )  [virtual]

Create and destroy the observer strategy.

Implements TAO_EC_Factory.

Definition at line 169 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::create_observer_strategy().

00170 {
00171   return this->body_->create_observer_strategy (ec);
00172 }

TAO_EC_ProxyPushConsumer * TAO_EC_RTCORBA_Factory::create_proxy_push_consumer ( TAO_EC_Event_Channel_Base  )  [virtual]

Create and destroy a ProxyPushConsumer.

Implements TAO_EC_Factory.

Definition at line 145 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::create_proxy_push_consumer().

00146 {
00147   return this->body_->create_proxy_push_consumer (ec);
00148 }

TAO_EC_ProxyPushConsumer_Collection * TAO_EC_RTCORBA_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 193 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::create_proxy_push_consumer_collection().

00194 {
00195   return this->body_->create_proxy_push_consumer_collection (ec);
00196 }

TAO_EC_ProxyPushSupplier * TAO_EC_RTCORBA_Factory::create_proxy_push_supplier ( TAO_EC_Event_Channel_Base  )  [virtual]

Create and destroy a ProxyPushSupplier.

Implements TAO_EC_Factory.

Definition at line 133 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::create_proxy_push_supplier().

00134 {
00135   return this->body_->create_proxy_push_supplier (ec);
00136 }

TAO_EC_ProxyPushSupplier_Collection * TAO_EC_RTCORBA_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 205 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::create_proxy_push_supplier_collection().

00206 {
00207   return this->body_->create_proxy_push_supplier_collection (ec);
00208 }

TAO_EC_Scheduling_Strategy * TAO_EC_RTCORBA_Factory::create_scheduling_strategy ( TAO_EC_Event_Channel_Base  )  [virtual]

Create and destroy the observer strategy.

Implements TAO_EC_Factory.

Definition at line 181 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::create_scheduling_strategy().

00182 {
00183   return this->body_->create_scheduling_strategy (ec);
00184 }

TAO_EC_SupplierAdmin * TAO_EC_RTCORBA_Factory::create_supplier_admin ( TAO_EC_Event_Channel_Base  )  [virtual]

Create and destroy the supplier admin implementation.

Implements TAO_EC_Factory.

Definition at line 121 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::create_supplier_admin().

00122 {
00123   return this->body_->create_supplier_admin (ec);
00124 }

TAO_EC_SupplierControl * TAO_EC_RTCORBA_Factory::create_supplier_control ( TAO_EC_Event_Channel_Base  )  [virtual]

Implements TAO_EC_Factory.

Definition at line 253 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::create_supplier_control().

00254 {
00255   return this->body_->create_supplier_control (ec);
00256 }

TAO_EC_Supplier_Filter_Builder * TAO_EC_RTCORBA_Factory::create_supplier_filter_builder ( TAO_EC_Event_Channel_Base  )  [virtual]

Create and destroy the filter builder.

Implements TAO_EC_Factory.

Definition at line 97 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::create_supplier_filter_builder().

00098 {
00099   return this->body_->create_supplier_filter_builder (ec);
00100 }

ACE_Lock * TAO_EC_RTCORBA_Factory::create_supplier_lock ( void   )  [virtual]

Implements TAO_EC_Factory.

Definition at line 229 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::create_supplier_lock().

00230 {
00231   return this->body_->create_supplier_lock ();
00232 }

TAO_EC_Timeout_Generator * TAO_EC_RTCORBA_Factory::create_timeout_generator ( TAO_EC_Event_Channel_Base  )  [virtual]

Create and destroy the timer module.

Implements TAO_EC_Factory.

Definition at line 157 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::create_timeout_generator().

00158 {
00159   return this->body_->create_timeout_generator (ec);
00160 }

void TAO_EC_RTCORBA_Factory::destroy_consumer_admin ( TAO_EC_ConsumerAdmin  )  [virtual]

Implements TAO_EC_Factory.

Definition at line 115 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::destroy_consumer_admin().

00116 {
00117   this->body_->destroy_consumer_admin (x);
00118 }

void TAO_EC_RTCORBA_Factory::destroy_consumer_control ( TAO_EC_ConsumerControl  )  [virtual]

Implements TAO_EC_Factory.

Definition at line 247 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::destroy_consumer_control().

00248 {
00249   this->body_->destroy_consumer_control (x);
00250 }

void TAO_EC_RTCORBA_Factory::destroy_consumer_lock ( ACE_Lock  )  [virtual]

Implements TAO_EC_Factory.

Definition at line 223 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::destroy_consumer_lock().

00224 {
00225   this->body_->destroy_consumer_lock (x);
00226 }

void TAO_EC_RTCORBA_Factory::destroy_dispatching ( TAO_EC_Dispatching  )  [virtual]

Implements TAO_EC_Factory.

Definition at line 79 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::destroy_dispatching().

00080 {
00081   this->body_->destroy_dispatching (x);
00082 }

void TAO_EC_RTCORBA_Factory::destroy_filter_builder ( TAO_EC_Filter_Builder  )  [virtual]

Implements TAO_EC_Factory.

Definition at line 91 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::destroy_filter_builder().

00092 {
00093   this->body_->destroy_filter_builder (x);
00094 }

void TAO_EC_RTCORBA_Factory::destroy_observer_strategy ( TAO_EC_ObserverStrategy  )  [virtual]

Implements TAO_EC_Factory.

Definition at line 175 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::destroy_observer_strategy().

00176 {
00177   this->body_->destroy_observer_strategy (x);
00178 }

void TAO_EC_RTCORBA_Factory::destroy_proxy_push_consumer ( TAO_EC_ProxyPushConsumer  )  [virtual]

Implements TAO_EC_Factory.

Definition at line 151 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::destroy_proxy_push_consumer().

00152 {
00153   this->body_->destroy_proxy_push_consumer (x);
00154 }

void TAO_EC_RTCORBA_Factory::destroy_proxy_push_consumer_collection ( TAO_EC_ProxyPushConsumer_Collection  )  [virtual]

Implements TAO_EC_Factory.

Definition at line 199 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::destroy_proxy_push_consumer_collection().

00200 {
00201   this->body_->destroy_proxy_push_consumer_collection (x);
00202 }

void TAO_EC_RTCORBA_Factory::destroy_proxy_push_supplier ( TAO_EC_ProxyPushSupplier  )  [virtual]

Implements TAO_EC_Factory.

Definition at line 139 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::destroy_proxy_push_supplier().

00140 {
00141   this->body_->destroy_proxy_push_supplier (x);
00142 }

void TAO_EC_RTCORBA_Factory::destroy_proxy_push_supplier_collection ( TAO_EC_ProxyPushSupplier_Collection  )  [virtual]

Implements TAO_EC_Factory.

Definition at line 211 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::destroy_proxy_push_supplier_collection().

00212 {
00213   this->body_->destroy_proxy_push_supplier_collection (x);
00214 }

void TAO_EC_RTCORBA_Factory::destroy_scheduling_strategy ( TAO_EC_Scheduling_Strategy  )  [virtual]

Implements TAO_EC_Factory.

Definition at line 187 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::destroy_scheduling_strategy().

00188 {
00189   this->body_->destroy_scheduling_strategy (x);
00190 }

void TAO_EC_RTCORBA_Factory::destroy_supplier_admin ( TAO_EC_SupplierAdmin  )  [virtual]

Implements TAO_EC_Factory.

Definition at line 127 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::destroy_supplier_admin().

00128 {
00129   this->body_->destroy_supplier_admin (x);
00130 }

void TAO_EC_RTCORBA_Factory::destroy_supplier_control ( TAO_EC_SupplierControl  )  [virtual]

Implements TAO_EC_Factory.

Definition at line 259 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::destroy_supplier_control().

00260 {
00261   this->body_->destroy_supplier_control (x);
00262 }

void TAO_EC_RTCORBA_Factory::destroy_supplier_filter_builder ( TAO_EC_Supplier_Filter_Builder  )  [virtual]

Implements TAO_EC_Factory.

Definition at line 103 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::destroy_supplier_filter_builder().

00104 {
00105   this->body_->destroy_supplier_filter_builder (x);
00106 }

void TAO_EC_RTCORBA_Factory::destroy_supplier_lock ( ACE_Lock  )  [virtual]

Implements TAO_EC_Factory.

Definition at line 235 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::destroy_supplier_lock().

00236 {
00237   this->body_->destroy_supplier_lock (x);
00238 }

void TAO_EC_RTCORBA_Factory::destroy_timeout_generator ( TAO_EC_Timeout_Generator  )  [virtual]

Implements TAO_EC_Factory.

Definition at line 163 of file EC_RTCORBA_Factory.cpp.

References body_, and TAO_EC_Factory::destroy_timeout_generator().

00164 {
00165   this->body_->destroy_timeout_generator (x);
00166 }

int TAO_EC_RTCORBA_Factory::fini ( void   )  [virtual]

Reimplemented from ACE_Shared_Object.

Definition at line 32 of file EC_RTCORBA_Factory.cpp.

References body_, and ACE_Shared_Object::fini().

00033 {
00034   return this->body_->fini ();
00035 }

int TAO_EC_RTCORBA_Factory::init ( int  argc,
char *  argv[] 
) [virtual]

Reimplemented from ACE_Shared_Object.

Definition at line 26 of file EC_RTCORBA_Factory.cpp.

References body_, and ACE_Shared_Object::init().

00027 {
00028   return this->body_->init (argc, argv);
00029 }


Member Data Documentation

TAO_EC_Factory* TAO_EC_RTCORBA_Factory::body_ [protected]

The decorated factory.

Definition at line 114 of file EC_RTCORBA_Factory.h.

Referenced by create_consumer_admin(), create_consumer_control(), create_consumer_lock(), create_filter_builder(), create_observer_strategy(), create_proxy_push_consumer(), create_proxy_push_consumer_collection(), create_proxy_push_supplier(), create_proxy_push_supplier_collection(), create_scheduling_strategy(), create_supplier_admin(), create_supplier_control(), create_supplier_filter_builder(), create_supplier_lock(), create_timeout_generator(), destroy_consumer_admin(), destroy_consumer_control(), destroy_consumer_lock(), destroy_dispatching(), destroy_filter_builder(), destroy_observer_strategy(), destroy_proxy_push_consumer(), destroy_proxy_push_consumer_collection(), destroy_proxy_push_supplier(), destroy_proxy_push_supplier_collection(), destroy_scheduling_strategy(), destroy_supplier_admin(), destroy_supplier_control(), destroy_supplier_filter_builder(), destroy_supplier_lock(), destroy_timeout_generator(), fini(), and init().

RTCORBA::ThreadpoolLanes TAO_EC_RTCORBA_Factory::lanes_ [protected]

Configure the thread pool lanes.

Definition at line 117 of file EC_RTCORBA_Factory.h.


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:44:34 2010 for TAO_RTEvent by  doxygen 1.4.7