Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Compound Members File Members

# TAO_CEC_EventChannel Class Reference

The CosEventChannelAdmin::EventChannel implementation. More...

`#include <CEC_EventChannel.h>`

Collaboration diagram for TAO_CEC_EventChannel:

[legend]
List of all members.

## Public Methods
| TAO_CEC_EventChannel (const TAO_CEC_EventChannel_Attributes &attributes, TAO_CEC_Factory *factory=0, int own_factory=0)
virtual | ~TAO_CEC_EventChannel (void)
| destructor
virtual void | activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
virtual void | shutdown (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
TAO_CEC_Dispatching * | dispatching (void) const
| Access the dispatching module....
TAO_CEC_ConsumerAdmin * | consumer_admin (void) const
| Access the consumer admin implementation.
TAO_CEC_SupplierAdmin * | supplier_admin (void) const
| Access the supplier admin implementation.
TAO_CEC_ConsumerControl * | consumer_control (void) const
| Access the consumer control strategy.
TAO_CEC_SupplierControl * | supplier_control (void) const
| Access the supplier control strategy.
void | create_proxy (TAO_CEC_ProxyPushSupplier *&)
| Create and destroy a ProxyPushSupplier.
void | destroy_proxy (TAO_CEC_ProxyPushSupplier *)
void | create_proxy (TAO_CEC_ProxyPullSupplier *&)
| Create and destroy a ProxyPullSupplier.
void | destroy_proxy (TAO_CEC_ProxyPullSupplier *)
void | create_proxy (TAO_CEC_ProxyPushConsumer *&)
| Create and destroy a ProxyPushConsumer.
void | destroy_proxy (TAO_CEC_ProxyPushConsumer *)
void | create_proxy (TAO_CEC_ProxyPullConsumer *&)
| Create and destroy a ProxyPushConsumer.
void | destroy_proxy (TAO_CEC_ProxyPullConsumer *)
void | create_proxy_collection (TAO_CEC_ProxyPushSupplier_Collection *&)
void | destroy_proxy_collection (TAO_CEC_ProxyPushSupplier_Collection *)
void | create_proxy_collection (TAO_CEC_ProxyPullSupplier_Collection *&)
void | destroy_proxy_collection (TAO_CEC_ProxyPullSupplier_Collection *)
void | create_proxy_collection (TAO_CEC_ProxyPushConsumer_Collection *&)
void | destroy_proxy_collection (TAO_CEC_ProxyPushConsumer_Collection *)
void | create_proxy_collection (TAO_CEC_ProxyPullConsumer_Collection *&)
void | destroy_proxy_collection (TAO_CEC_ProxyPullConsumer_Collection *)
PortableServer::POA_ptr | supplier_poa (void)
| Access the supplier and consumer POAs from the factory.
PortableServer::POA_ptr | consumer_poa (void)
ACE_Lock * | create_consumer_lock (void)
void | destroy_consumer_lock (ACE_Lock *)
ACE_Lock * | create_supplier_lock (void)
void | destroy_supplier_lock (ACE_Lock *)
virtual void | connected (TAO_CEC_ProxyPushConsumer *ACE_ENV_ARG_DECL_NOT_USED)
virtual void | reconnected (TAO_CEC_ProxyPushConsumer *ACE_ENV_ARG_DECL_NOT_USED)
virtual void | disconnected (TAO_CEC_ProxyPushConsumer *ACE_ENV_ARG_DECL_NOT_USED)
virtual void | connected (TAO_CEC_ProxyPullConsumer *ACE_ENV_ARG_DECL_NOT_USED)
virtual void | reconnected (TAO_CEC_ProxyPullConsumer *ACE_ENV_ARG_DECL_NOT_USED)
virtual void | disconnected (TAO_CEC_ProxyPullConsumer *ACE_ENV_ARG_DECL_NOT_USED)
virtual void | connected (TAO_CEC_ProxyPushSupplier *ACE_ENV_ARG_DECL_NOT_USED)
virtual void | reconnected (TAO_CEC_ProxyPushSupplier *ACE_ENV_ARG_DECL_NOT_USED)
virtual void | disconnected (TAO_CEC_ProxyPushSupplier *ACE_ENV_ARG_DECL_NOT_USED)
virtual void | connected (TAO_CEC_ProxyPullSupplier *ACE_ENV_ARG_DECL_NOT_USED)
virtual void | reconnected (TAO_CEC_ProxyPullSupplier *ACE_ENV_ARG_DECL_NOT_USED)
virtual void | disconnected (TAO_CEC_ProxyPullSupplier *ACE_ENV_ARG_DECL_NOT_USED)
int | consumer_reconnect (void) const
| Can the consumers reconnect to the EC?
int | supplier_reconnect (void) const
| Can the suppliers reconnect to the EC?
int | disconnect_callbacks (void) const
virtual CosEventChannelAdmin::ConsumerAdmin_ptr | for_consumers (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
virtual CosEventChannelAdmin::SupplierAdmin_ptr | for_suppliers (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
virtual void | destroy (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
| Commit suicide.
## Private Attributes
PortableServer::POA_var | supplier_poa_
PortableServer::POA_var | consumer_poa_
TAO_CEC_Factory * | factory_
int | own_factory_
| Flag that indicates if we own the factory.
TAO_CEC_Dispatching * | dispatching_
| The dispatching "module".
TAO_CEC_Pulling_Strategy * | pulling_strategy_
| The pulling strategy.
TAO_CEC_ConsumerAdmin * | consumer_admin_
| The ConsumerAdmin implementation.
TAO_CEC_SupplierAdmin * | supplier_admin_
| The SupplierAdmin implementation.
int | consumer_reconnect_
| Consumer/Supplier reconnection flags.
int | supplier_reconnect_
int | disconnect_callbacks_
| If not zero we send callbacks when a proxy is disconnected.
TAO_CEC_ConsumerControl * | consumer_control_
TAO_CEC_SupplierControl * | supplier_control_

## Detailed Description

The CosEventChannelAdmin::EventChannel implementation.

This class is the Mediator between all the classes in the EC implementation, its main task is to redirect the messages to the right components, to hold and manage the lifetime of the long lived objects (Timer_Module, SupplierAdmin, ConsumerAdmin and Dispatching) and to provide a simpler interface to the CEC_Factory.

## Constructor & Destructor Documentation

TAO_CEC_EventChannel::TAO_CEC_EventChannel | ( | const TAO_CEC_EventChannel_Attributes & | attributes,
|  | TAO_CEC_Factory * | factory = 0,
|  | int | own_factory = 0
| ) |

| constructor If <own_factory> is not 0 it assumes ownership of the factory. If the factory is <nil> it uses the Service_Configurator to load the Factory, if not found it uses TAO_CEC_Default_Resource_Factory

TAO_CEC_EventChannel::~TAO_CEC_EventChannel | ( | void |  | ) | `[virtual]`

| destructor

## Member Function Documentation

void TAO_CEC_EventChannel::activate | ( | ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS |  | ) | `[virtual]`

| Start the internal threads (if any), etc. After this call the EC can be used.

virtual void TAO_CEC_EventChannel::connected | ( | TAO_CEC_ProxyPullSupplier * | ACE_ENV_ARG_DECL_NOT_USED | ) | `[virtual]`

virtual void TAO_CEC_EventChannel::connected | ( | TAO_CEC_ProxyPushSupplier * | ACE_ENV_ARG_DECL_NOT_USED | ) | `[virtual]`

| Used to inform the EC that a Supplier has connected or disconnected from it.

virtual void TAO_CEC_EventChannel::connected | ( | TAO_CEC_ProxyPullConsumer * | ACE_ENV_ARG_DECL_NOT_USED | ) | `[virtual]`

virtual void TAO_CEC_EventChannel::connected | ( | TAO_CEC_ProxyPushConsumer * | ACE_ENV_ARG_DECL_NOT_USED | ) | `[virtual]`

| Used to inform the EC that a Consumer has connected or disconnected from it.

ACE_INLINE TAO_CEC_ConsumerAdmin * TAO_CEC_EventChannel::consumer_admin | ( | void |  | ) | const

| Access the consumer admin implementation.

ACE_INLINE TAO_CEC_ConsumerControl * TAO_CEC_EventChannel::consumer_control | ( | void |  | ) | const

| Access the consumer control strategy.

ACE_INLINE PortableServer::POA_ptr TAO_CEC_EventChannel::consumer_poa | ( | void |  | ) |

ACE_INLINE int TAO_CEC_EventChannel::consumer_reconnect | ( | void |  | ) | const

| Can the consumers reconnect to the EC?

ACE_INLINE ACE_Lock * TAO_CEC_EventChannel::create_consumer_lock | ( | void |  | ) |

| Locking strategies for the ProxyPushConsumer and ProxyPushSupplier objects

ACE_INLINE void TAO_CEC_EventChannel::create_proxy | ( | TAO_CEC_ProxyPullConsumer *& |  | ) |

| Create and destroy a ProxyPushConsumer.

ACE_INLINE void TAO_CEC_EventChannel::create_proxy | ( | TAO_CEC_ProxyPushConsumer *& |  | ) |

| Create and destroy a ProxyPushConsumer.

ACE_INLINE void TAO_CEC_EventChannel::create_proxy | ( | TAO_CEC_ProxyPullSupplier *& |  | ) |

| Create and destroy a ProxyPullSupplier.

ACE_INLINE void TAO_CEC_EventChannel::create_proxy | ( | TAO_CEC_ProxyPushSupplier *& |  | ) |

| Create and destroy a ProxyPushSupplier.

ACE_INLINE void TAO_CEC_EventChannel::create_proxy_collection | ( | TAO_CEC_ProxyPullConsumer_Collection *& |  | ) |

ACE_INLINE void TAO_CEC_EventChannel::create_proxy_collection | ( | TAO_CEC_ProxyPushConsumer_Collection *& |  | ) |

| Create and destroy a the collections used to store Proxy*Consumers

ACE_INLINE void TAO_CEC_EventChannel::create_proxy_collection | ( | TAO_CEC_ProxyPullSupplier_Collection *& |  | ) |

ACE_INLINE void TAO_CEC_EventChannel::create_proxy_collection | ( | TAO_CEC_ProxyPushSupplier_Collection *& |  | ) |

| Create and destroy a the collections used to store Proxy*Suppliers

ACE_INLINE ACE_Lock * TAO_CEC_EventChannel::create_supplier_lock | ( | void |  | ) |

void TAO_CEC_EventChannel::destroy | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | throw (CORBA::SystemException)`[virtual]`

| Commit suicide.

ACE_INLINE void TAO_CEC_EventChannel::destroy_consumer_lock | ( | ACE_Lock * |  | ) |

ACE_INLINE void TAO_CEC_EventChannel::destroy_proxy | ( | TAO_CEC_ProxyPullConsumer * |  | ) |

ACE_INLINE void TAO_CEC_EventChannel::destroy_proxy | ( | TAO_CEC_ProxyPushConsumer * |  | ) |

ACE_INLINE void TAO_CEC_EventChannel::destroy_proxy | ( | TAO_CEC_ProxyPullSupplier * |  | ) |

ACE_INLINE void TAO_CEC_EventChannel::destroy_proxy | ( | TAO_CEC_ProxyPushSupplier * |  | ) |

ACE_INLINE void TAO_CEC_EventChannel::destroy_proxy_collection | ( | TAO_CEC_ProxyPullConsumer_Collection * |  | ) |

ACE_INLINE void TAO_CEC_EventChannel::destroy_proxy_collection | ( | TAO_CEC_ProxyPushConsumer_Collection * |  | ) |

ACE_INLINE void TAO_CEC_EventChannel::destroy_proxy_collection | ( | TAO_CEC_ProxyPullSupplier_Collection * |  | ) |

ACE_INLINE void TAO_CEC_EventChannel::destroy_proxy_collection | ( | TAO_CEC_ProxyPushSupplier_Collection * |  | ) |

ACE_INLINE void TAO_CEC_EventChannel::destroy_supplier_lock | ( | ACE_Lock * |  | ) |

ACE_INLINE int TAO_CEC_EventChannel::disconnect_callbacks | ( | void |  | ) | const

| Should we send callback disconnect messages when a proxy is disconnected by the client

virtual void TAO_CEC_EventChannel::disconnected | ( | TAO_CEC_ProxyPullSupplier * | ACE_ENV_ARG_DECL_NOT_USED | ) | `[virtual]`

virtual void TAO_CEC_EventChannel::disconnected | ( | TAO_CEC_ProxyPushSupplier * | ACE_ENV_ARG_DECL_NOT_USED | ) | `[virtual]`

virtual void TAO_CEC_EventChannel::disconnected | ( | TAO_CEC_ProxyPullConsumer * | ACE_ENV_ARG_DECL_NOT_USED | ) | `[virtual]`

virtual void TAO_CEC_EventChannel::disconnected | ( | TAO_CEC_ProxyPushConsumer * | ACE_ENV_ARG_DECL_NOT_USED | ) | `[virtual]`

ACE_INLINE TAO_CEC_Dispatching * TAO_CEC_EventChannel::dispatching | ( | void |  | ) | const

| Access the dispatching module....

CosEventChannelAdmin::ConsumerAdmin_ptr TAO_CEC_EventChannel::for_consumers | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | throw (CORBA::SystemException)`[virtual]`

| The default implementation is: this->consumer_admin ()->_this (env);

CosEventChannelAdmin::SupplierAdmin_ptr TAO_CEC_EventChannel::for_suppliers | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | throw (CORBA::SystemException)`[virtual]`

| The default implementation is: this->supplier_admin ()->_this (env);

virtual void TAO_CEC_EventChannel::reconnected | ( | TAO_CEC_ProxyPullSupplier * | ACE_ENV_ARG_DECL_NOT_USED | ) | `[virtual]`

virtual void TAO_CEC_EventChannel::reconnected | ( | TAO_CEC_ProxyPushSupplier * | ACE_ENV_ARG_DECL_NOT_USED | ) | `[virtual]`

virtual void TAO_CEC_EventChannel::reconnected | ( | TAO_CEC_ProxyPullConsumer * | ACE_ENV_ARG_DECL_NOT_USED | ) | `[virtual]`

virtual void TAO_CEC_EventChannel::reconnected | ( | TAO_CEC_ProxyPushConsumer * | ACE_ENV_ARG_DECL_NOT_USED | ) | `[virtual]`

void TAO_CEC_EventChannel::shutdown | ( | ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS |  | ) | `[virtual]`

| Shutdown any internal threads, cleanup all the internal structures, flush all the messages, etc.

ACE_INLINE TAO_CEC_SupplierAdmin * TAO_CEC_EventChannel::supplier_admin | ( | void |  | ) | const

| Access the supplier admin implementation.

ACE_INLINE TAO_CEC_SupplierControl * TAO_CEC_EventChannel::supplier_control | ( | void |  | ) | const

| Access the supplier control strategy.

ACE_INLINE PortableServer::POA_ptr TAO_CEC_EventChannel::supplier_poa | ( | void |  | ) |

| Access the supplier and consumer POAs from the factory.

ACE_INLINE int TAO_CEC_EventChannel::supplier_reconnect | ( | void |  | ) | const

| Can the suppliers reconnect to the EC?

## Member Data Documentation

TAO_CEC_ConsumerAdmin* TAO_CEC_EventChannel::consumer_admin_`[private]`

| The ConsumerAdmin implementation.

TAO_CEC_ConsumerControl* TAO_CEC_EventChannel::consumer_control_`[private]`

| Strategies to disconnect misbehaving or destroyed consumers and suppliers

PortableServer::POA_var TAO_CEC_EventChannel::consumer_poa_`[private]`

int TAO_CEC_EventChannel::consumer_reconnect_`[private]`

| Consumer/Supplier reconnection flags.

int TAO_CEC_EventChannel::disconnect_callbacks_`[private]`

| If not zero we send callbacks when a proxy is disconnected.

TAO_CEC_Dispatching* TAO_CEC_EventChannel::dispatching_`[private]`

| The dispatching "module".

TAO_CEC_Factory* TAO_CEC_EventChannel::factory_`[private]`

| This is the abstract factory that creates all the objects that compose an event channel, the event channel simply acts as a Mediator among them.

int TAO_CEC_EventChannel::own_factory_`[private]`

| Flag that indicates if we own the factory.

TAO_CEC_Pulling_Strategy* TAO_CEC_EventChannel::pulling_strategy_`[private]`

| The pulling strategy.

TAO_CEC_SupplierAdmin* TAO_CEC_EventChannel::supplier_admin_`[private]`

| The SupplierAdmin implementation.

TAO_CEC_SupplierControl* TAO_CEC_EventChannel::supplier_control_`[private]`

PortableServer::POA_var TAO_CEC_EventChannel::supplier_poa_`[private]`

| The POAs used to activate "supplier-side" and "consumer-side" objects.

int TAO_CEC_EventChannel::supplier_reconnect_`[private]`

The documentation for this class was generated from the following files:

- CEC_EventChannel.h
- CEC_EventChannel.cpp
- CEC_EventChannel.i