TAO_CosNotification 4.0.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Attributes | List of all members
TAO_Notify_Event_Map_T< PROXY, ACE_LOCK > Class Template Reference

Template class for storing the collection of Proxys. More...

#include <Event_Map_T.h>

Collaboration diagram for TAO_Notify_Event_Map_T< PROXY, ACE_LOCK >:
Collaboration graph
[legend]

Public Types

typedef TAO_Notify_Event_Map_Entry_T< PROXY > ENTRY
 

Public Member Functions

 TAO_Notify_Event_Map_T ()
 Constructor.
 
 ~TAO_Notify_Event_Map_T ()
 Destructor.
 
void init ()
 Init.
 
void connect (PROXY *proxy)
 Connect a PROXY.
 
void disconnect (PROXY *proxy)
 Disconnect a PROXY.
 
int insert (PROXY *proxy, const TAO_Notify_EventType &event_type)
 
int remove (PROXY *proxy, const TAO_Notify_EventType &event_type)
 
ENTRYfind (const TAO_Notify_EventType &event_type)
 
ENTRY::COLLECTIONbroadcast_collection ()
 Find the default broadcast list.
 
ENTRY::COLLECTIONupdates_collection ()
 Find the update list. This is all the PROXYS connected to this Map.
 
void release (ENTRY *entry)
 Release the usage count on this entry.
 
const TAO_Notify_EventTypeSeqevent_types ()
 Access all the event types available.
 
int proxy_count ()
 Access number of proxys connected in all.
 

Protected Attributes

ACE_Hash_Map_Manager< TAO_Notify_EventType, ENTRY *, ACE_SYNCH_NULL_MUTEXmap_
 The Map that stores eventtype to entry mapping.
 
ACE_LOCK lock_
 The lock to use.
 
int proxy_count_
 Count of proxys connected.
 
ENTRY broadcast_entry_
 The default broadcast list for EventType::special.
 
ENTRY updates_entry_
 Update Entry - Keeps a list of all PROXY's connected to this Map. Updates are send to this list.
 
TAO_Notify_EventTypeSeq event_types_
 The event types that are available in this map.
 

Detailed Description

template<class PROXY, class ACE_LOCK>
class TAO_Notify_Event_Map_T< PROXY, ACE_LOCK >

Template class for storing the collection of Proxys.

Member Typedef Documentation

◆ ENTRY

template<class PROXY , class ACE_LOCK >
typedef TAO_Notify_Event_Map_Entry_T<PROXY> TAO_Notify_Event_Map_T< PROXY, ACE_LOCK >::ENTRY

Constructor & Destructor Documentation

◆ TAO_Notify_Event_Map_T()

template<class PROXY , class ACE_LOCK >
TAO_Notify_Event_Map_T< PROXY, ACE_LOCK >::TAO_Notify_Event_Map_T ( )

Constructor.

◆ ~TAO_Notify_Event_Map_T()

template<class PROXY , class ACE_LOCK >
TAO_Notify_Event_Map_T< PROXY, ACE_LOCK >::~TAO_Notify_Event_Map_T ( )

Destructor.

Member Function Documentation

◆ broadcast_collection()

template<class PROXY , class ACE_LOCK >
TAO_Notify_Event_Map_Entry_T< PROXY >::COLLECTION * TAO_Notify_Event_Map_T< PROXY, ACE_LOCK >::broadcast_collection ( )

Find the default broadcast list.

◆ connect()

template<class PROXY , class ACE_LOCK >
void TAO_Notify_Event_Map_T< PROXY, ACE_LOCK >::connect ( PROXY * proxy)

Connect a PROXY.

◆ disconnect()

template<class PROXY , class ACE_LOCK >
void TAO_Notify_Event_Map_T< PROXY, ACE_LOCK >::disconnect ( PROXY * proxy)

Disconnect a PROXY.

◆ event_types()

template<class PROXY , class ACE_LOCK >
const TAO_Notify_EventTypeSeq & TAO_Notify_Event_Map_T< PROXY, ACE_LOCK >::event_types ( )

Access all the event types available.

◆ find()

template<class PROXY , class ACE_LOCK >
TAO_Notify_Event_Map_Entry_T< PROXY > * TAO_Notify_Event_Map_T< PROXY, ACE_LOCK >::find ( const TAO_Notify_EventType & event_type)

Find the collection mapped to the <event_type> The usage_count on the entry returned is incremented.

◆ init()

template<class PROXY , class ACE_LOCK >
void TAO_Notify_Event_Map_T< PROXY, ACE_LOCK >::init ( )

Init.

◆ insert()

template<class PROXY , class ACE_LOCK >
int TAO_Notify_Event_Map_T< PROXY, ACE_LOCK >::insert ( PROXY * proxy,
const TAO_Notify_EventType & event_type )

Associate PROXY and event_type. Returns 1 if <event_type> is being seem for the 1st time otherwise returns 0. Returns -1 on error.

◆ proxy_count()

template<class PROXY , class ACE_LOCK >
int TAO_Notify_Event_Map_T< PROXY, ACE_LOCK >::proxy_count ( )

Access number of proxys connected in all.

◆ release()

template<class PROXY , class ACE_LOCK >
void TAO_Notify_Event_Map_T< PROXY, ACE_LOCK >::release ( ENTRY * entry)

Release the usage count on this entry.

◆ remove()

template<class PROXY , class ACE_LOCK >
int TAO_Notify_Event_Map_T< PROXY, ACE_LOCK >::remove ( PROXY * proxy,
const TAO_Notify_EventType & event_type )

Remove association of PROXY and event_type. Returns 1 if <event_type> is being seem for the last time otherwise returns 0. Returns -1 on error.

Exec a strategy for removing entries. Strategy 1: remove_immediately Strategy 2: remove a bunch_after crossing a threshold Strategy 3: use cached allocator and 1

◆ updates_collection()

template<class PROXY , class ACE_LOCK >
TAO_Notify_Event_Map_Entry_T< PROXY >::COLLECTION * TAO_Notify_Event_Map_T< PROXY, ACE_LOCK >::updates_collection ( )

Find the update list. This is all the PROXYS connected to this Map.

Member Data Documentation

◆ broadcast_entry_

template<class PROXY , class ACE_LOCK >
ENTRY TAO_Notify_Event_Map_T< PROXY, ACE_LOCK >::broadcast_entry_
protected

The default broadcast list for EventType::special.

◆ event_types_

template<class PROXY , class ACE_LOCK >
TAO_Notify_EventTypeSeq TAO_Notify_Event_Map_T< PROXY, ACE_LOCK >::event_types_
protected

The event types that are available in this map.

◆ lock_

template<class PROXY , class ACE_LOCK >
ACE_LOCK TAO_Notify_Event_Map_T< PROXY, ACE_LOCK >::lock_
protected

The lock to use.

◆ map_

template<class PROXY , class ACE_LOCK >
ACE_Hash_Map_Manager<TAO_Notify_EventType, ENTRY*, ACE_SYNCH_NULL_MUTEX> TAO_Notify_Event_Map_T< PROXY, ACE_LOCK >::map_
protected

The Map that stores eventtype to entry mapping.

◆ proxy_count_

template<class PROXY , class ACE_LOCK >
int TAO_Notify_Event_Map_T< PROXY, ACE_LOCK >::proxy_count_
protected

Count of proxys connected.

◆ updates_entry_

template<class PROXY , class ACE_LOCK >
ENTRY TAO_Notify_Event_Map_T< PROXY, ACE_LOCK >::updates_entry_
protected

Update Entry - Keeps a list of all PROXY's connected to this Map. Updates are send to this list.


The documentation for this class was generated from the following files: