Event_Map_T.inl

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // Event_Map_T.inl,v 1.8 2005/11/14 22:03:49 ossama Exp
00004 
00005 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00006 
00007 template <class PROXY, class ACE_LOCK> ACE_INLINE  TAO_Notify_Event_Map_Entry_T<PROXY>*
00008 TAO_Notify_Event_Map_T<PROXY, ACE_LOCK>::find (const TAO_Notify_EventType& event_type ACE_ENV_ARG_DECL_NOT_USED)
00009 {
00010   TAO_Notify_Event_Map_Entry_T<PROXY>* entry;
00011 
00012   ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, 0);
00013 
00014   if (map_.find (event_type, entry) == 0)
00015     {
00016       entry->_incr_refcnt ();
00017       return entry;
00018     }
00019   else
00020     return 0;
00021 }
00022 
00023 template <class PROXY, class ACE_LOCK> ACE_INLINE void
00024 TAO_Notify_Event_Map_T<PROXY, ACE_LOCK>::release (ENTRY* entry)
00025 {
00026   ACE_WRITE_GUARD (ACE_LOCK, ace_mon, this->lock_);
00027 
00028   if (entry->_decr_refcnt () == 0)
00029     delete entry;
00030 }
00031 
00032 template <class PROXY, class ACE_LOCK>  ACE_INLINE  ACE_TYPENAME TAO_Notify_Event_Map_Entry_T<PROXY>::COLLECTION*
00033 TAO_Notify_Event_Map_T<PROXY, ACE_LOCK>::broadcast_collection (void)
00034 {
00035   return this->broadcast_entry_.collection ();
00036 }
00037 
00038 template <class PROXY, class ACE_LOCK>  ACE_INLINE  ACE_TYPENAME TAO_Notify_Event_Map_Entry_T<PROXY>::COLLECTION*
00039 TAO_Notify_Event_Map_T<PROXY, ACE_LOCK>::updates_collection (void)
00040 {
00041   return this->updates_entry_.collection ();
00042 }
00043 
00044 template <class PROXY, class ACE_LOCK> ACE_INLINE int
00045 TAO_Notify_Event_Map_T<PROXY, ACE_LOCK>::proxy_count (void)
00046 {
00047   return this->proxy_count_;
00048 }
00049 
00050 template <class PROXY, class ACE_LOCK> ACE_INLINE const TAO_Notify_EventTypeSeq&
00051 TAO_Notify_Event_Map_T<PROXY, ACE_LOCK>::event_types (void)
00052 {
00053   return this->event_types_;
00054 }
00055 
00056 TAO_END_VERSIONED_NAMESPACE_DECL

Generated on Thu Nov 9 13:24:10 2006 for TAO_CosNotification by doxygen 1.3.6