TAO_CosEvent  2.3.2
Classes | Public Types | Public Member Functions | Protected Member Functions | Private Attributes | List of all members
TAO_CEC_TypedEventChannel Class Reference

#include <CEC_TypedEventChannel.h>

Inheritance diagram for TAO_CEC_TypedEventChannel:
Inheritance graph
Collaboration diagram for TAO_CEC_TypedEventChannel:
Collaboration graph


class  ServantBaseHash

Public Types

typedef ACE_Hash_Map_Manager_Ex< PortableServer::ServantBase *, unsigned int, ServantBaseHash, ACE_Equal_To< PortableServer::ServantBase * >, TAO_SYNCH_MUTEXServantRetryMap
typedef ACE_Hash_Map_Manager_Ex< const char *, TAO_CEC_Operation_Params *, ACE_Hash< const char * >, ACE_Equal_To< const char * >, ACE_Null_MutexInterfaceDescription
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. More...
virtual void activate (void)
virtual void shutdown (void)
TAO_CEC_Dispatchingdispatching (void) const
 Access the dispatching module.... More...
TAO_CEC_TypedConsumerAdmintyped_consumer_admin (void) const
 Access the consumer admin implementation. More...
TAO_CEC_TypedSupplierAdmintyped_supplier_admin (void) const
 Access the supplier admin implementation. More...
TAO_CEC_ConsumerControlconsumer_control (void) const
 Access the consumer control strategy. More...
TAO_CEC_SupplierControlsupplier_control (void) const
 Access the supplier control strategy. More...
void create_proxy (TAO_CEC_ProxyPushSupplier *&)
 Create and destroy a ProxyPushSupplier. More...
void destroy_proxy (TAO_CEC_ProxyPushSupplier *)
void create_proxy (TAO_CEC_TypedProxyPushConsumer *&)
 Create and destroy a TypedProxyPushConsumer. More...
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. More...
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? More...
int supplier_reconnect (void) const
 Can the suppliers reconnect to the EC? More...
int disconnect_callbacks (void) const
TAO_CEC_Operation_Paramsfind_from_ifr_cache (const char *operation)
 Finds a operation/parameter from the IFR cache. More...
int consumer_register_uses_interace (const char *uses_interface)
 Function allows consumer admin to register the uses interface. More...
int supplier_register_supported_interface (const char *supported_interface)
 Function allows supplier admin to register the supported interface. More...
const char * supported_interface (void) const
 Function to return the supported_interface_. More...
CORBA::RepositoryId base_interfaces (CORBA::ULong index) const
 Function to return the base_interfaces_. More...
CORBA::ULong number_of_base_interfaces (void) const
 Function to return the number of base_interfaces_. More...
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. More...
virtual void create_list (CORBA::Long count, CORBA::NVList_out new_list)
 Function creates an empty NVList. More...
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. More...

Protected Member Functions

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

Private Attributes

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

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  )


Member Function Documentation

void TAO_CEC_TypedEventChannel::activate ( void  )

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

Function caches the full interface description from the IFR.

int TAO_CEC_TypedEventChannel::clear_ifr_cache ( void  )

Function clears the IFR cache.

void TAO_CEC_TypedEventChannel::connected ( TAO_CEC_TypedProxyPushConsumer consumer)

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

void TAO_CEC_TypedEventChannel::connected ( TAO_CEC_ProxyPushSupplier supplier)

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 

Function creates an empty NVList.

void TAO_CEC_TypedEventChannel::create_operation_list ( TAO_CEC_Operation_Params oper_params,
CORBA::NVList_out  new_list 

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  )
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)
void TAO_CEC_TypedEventChannel::disconnected ( TAO_CEC_ProxyPushSupplier supplier)
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 

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)
void TAO_CEC_TypedEventChannel::reconnected ( TAO_CEC_ProxyPushSupplier supplier)
void TAO_CEC_TypedEventChannel::shutdown ( void  )

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_

The supported_interface_ base interfaces.

TAO_CEC_ConsumerControl* TAO_CEC_TypedEventChannel::consumer_control_

Strategies to disconnect misbehaving or destroyed consumers and suppliers

int TAO_CEC_TypedEventChannel::consumer_reconnect_

Consumer reconnection flags.

int TAO_CEC_TypedEventChannel::destroy_on_shutdown_

If not zero the event channel is destroyed on shutdown.

int TAO_CEC_TypedEventChannel::destroyed_

Set if the event channel has been destroyed.

int TAO_CEC_TypedEventChannel::disconnect_callbacks_

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

TAO_CEC_Dispatching* TAO_CEC_TypedEventChannel::dispatching_

The dispatching "module".

TAO_CEC_Factory* TAO_CEC_TypedEventChannel::factory_

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_

The IFR cache for the interface description.

CORBA::Repository_var TAO_CEC_TypedEventChannel::interface_repository_

Storage of the IFR reference.

CORBA::ORB_var TAO_CEC_TypedEventChannel::orb_

The ORB.

int TAO_CEC_TypedEventChannel::own_factory_

Flag that indicates if we own the factory.

ServantRetryMap TAO_CEC_TypedEventChannel::retry_map_
TAO_CEC_SupplierControl* TAO_CEC_TypedEventChannel::supplier_control_
int TAO_CEC_TypedEventChannel::supplier_reconnect_

Supplier reconnection flags.

ACE_CString TAO_CEC_TypedEventChannel::supported_interface_

The supported_interface_ for the TypedSupplierAdmin.

TAO_CEC_TypedConsumerAdmin* TAO_CEC_TypedEventChannel::typed_consumer_admin_

The ConsumerAdmin implementation.

PortableServer::POA_var TAO_CEC_TypedEventChannel::typed_consumer_poa_
TAO_CEC_TypedSupplierAdmin* TAO_CEC_TypedEventChannel::typed_supplier_admin_

The SupplierAdmin implementation.

PortableServer::POA_var TAO_CEC_TypedEventChannel::typed_supplier_poa_

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

ACE_CString TAO_CEC_TypedEventChannel::uses_interface_

The uses_interface_ for the TypedConsumerAdmin.

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