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>`

Collaboration diagram for TAO_Notify_EventChannel_i:

[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)
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_Manager * | get_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::AdminIDSeq * | get_all_consumeradmins (ACE_ENV_SINGLE_ARG_DECL) throw ( CORBA::SystemException )
virtual CosNotifyChannelAdmin::AdminIDSeq * | get_all_supplieradmins (ACE_ENV_SINGLE_ARG_DECL) throw ( CORBA::SystemException )
virtual CosNotification::QoSProperties * | get_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::AdminProperties * | get_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_i & | qos_admin (void) const
## Protected Attributes
ACE_Lock * | lock_
| The locking strategy. More...
CORBA::Boolean | destory_child_POAs_
TAO_Notify_EventChannelFactory_i * | channel_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_Factory * | channel_objects_factory_
| The factory for channel objects. More...
TAO_Notify_POA_Factory * | poa_factory_
| The factory for POA based containers. More...
TAO_Notify_EMO_Factory * | event_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_Manager * | event_manager_
| The event manager. More...
TAO_Notify_EventListener_List * | event_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:

- Notify_EventChannel_i.h
- Notify_EventChannel_i.cpp