TAO_CosNotification 2.0.4
Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes
TAO_Notify_ETCL_Filter Class Reference

#include <ETCL_Filter.h>

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

List of all members.

Public Member Functions

 TAO_Notify_ETCL_Filter (PortableServer::POA_ptr poa, const char *constraint_grammar, const TAO_Notify_Object::ID &id)
 Constructor.
virtual ~TAO_Notify_ETCL_Filter (void)
 Destructor.
virtual void save_persistent (TAO_Notify::Topology_Saver &saver)
void load_attrs (const TAO_Notify::NVPList &attrs)
TAO_Notify::Topology_Objectload_child (const ACE_CString &type, CORBA::Long id, const TAO_Notify::NVPList &attrs)
 Create a child of the appropriate type and return it.

Protected Member Functions

virtual char * constraint_grammar (void)
virtual
CosNotifyFilter::ConstraintInfoSeq
add_constraints (const CosNotifyFilter::ConstraintExpSeq &constraint_list)
virtual void modify_constraints (const CosNotifyFilter::ConstraintIDSeq &del_list, const CosNotifyFilter::ConstraintInfoSeq &modify_list)
virtual
CosNotifyFilter::ConstraintInfoSeq
get_constraints (const CosNotifyFilter::ConstraintIDSeq &id_list)
virtual
CosNotifyFilter::ConstraintInfoSeq
get_all_constraints (void)
virtual void remove_all_constraints (void)
virtual void destroy (void)
virtual CORBA::Boolean match (const CORBA::Any &filterable_data)
virtual CORBA::Boolean match_structured (const CosNotification::StructuredEvent &filterable_data)
virtual CORBA::Boolean match_typed (const CosNotification::PropertySeq &filterable_data)
virtual CosNotifyFilter::CallbackID attach_callback (CosNotifyComm::NotifySubscribe_ptr callback)
virtual void detach_callback (CosNotifyFilter::CallbackID callback)
virtual
CosNotifyFilter::CallbackIDSeq
get_callbacks (void)

Private Types

typedef ACE_Hash_Map_Manager
< CosNotifyFilter::ConstraintID,
TAO_Notify_Constraint_Expr
*, ACE_SYNCH_NULL_MUTEX
CONSTRAINT_EXPR_LIST
 A list of the constraints stored in this filter.

Private Member Functions

virtual void release (void)
 Release this object.
void add_constraints_i (const CosNotifyFilter::ConstraintInfoSeq &constraint_info_seq)
void add_constraint_i (const CosNotifyFilter::ConstraintInfo &constraint, CosNotifyFilter::ConstraintID cnstr_id=0)
TAO_Notify_Constraint_Expradd_constraint_i (CosNotifyFilter::ConstraintID cnstr_id)
void remove_all_constraints_i (void)

Private Attributes

TAO_SYNCH_MUTEX lock_
 Lock to serialize access to data members.
CORBA::Long constraint_expr_ids_
 Id generator for ConstraintInfo's.
CONSTRAINT_EXPR_LIST constraint_expr_list_
PortableServer::POA_var poa_
 The POA in which the object is activated.
TAO_Notify_Object::ID id_
 Id assigned to this object.
ACE_CString grammar_

Member Typedef Documentation

A list of the constraints stored in this filter.


Constructor & Destructor Documentation

TAO_Notify_ETCL_Filter::TAO_Notify_ETCL_Filter ( PortableServer::POA_ptr  poa,
const char *  constraint_grammar,
const TAO_Notify_Object::ID id 
)

Constructor.

TAO_Notify_ETCL_Filter::~TAO_Notify_ETCL_Filter ( void  ) [virtual]

Destructor.


Member Function Documentation

void TAO_Notify_ETCL_Filter::add_constraint_i ( const CosNotifyFilter::ConstraintInfo constraint,
CosNotifyFilter::ConstraintID  cnstr_id = 0 
) [private]
TAO_Notify_Constraint_Expr * TAO_Notify_ETCL_Filter::add_constraint_i ( CosNotifyFilter::ConstraintID  cnstr_id) [private]
CosNotifyFilter::ConstraintInfoSeq * TAO_Notify_ETCL_Filter::add_constraints ( const CosNotifyFilter::ConstraintExpSeq constraint_list) [protected, virtual]
void TAO_Notify_ETCL_Filter::add_constraints_i ( const CosNotifyFilter::ConstraintInfoSeq constraint_info_seq) [private]
CosNotifyFilter::CallbackID TAO_Notify_ETCL_Filter::attach_callback ( CosNotifyComm::NotifySubscribe_ptr  callback) [protected, virtual]
char * TAO_Notify_ETCL_Filter::constraint_grammar ( void  ) [protected, virtual]
void TAO_Notify_ETCL_Filter::destroy ( void  ) [protected, virtual]
void TAO_Notify_ETCL_Filter::detach_callback ( CosNotifyFilter::CallbackID  callback) [protected, virtual]
CosNotifyFilter::ConstraintInfoSeq * TAO_Notify_ETCL_Filter::get_all_constraints ( void  ) [protected, virtual]
CosNotifyFilter::CallbackIDSeq * TAO_Notify_ETCL_Filter::get_callbacks ( void  ) [protected, virtual]
CosNotifyFilter::ConstraintInfoSeq * TAO_Notify_ETCL_Filter::get_constraints ( const CosNotifyFilter::ConstraintIDSeq id_list) [protected, virtual]
void TAO_Notify_ETCL_Filter::load_attrs ( const TAO_Notify::NVPList attrs) [virtual]

Load our attributes. Each derived type should call the superclass load first before loading its own attributes.

Reimplemented from TAO_Notify_Object.

TAO_Notify::Topology_Object * TAO_Notify_ETCL_Filter::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_ETCL_Filter::match ( const CORBA::Any &  filterable_data) [protected, virtual]
CORBA::Boolean TAO_Notify_ETCL_Filter::match_structured ( const CosNotification::StructuredEvent filterable_data) [protected, virtual]
CORBA::Boolean TAO_Notify_ETCL_Filter::match_typed ( const CosNotification::PropertySeq filterable_data) [protected, virtual]
void TAO_Notify_ETCL_Filter::modify_constraints ( const CosNotifyFilter::ConstraintIDSeq del_list,
const CosNotifyFilter::ConstraintInfoSeq modify_list 
) [protected, virtual]
void TAO_Notify_ETCL_Filter::release ( void  ) [private, virtual]

Release this object.

Implements TAO_Notify_Refcountable.

void TAO_Notify_ETCL_Filter::remove_all_constraints ( void  ) [protected, virtual]
void TAO_Notify_ETCL_Filter::remove_all_constraints_i ( void  ) [private]
void TAO_Notify_ETCL_Filter::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 ConstraintInfo's.

Id assigned to this object.

Reimplemented from TAO_Notify_Object.

Lock to serialize access to data members.

Reimplemented from TAO_Notify_Object.

The POA in which the object is activated.

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