summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Manager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Manager.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Manager.cpp194
1 files changed, 0 insertions, 194 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Manager.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Manager.cpp
deleted file mode 100644
index a2628852f52..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Manager.cpp
+++ /dev/null
@@ -1,194 +0,0 @@
-// $Id$
-
-#include "orbsvcs/ESF/ESF_Proxy_Collection.h"
-#include "Notify_Event_Manager.h"
-#include "Notify_Factory.h"
-#include "Notify_Worker_Task.h"
-#include "Notify_Event_Manager_Objects_Factory.h"
-#include "Notify_Update_Dispatch_Command.h"
-#include "Notify_AdminProperties.h"
-#include "Notify_QoSAdmin_i.h"
-#include "Notify_EventChannel_i.h"
-
-#if ! defined (__ACE_INLINE__)
-#include "Notify_Event_Manager.i"
-#endif /* __ACE_INLINE__ */
-
-ACE_RCSID(Notify, Notify_Event_Manager, "$Id$")
-
-TAO_Notify_Event_Manager::TAO_Notify_Event_Manager (TAO_Notify_EventChannel_i* event_channel, TAO_Notify_EMO_Factory* emo_factory)
- :event_channel_ (event_channel),
- event_map_ (0),
- event_processor_ (0),
- updates_dispatching_task_ (0),
- emo_factory_ (emo_factory),
- admin_properties_ (0)
-{
-}
-
-TAO_Notify_Event_Manager::~TAO_Notify_Event_Manager ()
-{
- delete this->event_map_;
- delete this->event_processor_;
- delete this->lock_;
- delete this->admin_properties_;
-
- this->emo_factory_->destroy_updates_task (this->updates_dispatching_task_);
-}
-
-void
-TAO_Notify_Event_Manager::init (ACE_ENV_SINGLE_ARG_DECL)
-{
- ACE_NEW_THROW_EX (this->lock_,
- ACE_Lock_Adapter<TAO_SYNCH_MUTEX> (),
- CORBA::NO_MEMORY ());
-
- // Create members.
-
- this->admin_properties_ = new TAO_Notify_AdminProperties ();
-
- this->event_map_ =
- this->emo_factory_->create_event_map (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- this->event_processor_ =
- this->emo_factory_->create_event_processor (this ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->updates_dispatching_task_ =
- this->emo_factory_->create_updates_task (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- // Init the objects
- this->event_map_->init (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- TAO_Notify_QoSAdmin_i* qos_admin =
- (TAO_Notify_QoSAdmin_i*)&(this->event_channel_->qos_admin ());
-
- this->event_processor_->init (qos_admin ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (this->updates_dispatching_task_->init_task (
- this->admin_properties_,
- qos_admin) != 0)
- {
- // Some error has ocurred.
- ACE_THROW (CORBA::UNKNOWN ());
- }
-}
-
-void
-TAO_Notify_Event_Manager::shutdown (ACE_ENV_SINGLE_ARG_DECL)
-{
- ACE_GUARD_THROW_EX (ACE_Lock, ace_mon, *this->lock_,
- CORBA::INTERNAL ());
- ACE_CHECK;
-
- this->event_processor_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- this->event_map_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- this->updates_dispatching_task_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_Event_Manager::subscribe_for_events (TAO_Notify_EventListener* event_listener, const CosNotification::EventTypeSeq & added, const CosNotification::EventTypeSeq & removed ACE_ENV_ARG_DECL)
-{
- TAO_Notify_EventType_List added_update, removed_update;
-
- this->event_map_->subscribe_for_events (event_listener, added_update,
- added ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->event_map_->unsubscribe_from_events (event_listener, removed_update,
- removed ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- // if either of the lists are *not* empty, send updates
- if (added_update.is_empty () == 0 || removed_update.is_empty () == 0)
- this->dispatch_updates_i (this->event_map_->subscription_change_listeners (),
- added_update, removed_update ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_Event_Manager::update_publication_list (const CosNotification::EventTypeSeq & added, const CosNotification::EventTypeSeq & removed ACE_ENV_ARG_DECL)
-{
- TAO_Notify_EventType_List added_list;
- TAO_Notify_EventType_List removed_list;
-
- this->event_map_->update_publication_list (added, removed,
- added_list, removed_list ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- // if either of the lists are *not* empty, send updates
- if (added_list.is_empty () == 0 || removed_list.is_empty () == 0)
- this->dispatch_updates_i (this->event_map_->publication_change_listeners (),
- added_list, removed_list ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_Event_Manager::update_task_admins (void)
-{
- this->updates_dispatching_task_->update_admin (*this->admin_properties_);
-}
-
-void
-TAO_Notify_Event_Manager::dispatch_updates_i (TAO_Notify_UpdateListener_List* update_listener_list, TAO_Notify_EventType_List& added, TAO_Notify_EventType_List& removed ACE_ENV_ARG_DECL)
-{
- ACE_GUARD_THROW_EX (ACE_Lock, ace_mon, *this->lock_,
- CORBA::INTERNAL ());
-
- TAO_Notify_Update_Worker update_worker (this->updates_dispatching_task_,
- added, removed);
-
- update_listener_list->for_each (&update_worker ACE_ENV_ARG_PARAMETER);
-}
-
-/********************************************************************/
-
-TAO_Notify_Update_Worker::TAO_Notify_Update_Worker (TAO_Notify_Worker_Task * updates_dispatching_task, TAO_Notify_EventType_List& added, TAO_Notify_EventType_List& removed)
- : added_ (added),
- removed_ (removed),
- updates_dispatching_task_ (updates_dispatching_task)
-{
-}
-
-void
-TAO_Notify_Update_Worker::work (TAO_Notify_UpdateListener* listener ACE_ENV_ARG_DECL)
-{
- TAO_Notify_Update_Dispatch_Command* mb =
- new TAO_Notify_Update_Dispatch_Command (listener, this->added_,
- this->removed_);
-
- this->updates_dispatching_task_->process_event (mb ACE_ENV_ARG_PARAMETER);
-}
-
-/********************************************************************/
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-
-template class ACE_Hash_Map_Entry<TAO_Notify_EventType, TAO_Notify_EventListener_List *>;
-template class ACE_Hash_Map_Manager<TAO_Notify_EventType, TAO_Notify_EventListener_List *,TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Manager_Ex<TAO_Notify_EventType, TAO_Notify_EventListener_List *,ACE_Hash<TAO_Notify_EventType>, ACE_Equal_To<TAO_Notify_EventType>,TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Iterator<TAO_Notify_EventType, TAO_Notify_EventListener_List *,TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Iterator_Ex<TAO_Notify_EventType, TAO_Notify_EventListener_List *,ACE_Hash<TAO_Notify_EventType>, ACE_Equal_To<TAO_Notify_EventType>,TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Iterator_Base_Ex<TAO_Notify_EventType, TAO_Notify_EventListener_List *,ACE_Hash<TAO_Notify_EventType>, ACE_Equal_To<TAO_Notify_EventType>,TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Reverse_Iterator<TAO_Notify_EventType, TAO_Notify_EventListener_List *,TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Reverse_Iterator_Ex<TAO_Notify_EventType, TAO_Notify_EventListener_List *,ACE_Hash<TAO_Notify_EventType>, ACE_Equal_To<TAO_Notify_EventType>,TAO_SYNCH_MUTEX>;
-template class ACE_Hash<TAO_Notify_EventType>;
-template class ACE_Equal_To<TAO_Notify_EventType>;
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-
-#pragma instantiate ACE_Hash_Map_Entry<TAO_Notify_EventType, TAO_Notify_EventListener_List *>
-#pragma instantiate ACE_Hash_Map_Manager<TAO_Notify_EventType, TAO_Notify_EventListener_List *,TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Manager_Ex<TAO_Notify_EventType, TAO_Notify_EventListener_List *,ACE_Hash<TAO_Notify_EventType>, ACE_Equal_To<TAO_Notify_EventType>,TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Iterator<TAO_Notify_EventType, TAO_Notify_EventListener_List *,TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Iterator_Ex<TAO_Notify_EventType, TAO_Notify_EventListener_List *,ACE_Hash<TAO_Notify_EventType>, ACE_Equal_To<TAO_Notify_EventType>,TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex<TAO_Notify_EventType, TAO_Notify_EventListener_List *,ACE_Hash<TAO_Notify_EventType>, ACE_Equal_To<TAO_Notify_EventType>,TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Reverse_Iterator<TAO_Notify_EventType, TAO_Notify_EventListener_List *,TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Reverse_Iterator_Ex<TAO_Notify_EventType, TAO_Notify_EventListener_List *,ACE_Hash<TAO_Notify_EventType>, ACE_Equal_To<TAO_Notify_EventType>,TAO_SYNCH_MUTEX>
-#pragma instantiate template ACE_Hash<TAO_Notify_EventType>
-#pragma instantiate template ACE_Equal_To<TAO_Notify_EventType>
-#endif /*ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */