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 ACE_ENV_ARG_DECL) throw ( CORBA::SystemException, CosNotifyFilter::UnsupportedFilterableData )
 See if any of the filters match.
CORBA::Boolean match (const TAO_Notify_Event *event ACE_ENV_ARG_DECL) throw ( CORBA::SystemException, CosNotifyFilter::UnsupportedFilterableData )
 See if any of the filters match.
virtual CosNotifyFilter::FilterID add_filter (CosNotifyFilter::Filter_ptr new_filter ACE_ENV_ARG_DECL) throw (CORBA::SystemException)
virtual void remove_filter (CosNotifyFilter::FilterID filter ACE_ENV_ARG_DECL) throw ( CORBA::SystemException, CosNotifyFilter::FilterNotFound )
virtual CosNotifyFilter::Filter_ptr get_filter (CosNotifyFilter::FilterID filter ACE_ENV_ARG_DECL) throw ( CORBA::SystemException, CosNotifyFilter::FilterNotFound )
virtual CosNotifyFilter::FilterIDSeqget_all_filters (ACE_ENV_SINGLE_ARG_DECL) throw ( CORBA::SystemException )
virtual void remove_all_filters (ACE_ENV_SINGLE_ARG_DECL) throw ( CORBA::SystemException )
virtual void save_persistent (TAO_Notify::Topology_Saver &saver ACE_ENV_ARG_DECL)
virtual TAO_Notify::Topology_Objectload_child (const ACE_CString &type, CORBA::Long id, const TAO_Notify::NVPList &attrs ACE_ENV_ARG_DECL)

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.

Detailed Description

FilterAdmin interface methods implementation.


Member Typedef Documentation

typedef ACE_Hash_Map_Manager<CosNotifyFilter::FilterID, CosNotifyFilter::Filter_var, ACE_SYNCH_NULL_MUTEX> TAO_Notify_FilterAdmin::FILTER_LIST [private]
 


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  ACE_ENV_ARG_DECL  )  throw (CORBA::SystemException) [virtual]
 

CosNotifyFilter::FilterIDSeq * TAO_Notify_FilterAdmin::get_all_filters ACE_ENV_SINGLE_ARG_DECL   )  throw ( CORBA::SystemException ) [virtual]
 

virtual CosNotifyFilter::Filter_ptr TAO_Notify_FilterAdmin::get_filter CosNotifyFilter::FilterID filter  ACE_ENV_ARG_DECL  )  throw ( CORBA::SystemException, CosNotifyFilter::FilterNotFound ) [virtual]
 

TAO_Notify::Topology_Object * TAO_Notify_FilterAdmin::load_child const ACE_CString type,
CORBA::Long  id,
const TAO_Notify::NVPList &attrs  ACE_ENV_ARG_DECL
[virtual]
 

CORBA::Boolean TAO_Notify_FilterAdmin::match const TAO_Notify_Event *event  ACE_ENV_ARG_DECL  )  throw ( CORBA::SystemException, CosNotifyFilter::UnsupportedFilterableData )
 

See if any of the filters match.

CORBA::Boolean TAO_Notify_FilterAdmin::match const TAO_Notify_Event::Ptr &event  ACE_ENV_ARG_DECL  )  throw ( CORBA::SystemException, CosNotifyFilter::UnsupportedFilterableData )
 

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 ACE_ENV_SINGLE_ARG_DECL   )  throw ( CORBA::SystemException ) [virtual]
 

virtual void TAO_Notify_FilterAdmin::remove_filter CosNotifyFilter::FilterID filter  ACE_ENV_ARG_DECL  )  throw ( CORBA::SystemException, CosNotifyFilter::FilterNotFound ) [virtual]
 

void TAO_Notify_FilterAdmin::save_persistent TAO_Notify::Topology_Saver &saver  ACE_ENV_ARG_DECL  )  [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 ACE_ENV_ARG_PARAMETER); ACE_CHECK; for all children { if (want_all_children || child.is_changed()) { child.save_persistent(saver ACE_ENV_ARG_PARAMETER); ACE_CHECK; } } for all deleted children { saver.delete_child(child_type, child_id); } saver.end_object(this->id(), type ACE_ENV_ARG_PARAMETER); )

Implements TAO_Notify::Topology_Savable.


Member Data Documentation

TAO_Notify_ID_Factory TAO_Notify_FilterAdmin::filter_ids_ [private]
 

Id generator for proxy suppliers.

FILTER_LIST TAO_Notify_FilterAdmin::filter_list_ [private]
 

List of filters.

TAO_SYNCH_MUTEX TAO_Notify_FilterAdmin::lock_ [private]
 

Mutex to serialize access to data members.

Reimplemented from TAO_Notify_Object.


The documentation for this class was generated from the following files:
Generated on Wed Nov 23 16:23:10 2005 for TAO_CosNotification by  doxygen 1.4.5