TAO_CosEvent  2.0.7
Classes | Public Types | Public Member Functions | Protected Member Functions | Private Attributes
TAO_CEC_TypedEventChannel Class Reference

#include <CEC_TypedEventChannel.h>

Collaboration diagram for TAO_CEC_TypedEventChannel:
Collaboration graph
[legend]

List of all members.

Classes

class  ServantBaseHash

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 (void)
virtual void shutdown (void)
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 (void)
virtual
::CosTypedEventChannelAdmin::TypedSupplierAdmin_ptr 
for_suppliers (void)
virtual void destroy (void)
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.

Member Typedef Documentation


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

void TAO_CEC_TypedEventChannel::activate ( void  ) [virtual]

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

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

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

void TAO_CEC_TypedEventChannel::connected ( TAO_CEC_ProxyPushSupplier supplier) [virtual]

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

TAO_CEC_ConsumerControl * TAO_CEC_TypedEventChannel::consumer_control ( void  ) const

Access the consumer control strategy.

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_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.

void TAO_CEC_TypedEventChannel::create_proxy ( TAO_CEC_ProxyPushSupplier *&  x)

Create and destroy a ProxyPushSupplier.

void TAO_CEC_TypedEventChannel::create_proxy ( TAO_CEC_TypedProxyPushConsumer *&  x)

Create and destroy a TypedProxyPushConsumer.

void TAO_CEC_TypedEventChannel::create_proxy_collection ( TAO_CEC_ProxyPushSupplier_Collection *&  x)

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

void TAO_CEC_TypedEventChannel::create_proxy_collection ( TAO_CEC_TypedProxyPushConsumer_Collection *&  x)

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

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

Forwarded to the factory.

ACE_Lock * TAO_CEC_TypedEventChannel::create_supplier_lock ( void  )
void TAO_CEC_TypedEventChannel::destroy ( void  ) [virtual]
void TAO_CEC_TypedEventChannel::destroy_consumer_lock ( ACE_Lock x)
void TAO_CEC_TypedEventChannel::destroy_proxy ( TAO_CEC_ProxyPushSupplier supplier)
void TAO_CEC_TypedEventChannel::destroy_proxy ( TAO_CEC_TypedProxyPushConsumer consumer)
void TAO_CEC_TypedEventChannel::destroy_proxy_collection ( TAO_CEC_ProxyPushSupplier_Collection x)
void TAO_CEC_TypedEventChannel::destroy_proxy_collection ( TAO_CEC_TypedProxyPushConsumer_Collection *  x)
void TAO_CEC_TypedEventChannel::destroy_supplier_lock ( ACE_Lock x)
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_TypedProxyPushConsumer consumer) [virtual]
void TAO_CEC_TypedEventChannel::disconnected ( TAO_CEC_ProxyPushSupplier supplier) [virtual]
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 ( void  )
CosTypedEventChannelAdmin::TypedSupplierAdmin_ptr TAO_CEC_TypedEventChannel::for_suppliers ( void  )
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.

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_TypedProxyPushConsumer consumer) [virtual]
void TAO_CEC_TypedEventChannel::reconnected ( TAO_CEC_ProxyPushSupplier supplier) [virtual]
void TAO_CEC_TypedEventChannel::shutdown ( void  ) [virtual]

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

TAO_CEC_SupplierControl * TAO_CEC_TypedEventChannel::supplier_control ( void  ) const

Access the supplier control strategy.

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.

const char * TAO_CEC_TypedEventChannel::supported_interface ( void  ) const

Function to return the supported_interface_.

TAO_CEC_TypedConsumerAdmin * TAO_CEC_TypedEventChannel::typed_consumer_admin ( void  ) const

Access the consumer admin implementation.

PortableServer::POA_ptr TAO_CEC_TypedEventChannel::typed_consumer_poa ( void  )
TAO_CEC_TypedSupplierAdmin * TAO_CEC_TypedEventChannel::typed_supplier_admin ( void  ) const

Access the supplier admin implementation.

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.

Strategies to disconnect misbehaving or destroyed consumers and suppliers

Consumer reconnection flags.

If not zero the event channel is destroyed on shutdown.

Set if the event channel has been destroyed.

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

The dispatching "module".

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.

The IFR cache for the interface description.

CORBA::Repository_var TAO_CEC_TypedEventChannel::interface_repository_ [private]

Storage of the IFR reference.

The ORB.

Flag that indicates if we own the factory.

Supplier reconnection flags.

The supported_interface_ for the TypedSupplierAdmin.

The ConsumerAdmin implementation.

The SupplierAdmin implementation.

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

The uses_interface_ for the TypedConsumerAdmin.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Defines