00001
00002
00003
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