summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Notify/Event_Map_T.inl
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Event_Map_T.inl')
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Event_Map_T.inl56
1 files changed, 56 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Event_Map_T.inl b/TAO/orbsvcs/orbsvcs/Notify/Event_Map_T.inl
new file mode 100644
index 00000000000..7f4a466173f
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/Notify/Event_Map_T.inl
@@ -0,0 +1,56 @@
+// -*- C++ -*-
+//
+// $Id$
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+template <class PROXY, class ACE_LOCK> ACE_INLINE TAO_Notify_Event_Map_Entry_T<PROXY>*
+TAO_Notify_Event_Map_T<PROXY, ACE_LOCK>::find (const TAO_Notify_EventType& event_type)
+{
+ TAO_Notify_Event_Map_Entry_T<PROXY>* entry;
+
+ ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, 0);
+
+ if (map_.find (event_type, entry) == 0)
+ {
+ entry->_incr_refcnt ();
+ return entry;
+ }
+ else
+ return 0;
+}
+
+template <class PROXY, class ACE_LOCK> ACE_INLINE void
+TAO_Notify_Event_Map_T<PROXY, ACE_LOCK>::release (ENTRY* entry)
+{
+ ACE_WRITE_GUARD (ACE_LOCK, ace_mon, this->lock_);
+
+ if (entry->_decr_refcnt () == 0)
+ delete entry;
+}
+
+template <class PROXY, class ACE_LOCK> ACE_INLINE typename TAO_Notify_Event_Map_Entry_T<PROXY>::COLLECTION*
+TAO_Notify_Event_Map_T<PROXY, ACE_LOCK>::broadcast_collection (void)
+{
+ return this->broadcast_entry_.collection ();
+}
+
+template <class PROXY, class ACE_LOCK> ACE_INLINE typename TAO_Notify_Event_Map_Entry_T<PROXY>::COLLECTION*
+TAO_Notify_Event_Map_T<PROXY, ACE_LOCK>::updates_collection (void)
+{
+ return this->updates_entry_.collection ();
+}
+
+template <class PROXY, class ACE_LOCK> ACE_INLINE int
+TAO_Notify_Event_Map_T<PROXY, ACE_LOCK>::proxy_count (void)
+{
+ return this->proxy_count_;
+}
+
+template <class PROXY, class ACE_LOCK> ACE_INLINE const TAO_Notify_EventTypeSeq&
+TAO_Notify_Event_Map_T<PROXY, ACE_LOCK>::event_types (void)
+{
+ return this->event_types_;
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL