TAO_CosNotification  2.0.8
Public Member Functions | Private Types | Private Member Functions | Private Attributes
TAO_Notify_FilterAdmin Class Reference

FilterAdmin interface methods implementation. More...

#include <FilterAdmin.h>

Inheritance diagram for TAO_Notify_FilterAdmin:
Inheritance graph
[legend]
Collaboration diagram for TAO_Notify_FilterAdmin:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 TAO_Notify_FilterAdmin (void)
 Constructor.
virtual ~TAO_Notify_FilterAdmin (void)
 Destructor.
CORBA::Boolean match (const TAO_Notify_Event::Ptr &event)
 See if any of the filters match.
CORBA::Boolean match (const TAO_Notify_Event *event)
 See if any of the filters match.
virtual CosNotifyFilter::FilterID add_filter (CosNotifyFilter::Filter_ptr new_filter)
virtual void remove_filter (CosNotifyFilter::FilterID filter)
virtual CosNotifyFilter::Filter_ptr get_filter (CosNotifyFilter::FilterID filter)
virtual
CosNotifyFilter::FilterIDSeq
get_all_filters (void)
virtual void remove_all_filters (void)
virtual void save_persistent (TAO_Notify::Topology_Saver &saver)
virtual
TAO_Notify::Topology_Object
load_child (const ACE_CString &type, CORBA::Long id, const TAO_Notify::NVPList &attrs)
 Create a child of the appropriate type and return it.
void event_channel (TAO_Notify_EventChannel *ec)

Private Types

typedef ACE_Hash_Map_Manager
< CosNotifyFilter::FilterID,
CosNotifyFilter::Filter_var,
ACE_SYNCH_NULL_MUTEX
FILTER_LIST

Private Member Functions

virtual void release (void)
 The release method is called when the refcount reaches 0.

Private Attributes

TAO_SYNCH_MUTEX lock_
 Mutex to serialize access to data members.
FILTER_LIST filter_list_
 List of filters.
TAO_Notify_ID_Factory filter_ids_
 Id generator for proxy suppliers.
TAO_Notify_EventChannel::Ptr ec_

Detailed Description

FilterAdmin interface methods implementation.


Member Typedef Documentation


Constructor & Destructor Documentation

TAO_Notify_FilterAdmin::TAO_Notify_FilterAdmin ( void  )

Constructor.

TAO_Notify_FilterAdmin::~TAO_Notify_FilterAdmin ( void  ) [virtual]

Destructor.


Member Function Documentation

CosNotifyFilter::FilterID TAO_Notify_FilterAdmin::add_filter ( CosNotifyFilter::Filter_ptr  new_filter) [virtual]
void TAO_Notify_FilterAdmin::event_channel ( TAO_Notify_EventChannel ec)
CosNotifyFilter::FilterIDSeq * TAO_Notify_FilterAdmin::get_all_filters ( void  ) [virtual]
CosNotifyFilter::Filter_ptr TAO_Notify_FilterAdmin::get_filter ( CosNotifyFilter::FilterID  filter) [virtual]
TAO_Notify::Topology_Object * TAO_Notify_FilterAdmin::load_child ( const ACE_CString type,
CORBA::Long  id,
const TAO_Notify::NVPList attrs 
) [virtual]

Create a child of the appropriate type and return it.

Use "type" as passed in to determine what kind of child (supporting the Topology_Object interface) to create and return. Inform it of its new ID.

Reimplemented from TAO_Notify::Topology_Object.

CORBA::Boolean TAO_Notify_FilterAdmin::match ( const TAO_Notify_Event::Ptr event)

See if any of the filters match.

CORBA::Boolean TAO_Notify_FilterAdmin::match ( const TAO_Notify_Event event)

See if any of the filters match.

void TAO_Notify_FilterAdmin::release ( void  ) [private, virtual]

The release method is called when the refcount reaches 0.

Implements TAO_Notify_Refcountable.

void TAO_Notify_FilterAdmin::remove_all_filters ( void  ) [virtual]
void TAO_Notify_FilterAdmin::remove_filter ( CosNotifyFilter::FilterID  filter) [virtual]
void TAO_Notify_FilterAdmin::save_persistent ( TAO_Notify::Topology_Saver saver) [virtual]

Save our state to a Topology_Saver.

Use the methods of a Topology_Saver to store all information we want persisted. This function is called by our parent, which gives us a saver to use. In turn, we must call this function on all of our children. The implementation should look like: bool change = this->self_changed_; this->self_changed_ = false; this->children_changed_ = false; if (is_persistent ()) { bool want_all_children = saver.begin_object( this->id(), type, attrs, change); for all children { if (want_all_children || child.is_changed()) { child.save_persistent(saver); } } for all deleted children { saver.delete_child(child_type, child_id); } saver.end_object(this->id(), type); )

Implements TAO_Notify::Topology_Savable.


Member Data Documentation

Id generator for proxy suppliers.

List of filters.

Mutex to serialize access to data members.

Reimplemented from TAO_Notify_Object.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines