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 ()
virtual void shutdown ()
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 *)
virtual void reconnected (TAO_CEC_TypedProxyPushConsumer *)
virtual void disconnected (TAO_CEC_TypedProxyPushConsumer *)
virtual void connected (TAO_CEC_ProxyPushSupplier *)
virtual void reconnected (TAO_CEC_ProxyPushSupplier *)
virtual void disconnected (TAO_CEC_ProxyPushSupplier *)
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)
 Function allows consumer admin to register the uses interface.
int supplier_register_supported_interface (const char *supported_interface)
 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)
 Function populates the NVList from the provide param information.
virtual void create_list (CORBA::Long count, CORBA::NVList_out new_list)
 Function creates an empty NVList.
virtual ::CosTypedEventChannelAdmin::TypedConsumerAdmin_ptr for_consumers () throw (CORBA::SystemException)
virtual ::CosTypedEventChannelAdmin::TypedSupplierAdmin_ptr for_suppliers () throw (CORBA::SystemException)
virtual void destroy () throw (CORBA::SystemException)
ServantRetryMapget_servant_retry_map (void)
CORBA::Policy_ptr create_roundtrip_timeout_policy (const ACE_Time_Value &timeout)
 Forwarded to the factory.

Protected Member Functions

int cache_interface_description (const char *interface)
 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_
ServantRetryMap retry_map_
TAO_CEC_SupplierControlsupplier_control_
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_BEGIN_VERSIONED_NAMESPACE_DECL 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

void TAO_CEC_TypedEventChannel::activate (  )  [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  )  [protected]

Function caches the full interface description from the IFR.

int TAO_CEC_TypedEventChannel::clear_ifr_cache ( void   )  [protected]

Function clears the IFR cache.

void TAO_CEC_TypedEventChannel::connected ( TAO_CEC_ProxyPushSupplier  )  [virtual]

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

void TAO_CEC_TypedEventChannel::connected ( TAO_CEC_TypedProxyPushConsumer  )  [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  ) 

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 
) [virtual]

Function creates an empty NVList.

void TAO_CEC_TypedEventChannel::create_operation_list ( TAO_CEC_Operation_Params oper_params,
CORBA::NVList_out  new_list 
) [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

CORBA::Policy_ptr TAO_CEC_TypedEventChannel::create_roundtrip_timeout_policy ( const ACE_Time_Value timeout  ) 

Forwarded to the factory.

ACE_INLINE ACE_Lock * TAO_CEC_TypedEventChannel::create_supplier_lock ( void   ) 

void TAO_CEC_TypedEventChannel::destroy (  )  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

void TAO_CEC_TypedEventChannel::disconnected ( TAO_CEC_ProxyPushSupplier  )  [virtual]

void TAO_CEC_TypedEventChannel::disconnected ( TAO_CEC_TypedProxyPushConsumer  )  [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 (  )  throw (CORBA::SystemException)

CosTypedEventChannelAdmin::TypedSupplierAdmin_ptr TAO_CEC_TypedEventChannel::for_suppliers (  )  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_.

void TAO_CEC_TypedEventChannel::reconnected ( TAO_CEC_ProxyPushSupplier  )  [virtual]

void TAO_CEC_TypedEventChannel::reconnected ( TAO_CEC_TypedProxyPushConsumer  )  [virtual]

void TAO_CEC_TypedEventChannel::shutdown (  )  [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  ) 

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 Fri Oct 6 15:58:59 2006 for TAO_CosEvent by  doxygen 1.4.7-1