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

TAO_Notify_Event_Map Class Reference

TAO_Notify_Event_Map. More...

#include <Notify_Event_Map.h>

Collaboration diagram for TAO_Notify_Event_Map:

Collaboration graph
[legend]
List of all members.

Public Methods

 TAO_Notify_Event_Map (TAO_Notify_EMO_Factory *emo_factory)
 Constructor. More...

virtual ~TAO_Notify_Event_Map ()
 Destructor. More...

void init (ACE_ENV_SINGLE_ARG_DECL)
 Init. More...

void shutdown (ACE_ENV_SINGLE_ARG_DECL)
 Shutdown releases all listeners. More...

void subscribe_for_events (TAO_Notify_EventListener *event_listener, TAO_Notify_EventType_List &update, const CosNotification::EventTypeSeq &added ACE_ENV_ARG_DECL)
void unsubscribe_from_events (TAO_Notify_EventListener *event_listener, TAO_Notify_EventType_List &update, const CosNotification::EventTypeSeq &removed ACE_ENV_ARG_DECL)
void update_publication_list (const CosNotification::EventTypeSeq &added, const CosNotification::EventTypeSeq &removed, TAO_Notify_EventType_List &added_list, TAO_Notify_EventType_List &removed_list ACE_ENV_ARG_DECL)
void register_for_subscription_updates (TAO_Notify_UpdateListener *update_listener ACE_ENV_ARG_DECL)
 Registers the subscription update listener with the Event Manager. More...

void unregister_from_subscription_updates (TAO_Notify_UpdateListener *update_listener ACE_ENV_ARG_DECL)
 Unregister from subscription updates. More...

void register_for_publication_updates (TAO_Notify_UpdateListener *update_listener ACE_ENV_ARG_DECL)
 Registers the publication update listener with the Event Manager. More...

void unregister_from_publication_updates (TAO_Notify_UpdateListener *update_listener ACE_ENV_ARG_DECL)
 Unregister from publication updates. More...

int find (TAO_Notify_EventType const &event_type, TAO_Notify_EventListener_List *&event_listener_list)
CosNotification::EventTypeSeqobtain_offered_types (void)
 Obtain the publication list. More...

CosNotification::EventTypeSeqobtain_subscription_types (void)
 Obtain the subscription list. More...

TAO_Notify_UpdateListener_Listsubscription_change_listeners (void)
TAO_Notify_UpdateListener_Listpublication_change_listeners (void)
TAO_Notify_EventListener_Listdefault_subscription_list (void)

Protected Types

typedef ACE_Hash_Map_Manager<
TAO_Notify_EventType, TAO_Notify_EventListener_List *,
TAO_SYNCH_MUTEX
EVENT_RECIPIENT_MAP

Protected Attributes

EVENT_RECIPIENT_MAP event_recipient_map_
 A Map of event types and the groups of event listeners interested in them. More...

TAO_Notify_EventListener_Listdefault_subscription_list_
 Save a reference to the default list, we don't want to spend time looking for it in the <event_recipient_map>. More...

TAO_Notify_EventType_List publication_list_
 The list of event types that are being currently published by suppliers. More...

TAO_Notify_EventType_List subscription_list_
 The list of event types that are being currently subscribed to by consumers. More...

TAO_Notify_UpdateListener_Listsubscription_change_listeners_
 This is a list of listeners that want to be notified if the subsciptions from consumers changes the <event_recipient_map_> keys. More...

TAO_Notify_UpdateListener_Listpublication_change_listeners_
 This is a list of listeners that want to be notified if the publications from suppliers changes the <publication_list_>. More...

TAO_Notify_EMO_Factoryemo_factory_
 Evenet Manager Objects factory. More...

TAO_Notify_Collection_Factorycollection_factory_
 Collection objects factory. More...


Detailed Description

TAO_Notify_Event_Map.

This is a compound container consisting of:


Member Typedef Documentation

typedef ACE_Hash_Map_Manager<TAO_Notify_EventType, TAO_Notify_EventListener_List*, TAO_SYNCH_MUTEX> TAO_Notify_Event_Map::EVENT_RECIPIENT_MAP [protected]
 


Constructor & Destructor Documentation

TAO_Notify_Event_Map::TAO_Notify_Event_Map TAO_Notify_EMO_Factory   emo_factory
 

Constructor.

TAO_Notify_Event_Map::~TAO_Notify_Event_Map   [virtual]
 

Destructor.


Member Function Documentation

TAO_Notify_EventListener_List* TAO_Notify_Event_Map::default_subscription_list void   
 

int TAO_Notify_Event_Map::find TAO_Notify_EventType const &    event_type,
TAO_Notify_EventListener_List *&    event_listener_list
 

void TAO_Notify_Event_Map::init ACE_ENV_SINGLE_ARG_DECL   
 

Init.

CosNotification::EventTypeSeq * TAO_Notify_Event_Map::obtain_offered_types void   
 

Obtain the publication list.

CosNotification::EventTypeSeq * TAO_Notify_Event_Map::obtain_subscription_types void   
 

Obtain the subscription list.

TAO_Notify_UpdateListener_List* TAO_Notify_Event_Map::publication_change_listeners void   
 

void TAO_Notify_Event_Map::register_for_publication_updates TAO_Notify_UpdateListener *update_listener    ACE_ENV_ARG_DECL
 

Registers the publication update listener with the Event Manager.

void TAO_Notify_Event_Map::register_for_subscription_updates TAO_Notify_UpdateListener *update_listener    ACE_ENV_ARG_DECL
 

Registers the subscription update listener with the Event Manager.

void TAO_Notify_Event_Map::shutdown ACE_ENV_SINGLE_ARG_DECL   
 

Shutdown releases all listeners.

void TAO_Notify_Event_Map::subscribe_for_events TAO_Notify_EventListener   event_listener,
TAO_Notify_EventType_List   update,
const CosNotification::EventTypeSeq &added    ACE_ENV_ARG_DECL
 

TAO_Notify_UpdateListener_List* TAO_Notify_Event_Map::subscription_change_listeners void   
 

void TAO_Notify_Event_Map::unregister_from_publication_updates TAO_Notify_UpdateListener *update_listener    ACE_ENV_ARG_DECL
 

Unregister from publication updates.

void TAO_Notify_Event_Map::unregister_from_subscription_updates TAO_Notify_UpdateListener *update_listener    ACE_ENV_ARG_DECL
 

Unregister from subscription updates.

void TAO_Notify_Event_Map::unsubscribe_from_events TAO_Notify_EventListener   event_listener,
TAO_Notify_EventType_List   update,
const CosNotification::EventTypeSeq &removed    ACE_ENV_ARG_DECL
 

void TAO_Notify_Event_Map::update_publication_list const CosNotification::EventTypeSeq   added,
const CosNotification::EventTypeSeq   removed,
TAO_Notify_EventType_List   added_list,
TAO_Notify_EventType_List &removed_list    ACE_ENV_ARG_DECL_NOT_USED
 


Member Data Documentation

TAO_Notify_Collection_Factory* TAO_Notify_Event_Map::collection_factory_ [protected]
 

Collection objects factory.

TAO_Notify_EventListener_List* TAO_Notify_Event_Map::default_subscription_list_ [protected]
 

Save a reference to the default list, we don't want to spend time looking for it in the <event_recipient_map>.

TAO_Notify_EMO_Factory* TAO_Notify_Event_Map::emo_factory_ [protected]
 

Evenet Manager Objects factory.

EVENT_RECIPIENT_MAP TAO_Notify_Event_Map::event_recipient_map_ [protected]
 

A Map of event types and the groups of event listeners interested in them.

The keys of the map are a list of events that consumers have currently subscribed for.

TAO_Notify_UpdateListener_List* TAO_Notify_Event_Map::publication_change_listeners_ [protected]
 

This is a list of listeners that want to be notified if the publications from suppliers changes the <publication_list_>.

TAO_Notify_EventType_List TAO_Notify_Event_Map::publication_list_ [protected]
 

The list of event types that are being currently published by suppliers.

TAO_Notify_UpdateListener_List* TAO_Notify_Event_Map::subscription_change_listeners_ [protected]
 

This is a list of listeners that want to be notified if the subsciptions from consumers changes the <event_recipient_map_> keys.

TAO_Notify_EventType_List TAO_Notify_Event_Map::subscription_list_ [protected]
 

The list of event types that are being currently subscribed to by consumers.

This list is the same as the list of keys in the <event_recepient_map>. We keep a copy of that list here to reduce contention for the map which will be accessed for every event that enters the system.


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