TAO_CEC_TypedEventChannel Class Reference

#include <CEC_TypedEventChannel.h>

Collaboration diagram for TAO_CEC_TypedEventChannel:

Collaboration graph
[legend]
List of all members.

Public Types

typedef ACE_Hash_Map_Manager_Ex<
PortableServer::ServantBase *,
unsigned int, ServantBaseHash,
ACE_Equal_To< PortableServer::ServantBase * >,
TAO_SYNCH_MUTEX
ServantRetryMap
typedef ACE_Hash_Map_Manager_Ex<
const char *, TAO_CEC_Operation_Params *,
ACE_Hash< const char * >,
ACE_Equal_To< const char * >,
ACE_Null_Mutex
InterfaceDescription
typedef InterfaceDescription::iterator Iterator

Public Member Functions

 TAO_CEC_TypedEventChannel (const TAO_CEC_TypedEventChannel_Attributes &attributes, TAO_CEC_Factory *factory=0, int own_factory=0)
virtual ~TAO_CEC_TypedEventChannel (void)
 Destructor.
virtual void activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
TAO_CEC_Dispatchingdispatching (void) const
 Access the dispatching module....
TAO_CEC_TypedConsumerAdmintyped_consumer_admin (void) const
 Access the consumer admin implementation.
TAO_CEC_TypedSupplierAdmintyped_supplier_admin (void) const
 Access the supplier admin implementation.
TAO_CEC_ConsumerControlconsumer_control (void) const
 Access the consumer control strategy.
TAO_CEC_SupplierControlsupplier_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_TypedProxyPushConsumer *&)
 Create and destroy a TypedProxyPushConsumer.
void destroy_proxy (TAO_CEC_TypedProxyPushConsumer *)
void create_proxy_collection (TAO_CEC_ProxyPushSupplier_Collection *&)
void destroy_proxy_collection (TAO_CEC_ProxyPushSupplier_Collection *)
void create_proxy_collection (TAO_CEC_TypedProxyPushConsumer_Collection *&)
void destroy_proxy_collection (TAO_CEC_TypedProxyPushConsumer_Collection *)
PortableServer::POA_ptr typed_supplier_poa (void)
 Access the supplier and consumer POAs from the factory.
PortableServer::POA_ptr typed_consumer_poa (void)
ACE_Lockcreate_consumer_lock (void)
void destroy_consumer_lock (ACE_Lock *)
ACE_Lockcreate_supplier_lock (void)
void destroy_supplier_lock (ACE_Lock *)
virtual void connected (TAO_CEC_TypedProxyPushConsumer *ACE_ENV_ARG_DECL_NOT_USED)
virtual void reconnected (TAO_CEC_TypedProxyPushConsumer *ACE_ENV_ARG_DECL_NOT_USED)
virtual void disconnected (TAO_CEC_TypedProxyPushConsumer *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)
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
TAO_CEC_Operation_Paramsfind_from_ifr_cache (const char *operation)
 Finds a operation/parameter from the IFR cache.
int consumer_register_uses_interace (const char *uses_interface ACE_ENV_ARG_DECL)
 Function allows consumer admin to register the uses interface.
int supplier_register_supported_interface (const char *supported_interface ACE_ENV_ARG_DECL)
 Function allows supplier admin to register the supported interface.
const char * supported_interface (void) const
 Function to return the supported_interface_.
CORBA::RepositoryId base_interfaces (CORBA::ULong index) const
 Function to return the base_interfaces_.
CORBA::ULong number_of_base_interfaces (void) const
 Function to return the number of base_interfaces_.
virtual void create_operation_list (TAO_CEC_Operation_Params *oper_params, CORBA::NVList_out new_list ACE_ENV_ARG_DECL)
 Function populates the NVList from the provide param information.
virtual void create_list (CORBA::Long count, CORBA::NVList_out new_list ACE_ENV_ARG_DECL)
 Function creates an empty NVList.
virtual ::CosTypedEventChannelAdmin::TypedConsumerAdmin_ptr for_consumers (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
virtual ::CosTypedEventChannelAdmin::TypedSupplierAdmin_ptr for_suppliers (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
virtual void destroy (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
ServantRetryMapget_servant_retry_map (void)

Protected Member Functions

int cache_interface_description (const char *interface ACE_ENV_ARG_DECL)
 Function caches the full interface description from the IFR.
int insert_into_ifr_cache (const char *operation, TAO_CEC_Operation_Params *parameters)
 Insert a operation/parameter into the IFR cache.
int clear_ifr_cache (void)
 Function clears the IFR cache.

Private Attributes

PortableServer::POA_var typed_supplier_poa_
PortableServer::POA_var typed_consumer_poa_
CORBA::ORB_var orb_
 The ORB.
CORBA::Repository_var interface_repository_
 Storage of the IFR reference.
TAO_CEC_Factoryfactory_
int own_factory_
 Flag that indicates if we own the factory.
TAO_CEC_Dispatchingdispatching_
 The dispatching "module".
TAO_CEC_TypedConsumerAdmintyped_consumer_admin_
 The ConsumerAdmin implementation.
TAO_CEC_TypedSupplierAdmintyped_supplier_admin_
 The SupplierAdmin implementation.
int consumer_reconnect_
 Consumer reconnection flags.
int supplier_reconnect_
 Supplier reconnection flags.
int disconnect_callbacks_
 If not zero we send callbacks when a proxy is disconnected.
int destroy_on_shutdown_
 If not zero the event channel is destroyed on shutdown.
int destroyed_
 Set if the event channel has been destroyed.
TAO_CEC_ConsumerControlconsumer_control_
TAO_CEC_SupplierControlsupplier_control_
ServantRetryMap retry_map_
ACE_CString uses_interface_
 The uses_interface_ for the TypedConsumerAdmin.
ACE_CString supported_interface_
 The supported_interface_ for the TypedSupplierAdmin.
InterfaceDescription interface_description_
 The IFR cache for the interface description.
CORBA::RepositoryIdSeq base_interfaces_
 The supported_interface_ base interfaces.

Classes

class  ServantBaseHash

Member Typedef Documentation

typedef ACE_Hash_Map_Manager_Ex<const char *, TAO_CEC_Operation_Params *, ACE_Hash<const char *>, ACE_Equal_To<const char *>, ACE_Null_Mutex> TAO_CEC_TypedEventChannel::InterfaceDescription
 

typedef InterfaceDescription::iterator TAO_CEC_TypedEventChannel::Iterator
 

typedef ACE_Hash_Map_Manager_Ex<PortableServer::ServantBase*, unsigned int, ServantBaseHash, ACE_Equal_To<PortableServer::ServantBase*>, TAO_SYNCH_MUTEX> TAO_CEC_TypedEventChannel::ServantRetryMap
 


Constructor & Destructor Documentation

TAO_CEC_TypedEventChannel::TAO_CEC_TypedEventChannel const TAO_CEC_TypedEventChannel_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_TypedEventChannel::~TAO_CEC_TypedEventChannel void   )  [virtual]
 

Destructor.


Member Function Documentation

virtual void TAO_CEC_TypedEventChannel::activate ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   )  [virtual]
 

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

ACE_INLINE CORBA::RepositoryId TAO_CEC_TypedEventChannel::base_interfaces CORBA::ULong  index  )  const
 

Function to return the base_interfaces_.

int TAO_CEC_TypedEventChannel::cache_interface_description const char *interface  ACE_ENV_ARG_DECL  )  [protected]
 

Function caches the full interface description from the IFR.

int TAO_CEC_TypedEventChannel::clear_ifr_cache void   )  [protected]
 

Function clears the IFR cache.

virtual void TAO_CEC_TypedEventChannel::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_TypedEventChannel::connected TAO_CEC_TypedProxyPushConsumer 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_ConsumerControl * TAO_CEC_TypedEventChannel::consumer_control void   )  const
 

Access the consumer control strategy.

ACE_INLINE int TAO_CEC_TypedEventChannel::consumer_reconnect void   )  const
 

Can the consumers reconnect to the EC?

int TAO_CEC_TypedEventChannel::consumer_register_uses_interace const char *uses_interface  ACE_ENV_ARG_DECL  ) 
 

Function allows consumer admin to register the uses interface.

ACE_INLINE ACE_Lock * TAO_CEC_TypedEventChannel::create_consumer_lock void   ) 
 

Locking strategies for the ProxyPushConsumer and ProxyPushSupplier objects

void TAO_CEC_TypedEventChannel::create_list CORBA::Long  count,
CORBA::NVList_out new_list  ACE_ENV_ARG_DECL
[virtual]
 

Function creates an empty NVList.

void TAO_CEC_TypedEventChannel::create_operation_list TAO_CEC_Operation_Params oper_params,
CORBA::NVList_out new_list  ACE_ENV_ARG_DECL
[virtual]
 

Function populates the NVList from the provide param information.

ACE_INLINE void TAO_CEC_TypedEventChannel::create_proxy TAO_CEC_TypedProxyPushConsumer *&   ) 
 

Create and destroy a TypedProxyPushConsumer.

ACE_INLINE void TAO_CEC_TypedEventChannel::create_proxy TAO_CEC_ProxyPushSupplier *&   ) 
 

Create and destroy a ProxyPushSupplier.

ACE_INLINE void TAO_CEC_TypedEventChannel::create_proxy_collection TAO_CEC_TypedProxyPushConsumer_Collection *&   ) 
 

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

ACE_INLINE void TAO_CEC_TypedEventChannel::create_proxy_collection TAO_CEC_ProxyPushSupplier_Collection *&   ) 
 

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

ACE_INLINE ACE_Lock * TAO_CEC_TypedEventChannel::create_supplier_lock void   ) 
 

void TAO_CEC_TypedEventChannel::destroy ACE_ENV_SINGLE_ARG_DECL   )  throw (CORBA::SystemException) [virtual]
 

ACE_INLINE void TAO_CEC_TypedEventChannel::destroy_consumer_lock ACE_Lock  ) 
 

ACE_INLINE void TAO_CEC_TypedEventChannel::destroy_proxy TAO_CEC_TypedProxyPushConsumer  ) 
 

ACE_INLINE void TAO_CEC_TypedEventChannel::destroy_proxy TAO_CEC_ProxyPushSupplier  ) 
 

ACE_INLINE void TAO_CEC_TypedEventChannel::destroy_proxy_collection TAO_CEC_TypedProxyPushConsumer_Collection *   ) 
 

ACE_INLINE void TAO_CEC_TypedEventChannel::destroy_proxy_collection TAO_CEC_ProxyPushSupplier_Collection  ) 
 

ACE_INLINE void TAO_CEC_TypedEventChannel::destroy_supplier_lock ACE_Lock  ) 
 

ACE_INLINE int TAO_CEC_TypedEventChannel::disconnect_callbacks void   )  const
 

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

virtual void TAO_CEC_TypedEventChannel::disconnected TAO_CEC_ProxyPushSupplier ACE_ENV_ARG_DECL_NOT_USED  )  [virtual]
 

virtual void TAO_CEC_TypedEventChannel::disconnected TAO_CEC_TypedProxyPushConsumer ACE_ENV_ARG_DECL_NOT_USED  )  [virtual]
 

ACE_INLINE TAO_CEC_Dispatching * TAO_CEC_TypedEventChannel::dispatching void   )  const
 

Access the dispatching module....

TAO_CEC_Operation_Params * TAO_CEC_TypedEventChannel::find_from_ifr_cache const char *  operation  ) 
 

Finds a operation/parameter from the IFR cache.

CosTypedEventChannelAdmin::TypedConsumerAdmin_ptr TAO_CEC_TypedEventChannel::for_consumers ACE_ENV_SINGLE_ARG_DECL   )  throw (CORBA::SystemException)
 

CosTypedEventChannelAdmin::TypedSupplierAdmin_ptr TAO_CEC_TypedEventChannel::for_suppliers ACE_ENV_SINGLE_ARG_DECL   )  throw (CORBA::SystemException)
 

ACE_INLINE TAO_CEC_TypedEventChannel::ServantRetryMap & TAO_CEC_TypedEventChannel::get_servant_retry_map void   ) 
 

int TAO_CEC_TypedEventChannel::insert_into_ifr_cache const char *  operation,
TAO_CEC_Operation_Params parameters
[protected]
 

Insert a operation/parameter into the IFR cache.

ACE_INLINE CORBA::ULong TAO_CEC_TypedEventChannel::number_of_base_interfaces void   )  const
 

Function to return the number of base_interfaces_.

virtual void TAO_CEC_TypedEventChannel::reconnected TAO_CEC_ProxyPushSupplier ACE_ENV_ARG_DECL_NOT_USED  )  [virtual]
 

virtual void TAO_CEC_TypedEventChannel::reconnected TAO_CEC_TypedProxyPushConsumer ACE_ENV_ARG_DECL_NOT_USED  )  [virtual]
 

virtual void TAO_CEC_TypedEventChannel::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_SupplierControl * TAO_CEC_TypedEventChannel::supplier_control void   )  const
 

Access the supplier control strategy.

ACE_INLINE int TAO_CEC_TypedEventChannel::supplier_reconnect void   )  const
 

Can the suppliers reconnect to the EC?

int TAO_CEC_TypedEventChannel::supplier_register_supported_interface const char *supported_interface  ACE_ENV_ARG_DECL  ) 
 

Function allows supplier admin to register the supported interface.

ACE_INLINE const char * TAO_CEC_TypedEventChannel::supported_interface void   )  const
 

Function to return the supported_interface_.

ACE_INLINE TAO_CEC_TypedConsumerAdmin * TAO_CEC_TypedEventChannel::typed_consumer_admin void   )  const
 

Access the consumer admin implementation.

ACE_INLINE PortableServer::POA_ptr TAO_CEC_TypedEventChannel::typed_consumer_poa void   ) 
 

ACE_INLINE TAO_CEC_TypedSupplierAdmin * TAO_CEC_TypedEventChannel::typed_supplier_admin void   )  const
 

Access the supplier admin implementation.

ACE_INLINE PortableServer::POA_ptr TAO_CEC_TypedEventChannel::typed_supplier_poa void   ) 
 

Access the supplier and consumer POAs from the factory.


Member Data Documentation

CORBA::RepositoryIdSeq TAO_CEC_TypedEventChannel::base_interfaces_ [private]
 

The supported_interface_ base interfaces.

TAO_CEC_ConsumerControl* TAO_CEC_TypedEventChannel::consumer_control_ [private]
 

Strategies to disconnect misbehaving or destroyed consumers and suppliers

int TAO_CEC_TypedEventChannel::consumer_reconnect_ [private]
 

Consumer reconnection flags.

int TAO_CEC_TypedEventChannel::destroy_on_shutdown_ [private]
 

If not zero the event channel is destroyed on shutdown.

int TAO_CEC_TypedEventChannel::destroyed_ [private]
 

Set if the event channel has been destroyed.

int TAO_CEC_TypedEventChannel::disconnect_callbacks_ [private]
 

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

TAO_CEC_Dispatching* TAO_CEC_TypedEventChannel::dispatching_ [private]
 

The dispatching "module".

TAO_CEC_Factory* TAO_CEC_TypedEventChannel::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.

InterfaceDescription TAO_CEC_TypedEventChannel::interface_description_ [private]
 

The IFR cache for the interface description.

CORBA::Repository_var TAO_CEC_TypedEventChannel::interface_repository_ [private]
 

Storage of the IFR reference.

CORBA::ORB_var TAO_CEC_TypedEventChannel::orb_ [private]
 

The ORB.

int TAO_CEC_TypedEventChannel::own_factory_ [private]
 

Flag that indicates if we own the factory.

ServantRetryMap TAO_CEC_TypedEventChannel::retry_map_ [private]
 

TAO_CEC_SupplierControl* TAO_CEC_TypedEventChannel::supplier_control_ [private]
 

int TAO_CEC_TypedEventChannel::supplier_reconnect_ [private]
 

Supplier reconnection flags.

ACE_CString TAO_CEC_TypedEventChannel::supported_interface_ [private]
 

The supported_interface_ for the TypedSupplierAdmin.

TAO_CEC_TypedConsumerAdmin* TAO_CEC_TypedEventChannel::typed_consumer_admin_ [private]
 

The ConsumerAdmin implementation.

PortableServer::POA_var TAO_CEC_TypedEventChannel::typed_consumer_poa_ [private]
 

TAO_CEC_TypedSupplierAdmin* TAO_CEC_TypedEventChannel::typed_supplier_admin_ [private]
 

The SupplierAdmin implementation.

PortableServer::POA_var TAO_CEC_TypedEventChannel::typed_supplier_poa_ [private]
 

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

ACE_CString TAO_CEC_TypedEventChannel::uses_interface_ [private]
 

The uses_interface_ for the TypedConsumerAdmin.


The documentation for this class was generated from the following files:
Generated on Wed Nov 23 16:20:40 2005 for TAO_CosEvent by  doxygen 1.4.5