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

TAO_Notify_EventChannel_i Class Reference

TAO_Notify_EventChannel_i. More...

#include <Notify_EventChannel_i.h>

Inheritance diagram for TAO_Notify_EventChannel_i:

Inheritance graph
[legend]
Collaboration diagram for TAO_Notify_EventChannel_i:

Collaboration graph
[legend]
List of all members.

Public Methods

 TAO_Notify_EventChannel_i (TAO_Notify_EventChannelFactory_i *channel_factory)
 Constructor. <channel_factory> is the parent. More...

virtual ~TAO_Notify_EventChannel_i (void)
 Destructor. More...

void init (CosNotifyChannelAdmin::ChannelID channel_id, const CosNotification::QoSProperties &initial_qos, const CosNotification::AdminProperties &initial_admin, PortableServer::POA_ptr default_POA, PortableServer::POA_ptr my_POA ACE_ENV_ARG_DECL)
 Initialize this object. More...

PortableServer::POA_ptr get_default_POA (void)
 Get the default POA. More...

CosNotifyChannelAdmin::EventChannel_ptr get_ref (ACE_ENV_SINGLE_ARG_DECL)
 Get the CORBA object for this servant. More...

TAO_Notify_Event_Managerget_event_manager (void)
 Get the event manager. More...

void consumer_admin_destroyed (CosNotifyChannelAdmin::AdminID CA_ID)
 This id is no longer in use.It can be reused by <consumer_admin_ids_>. More...

void supplier_admin_destroyed (CosNotifyChannelAdmin::AdminID SA_ID)
 This id is no longer in use.It can be reused by <supplier_admin_ids_>. More...

void unregister_listener (TAO_Notify_EventListener *group_listener ACE_ENV_ARG_DECL)
 Consumer Admin's are Group Listeners that are registered automatically with the EC when a ConsumerAdmin is created. When a consumer is destroyed, it asks the EC to unregister itself. More...

virtual CosNotifyChannelAdmin::EventChannelFactory_ptr MyFactory (ACE_ENV_SINGLE_ARG_DECL) throw ( CORBA::SystemException )
virtual CosNotifyChannelAdmin::ConsumerAdmin_ptr default_consumer_admin (ACE_ENV_SINGLE_ARG_DECL) throw ( CORBA::SystemException )
virtual CosNotifyChannelAdmin::SupplierAdmin_ptr default_supplier_admin (ACE_ENV_SINGLE_ARG_DECL) throw ( CORBA::SystemException )
virtual CosNotifyFilter::FilterFactory_ptr default_filter_factory (ACE_ENV_SINGLE_ARG_DECL) throw ( CORBA::SystemException )
virtual CosNotifyChannelAdmin::ConsumerAdmin_ptr new_for_consumers (CosNotifyChannelAdmin::InterFilterGroupOperator op, CosNotifyChannelAdmin::AdminID_out id ACE_ENV_ARG_DECL) throw ( CORBA::SystemException )
virtual CosNotifyChannelAdmin::SupplierAdmin_ptr new_for_suppliers (CosNotifyChannelAdmin::InterFilterGroupOperator op, CosNotifyChannelAdmin::AdminID_out id ACE_ENV_ARG_DECL) throw ( CORBA::SystemException )
virtual CosNotifyChannelAdmin::ConsumerAdmin_ptr get_consumeradmin (CosNotifyChannelAdmin::AdminID id ACE_ENV_ARG_DECL) throw ( CORBA::SystemException, CosNotifyChannelAdmin::AdminNotFound )
virtual CosNotifyChannelAdmin::SupplierAdmin_ptr get_supplieradmin (CosNotifyChannelAdmin::AdminID id ACE_ENV_ARG_DECL) throw ( CORBA::SystemException, CosNotifyChannelAdmin::AdminNotFound )
virtual CosNotifyChannelAdmin::AdminIDSeqget_all_consumeradmins (ACE_ENV_SINGLE_ARG_DECL) throw ( CORBA::SystemException )
virtual CosNotifyChannelAdmin::AdminIDSeqget_all_supplieradmins (ACE_ENV_SINGLE_ARG_DECL) throw ( CORBA::SystemException )
virtual CosNotification::QoSPropertiesget_qos (ACE_ENV_SINGLE_ARG_DECL) throw ( CORBA::SystemException )
virtual void set_qos (const CosNotification::QoSProperties &qos ACE_ENV_ARG_DECL) throw ( CORBA::SystemException, CosNotification::UnsupportedQoS )
virtual void validate_qos (const CosNotification::QoSProperties &required_qos, CosNotification::NamedPropertyRangeSeq_out available_qos ACE_ENV_ARG_DECL) throw ( CORBA::SystemException, CosNotification::UnsupportedQoS )
virtual CosNotification::AdminPropertiesget_admin (ACE_ENV_SINGLE_ARG_DECL) throw ( CORBA::SystemException )
virtual void set_admin (const CosNotification::AdminProperties &admin ACE_ENV_ARG_DECL) throw ( CORBA::SystemException, CosNotification::UnsupportedAdmin )
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 )
const TAO_Notify_QoSAdmin_iqos_admin (void) const

Protected Attributes

ACE_Locklock_
 The locking strategy. More...

CORBA::Boolean destory_child_POAs_
 Flag to tell our destructor if we should destroy the CA and SA POA's. More...

TAO_Notify_EventChannelFactory_ichannel_factory_
 The factory that created us. More...

PortableServer::POA_var default_POA_
 The default POA in which we activate objects that don't have ids' pre-assigned. More...

PortableServer::POA_var my_POA_
 The POA in which i live. More...

PortableServer::POA_var CA_POA_
 The POA in which we should activate ConsumerAdmins in. We create and own this. More...

PortableServer::POA_var SA_POA_
 The POA in which we should activate SupplierAdmins in. We create and own this. More...

CosNotifyChannelAdmin::ChannelID channel_id_
 The ID assigned to this channel. More...

TAO_Notify_CO_Factorychannel_objects_factory_
 The factory for channel objects. More...

TAO_Notify_POA_Factorypoa_factory_
 The factory for POA based containers. More...

TAO_Notify_EMO_Factoryevent_manager_objects_factory_
 Event manager objects factory,. More...

TAO_Notify_ID_Pool_Ex< CosNotifyChannelAdmin::AdminID,
CosNotifyChannelAdmin::AdminIDSeq
consumer_admin_ids_
 Id generator for consumer admins. More...

TAO_Notify_ID_Pool_Ex< CosNotifyChannelAdmin::AdminID,
CosNotifyChannelAdmin::AdminIDSeq
supplier_admin_ids_
 Id generator for supplier admins. More...

const CosNotifyChannelAdmin::InterFilterGroupOperator default_op_
 Default InterFilterGroupOperator operator used when creating the default ConsumerAdmin and SupplierAdmin. More...

const CosNotifyChannelAdmin::AdminID default_id_
 Default id's to CosEventChannelAdmin::ConsumerAdmin, SupplierAdmin. More...

TAO_Notify_QoSAdmin_i qos_admin_
 Handle QoS admin methods. More...

TAO_Notify_Event_Managerevent_manager_
 The event manager. More...

TAO_Notify_EventListener_Listevent_listener_list_
 The list of group event listeners that have registered with us. More...


Detailed Description

TAO_Notify_EventChannel_i.

This class handles all the object factory functionality.All the event routing is handled by its contained Event Manager class. = MISC. NOTES This class creates and owns 2 child POA's. one to contain CA's and the other for SA's. Now, a Channel object can be destoyed in 2 ways - as a side effect of its parent POA being destroyed or if this class's <destroy> method is invoked. If the object is being destroyed as a result of its Parent POA being destroyed, it is illegal to destroy a childPOA because, the root poa destruction will destroy all child poa's. So in the destructor we conditionally check if the child POAs should be destroyed explicitly or not.


Constructor & Destructor Documentation

TAO_Notify_EventChannel_i::TAO_Notify_EventChannel_i TAO_Notify_EventChannelFactory_i   my_factory
 

Constructor. <channel_factory> is the parent.

TAO_Notify_EventChannel_i::~TAO_Notify_EventChannel_i void    [virtual]
 

Destructor.


Member Function Documentation

void TAO_Notify_EventChannel_i::consumer_admin_destroyed CosNotifyChannelAdmin::AdminID    CA_ID
 

This id is no longer in use.It can be reused by <consumer_admin_ids_>.

CosNotifyChannelAdmin::ConsumerAdmin_ptr TAO_Notify_EventChannel_i::default_consumer_admin ACE_ENV_SINGLE_ARG_DECL    throw ( CORBA::SystemException ) [virtual]
 

CosNotifyFilter::FilterFactory_ptr TAO_Notify_EventChannel_i::default_filter_factory ACE_ENV_SINGLE_ARG_DECL    throw ( CORBA::SystemException ) [virtual]
 

CosNotifyChannelAdmin::SupplierAdmin_ptr TAO_Notify_EventChannel_i::default_supplier_admin ACE_ENV_SINGLE_ARG_DECL    throw ( CORBA::SystemException ) [virtual]
 

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

CosEventChannelAdmin::ConsumerAdmin_ptr TAO_Notify_EventChannel_i::for_consumers ACE_ENV_SINGLE_ARG_DECL    throw ( CORBA::SystemException ) [virtual]
 

CosEventChannelAdmin::SupplierAdmin_ptr TAO_Notify_EventChannel_i::for_suppliers ACE_ENV_SINGLE_ARG_DECL    throw ( CORBA::SystemException ) [virtual]
 

CosNotification::AdminProperties * TAO_Notify_EventChannel_i::get_admin ACE_ENV_SINGLE_ARG_DECL    throw ( CORBA::SystemException ) [virtual]
 

CosNotifyChannelAdmin::AdminIDSeq * TAO_Notify_EventChannel_i::get_all_consumeradmins ACE_ENV_SINGLE_ARG_DECL    throw ( CORBA::SystemException ) [virtual]
 

CosNotifyChannelAdmin::AdminIDSeq * TAO_Notify_EventChannel_i::get_all_supplieradmins ACE_ENV_SINGLE_ARG_DECL    throw ( CORBA::SystemException ) [virtual]
 

CosNotifyChannelAdmin::ConsumerAdmin_ptr TAO_Notify_EventChannel_i::get_consumeradmin CosNotifyChannelAdmin::AdminID id    ACE_ENV_ARG_DECL throw ( CORBA::SystemException, CosNotifyChannelAdmin::AdminNotFound ) [virtual]
 

PortableServer::POA_ptr TAO_Notify_EventChannel_i::get_default_POA void   
 

Get the default POA.

TAO_Notify_Event_Manager * TAO_Notify_EventChannel_i::get_event_manager void   
 

Get the event manager.

CosNotification::QoSProperties * TAO_Notify_EventChannel_i::get_qos ACE_ENV_SINGLE_ARG_DECL    throw ( CORBA::SystemException ) [virtual]
 

CosNotifyChannelAdmin::EventChannel_ptr TAO_Notify_EventChannel_i::get_ref ACE_ENV_SINGLE_ARG_DECL   
 

Get the CORBA object for this servant.

CosNotifyChannelAdmin::SupplierAdmin_ptr TAO_Notify_EventChannel_i::get_supplieradmin CosNotifyChannelAdmin::AdminID id    ACE_ENV_ARG_DECL throw ( CORBA::SystemException, CosNotifyChannelAdmin::AdminNotFound ) [virtual]
 

void TAO_Notify_EventChannel_i::init CosNotifyChannelAdmin::ChannelID    channel_id,
const CosNotification::QoSProperties   initial_qos,
const CosNotification::AdminProperties   initial_admin,
PortableServer::POA_ptr    default_POA,
PortableServer::POA_ptr my_POA    ACE_ENV_ARG_DECL
 

Initialize this object.

checks if the <initial_qos> and <initial admin> are valid. creates default filter, consumer admin and supplier admin.

CosNotifyChannelAdmin::EventChannelFactory_ptr TAO_Notify_EventChannel_i::MyFactory ACE_ENV_SINGLE_ARG_DECL    throw ( CORBA::SystemException ) [virtual]
 

CosNotifyChannelAdmin::ConsumerAdmin_ptr TAO_Notify_EventChannel_i::new_for_consumers CosNotifyChannelAdmin::InterFilterGroupOperator    op,
CosNotifyChannelAdmin::AdminID_out id    ACE_ENV_ARG_DECL
throw ( CORBA::SystemException ) [virtual]
 

CosNotifyChannelAdmin::SupplierAdmin_ptr TAO_Notify_EventChannel_i::new_for_suppliers CosNotifyChannelAdmin::InterFilterGroupOperator    op,
CosNotifyChannelAdmin::AdminID_out id    ACE_ENV_ARG_DECL
throw ( CORBA::SystemException ) [virtual]
 

const TAO_Notify_QoSAdmin_i & TAO_Notify_EventChannel_i::qos_admin void    const
 

void TAO_Notify_EventChannel_i::set_admin const CosNotification::AdminProperties &admin    ACE_ENV_ARG_DECL throw ( CORBA::SystemException, CosNotification::UnsupportedAdmin ) [virtual]
 

void TAO_Notify_EventChannel_i::set_qos const CosNotification::QoSProperties &qos    ACE_ENV_ARG_DECL throw ( CORBA::SystemException, CosNotification::UnsupportedQoS ) [virtual]
 

void TAO_Notify_EventChannel_i::supplier_admin_destroyed CosNotifyChannelAdmin::AdminID    SA_ID
 

This id is no longer in use.It can be reused by <supplier_admin_ids_>.

void TAO_Notify_EventChannel_i::unregister_listener TAO_Notify_EventListener *group_listener    ACE_ENV_ARG_DECL
 

Consumer Admin's are Group Listeners that are registered automatically with the EC when a ConsumerAdmin is created. When a consumer is destroyed, it asks the EC to unregister itself.

void TAO_Notify_EventChannel_i::validate_qos const CosNotification::QoSProperties   required_qos,
CosNotification::NamedPropertyRangeSeq_out available_qos    ACE_ENV_ARG_DECL
throw ( CORBA::SystemException, CosNotification::UnsupportedQoS ) [virtual]
 


Member Data Documentation

PortableServer::POA_var TAO_Notify_EventChannel_i::CA_POA_ [protected]
 

The POA in which we should activate ConsumerAdmins in. We create and own this.

TAO_Notify_EventChannelFactory_i* TAO_Notify_EventChannel_i::channel_factory_ [protected]
 

The factory that created us.

CosNotifyChannelAdmin::ChannelID TAO_Notify_EventChannel_i::channel_id_ [protected]
 

The ID assigned to this channel.

TAO_Notify_CO_Factory* TAO_Notify_EventChannel_i::channel_objects_factory_ [protected]
 

The factory for channel objects.

TAO_Notify_ID_Pool_Ex<CosNotifyChannelAdmin::AdminID, CosNotifyChannelAdmin::AdminIDSeq> TAO_Notify_EventChannel_i::consumer_admin_ids_ [protected]
 

Id generator for consumer admins.

const CosNotifyChannelAdmin::AdminID TAO_Notify_EventChannel_i::default_id_ [protected]
 

Default id's to CosEventChannelAdmin::ConsumerAdmin, SupplierAdmin.

const CosNotifyChannelAdmin::InterFilterGroupOperator TAO_Notify_EventChannel_i::default_op_ [protected]
 

Default InterFilterGroupOperator operator used when creating the default ConsumerAdmin and SupplierAdmin.

PortableServer::POA_var TAO_Notify_EventChannel_i::default_POA_ [protected]
 

The default POA in which we activate objects that don't have ids' pre-assigned.

CORBA::Boolean TAO_Notify_EventChannel_i::destory_child_POAs_ [protected]
 

Flag to tell our destructor if we should destroy the CA and SA POA's.

default is false, the parent poa destruction will remove these. set to true if the <destroy> method is invoked.

TAO_Notify_EventListener_List* TAO_Notify_EventChannel_i::event_listener_list_ [protected]
 

The list of group event listeners that have registered with us.

TAO_Notify_Event_Manager* TAO_Notify_EventChannel_i::event_manager_ [protected]
 

The event manager.

TAO_Notify_EMO_Factory* TAO_Notify_EventChannel_i::event_manager_objects_factory_ [protected]
 

Event manager objects factory,.

ACE_Lock* TAO_Notify_EventChannel_i::lock_ [protected]
 

The locking strategy.

PortableServer::POA_var TAO_Notify_EventChannel_i::my_POA_ [protected]
 

The POA in which i live.

TAO_Notify_POA_Factory* TAO_Notify_EventChannel_i::poa_factory_ [protected]
 

The factory for POA based containers.

TAO_Notify_QoSAdmin_i TAO_Notify_EventChannel_i::qos_admin_ [protected]
 

Handle QoS admin methods.

PortableServer::POA_var TAO_Notify_EventChannel_i::SA_POA_ [protected]
 

The POA in which we should activate SupplierAdmins in. We create and own this.

TAO_Notify_ID_Pool_Ex<CosNotifyChannelAdmin::AdminID, CosNotifyChannelAdmin::AdminIDSeq> TAO_Notify_EventChannel_i::supplier_admin_ids_ [protected]
 

Id generator for supplier admins.


The documentation for this class was generated from the following files:
Generated on Thu Oct 10 21:28:21 2002 for TAO_CosNotification by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001