summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Map.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Map.h')
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Map.h150
1 files changed, 0 insertions, 150 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Map.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Map.h
deleted file mode 100644
index 1233c1ee741..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Map.h
+++ /dev/null
@@ -1,150 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-//
-// ============================================================================
-//
-// = LIBRARY
-// ORBSVCS Notification
-//
-// = FILENAME
-// Notify_Event_Map.h
-//
-// = DESCRIPTION
-// Stores information about subscription mappings
-//
-// = AUTHOR
-// Pradeep Gore <pradeep@cs.wustl.edu>
-//
-// ============================================================================
-
-#ifndef TAO_NOTIFY_Event_Map_HEADER_H
-#define TAO_NOTIFY_Event_Map_HEADER_H
-
-#include "ace/pre.h"
-#include "orbsvcs/CosNotificationC.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "orbsvcs/ESF/ESF_Worker.h"
-#include "Notify_Collection.h"
-#include "notify_export.h"
-
-class TAO_Notify_EventListener;
-class TAO_Notify_UpdateListener;
-class TAO_Notify_EventType;
-class TAO_Notify_Collection_Factory;
-class TAO_Notify_EMO_Factory;
-
-class TAO_Notify_Export TAO_Notify_Event_Map
-{
- // = TITLE
- // TAO_Notify_Event_Map
- //
- // = DESCRIPTION
- // This is a compound container consisting of:
- // - A "recipient" map : mapping between an event and its subscriibers
- // - Lists of current events being subscribed, published.
- // - Lists of subscriptions, publications update listeners.
- //
-public:
- TAO_Notify_Event_Map (void);
- // Constructor.
-
- virtual ~TAO_Notify_Event_Map ();
- // Destructor.
-
- void init (CORBA::Environment &ACE_TRY_ENV);
- // Init
-
- void shutdown (CORBA::Environment &ACE_TRY_ENV);
- // Shutdown releases all listeners.
-
- // = Subscribe and Unsubscribe methods.
- void subscribe_for_events (TAO_Notify_EventListener* event_listener, TAO_Notify_EventType_List& update, const CosNotification::EventTypeSeq & added, CORBA::Environment &ACE_TRY_ENV);
-
- void unsubscribe_from_events (TAO_Notify_EventListener* event_listener, TAO_Notify_EventType_List &update, const CosNotification::EventTypeSeq & removed, CORBA::Environment &ACE_TRY_ENV);
-
- // = Publish and Unpublish methods
- // Later:
- void update_publication_list (const CosNotification::EventTypeSeq & added, const CosNotification::EventTypeSeq & removed, TAO_Notify_EventType_List &added_list, TAO_Notify_EventType_List &removed_list, CORBA::Environment &ACE_TRY_ENV);
- // Suppliers can send anonymous requests to the Event Manager to indicate
- // what kind of events they expect to produce.
-
- // = Subscription Updates
- void register_for_subscription_updates (TAO_Notify_UpdateListener* update_listener, CORBA::Environment &ACE_TRY_ENV);
- // Registers the subscription update listener with the Event Manager.
-
- void unregister_from_subscription_updates (TAO_Notify_UpdateListener* update_listener, CORBA::Environment &ACE_TRY_ENV);
- // Unregister from subscription updates.
-
- // = Publication Updates
- void register_for_publication_updates (TAO_Notify_UpdateListener* update_listener, CORBA::Environment &ACE_TRY_ENV);
- // Registers the publication update listener with the Event Manager.
-
- void unregister_from_publication_updates (TAO_Notify_UpdateListener* update_listener, CORBA::Environment &ACE_TRY_ENV);
- // Unregister from publication updates.
-
- // = Subscription list lookup
- int find (TAO_Notify_EventType const & event_type, TAO_Notify_EventListener_List*& event_listener_list);
-
- // = Accessors
- CosNotification::EventTypeSeq* obtain_offered_types(void);
- // Obtain the publication list.
-
- CosNotification::EventTypeSeq* obtain_subscription_types (void);
- // Obtain the subscription list.
-
- TAO_Notify_UpdateListener_List* subscription_change_listeners (void);
- TAO_Notify_UpdateListener_List* publication_change_listeners (void);
- TAO_Notify_EventListener_List* default_subscription_list (void);
-
-protected:
- // = Typedefs
- typedef ACE_Hash_Map_Manager <TAO_Notify_EventType,
- TAO_Notify_EventListener_List*, ACE_SYNCH_MUTEX> EVENT_RECIPIENT_MAP;
-
- // = Data Members
- EVENT_RECIPIENT_MAP event_recipient_map_;
- // 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_EventListener_List* default_subscription_list_;
- // Save a reference to the default list, we don't want to spend time
- // looking for it in the <event_recipient_map>.
-
- TAO_Notify_EventType_List publication_list_;
- // The list of event types that are being currently published by suppliers.
-
- TAO_Notify_EventType_List subscription_list_;
- // 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.
-
- TAO_Notify_UpdateListener_List* subscription_change_listeners_;
- // This is a list of listeners that want to be notified if the subsciptions
- // from consumers changes the <event_recipient_map_> keys.
-
- TAO_Notify_UpdateListener_List* publication_change_listeners_;
- // This is a list of listeners that want to be notified if the publications
- // from suppliers changes the <publication_list_>.
-
- TAO_Notify_EMO_Factory* emo_factory_;
- // Evenet Manager Objects factory.
-
- TAO_Notify_Collection_Factory* collection_factory_;
- // Collection objects factory.
-};
-
-/********************************************************************/
-
-#if defined (__ACE_INLINE__)
-#include "Notify_Event_Map.i"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_Event_Map_HEADER_H */