#include <ETCL_Filter.h>
Public Member Functions | |
TAO_Notify_Constraint_Expr (void) | |
virtual | ~TAO_Notify_Constraint_Expr () |
void | save_persistent (TAO_Notify::Topology_Saver &saver) |
void | load_attrs (const TAO_Notify::NVPList &attrs) |
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. | |
Private Member Functions | |
virtual void | release (void) |
Release this object. | |
Private Attributes | |
CosNotifyFilter::ConstraintExp | constr_expr |
TAO_Notify_Constraint_Interpreter | interpreter |
Friends | |
class | TAO_Notify_ETCL_Filter |
Definition at line 37 of file ETCL_Filter.h.
TAO_Notify_Constraint_Expr::TAO_Notify_Constraint_Expr | ( | void | ) |
Definition at line 20 of file ETCL_Filter.cpp.
{ }
TAO_Notify_Constraint_Expr::~TAO_Notify_Constraint_Expr | ( | ) | [virtual] |
Definition at line 25 of file ETCL_Filter.cpp.
{ }
void TAO_Notify_Constraint_Expr::load_attrs | ( | const TAO_Notify::NVPList & | attrs | ) |
Definition at line 50 of file ETCL_Filter.cpp.
{ TAO_Notify_Object::load_attrs (attrs); const char* expr = 0; if (attrs.find ("Expression", expr)) { this->constr_expr.constraint_expr = CORBA::string_dup (expr); } }
TAO_Notify::Topology_Object * TAO_Notify_Constraint_Expr::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.
Definition at line 63 of file ETCL_Filter.cpp.
{ ACE_UNUSED_ARG (id); TAO_Notify::Topology_Object* result = this; if (type == "EventType") { const char* domain = 0; const char* type = 0; attrs.find ("Domain", domain); attrs.find ("Type", type); CORBA::ULong len = this->constr_expr.event_types.length (); if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) reload EventType %d \n"), len + 1)); this->constr_expr.event_types.length (len + 1); this->constr_expr.event_types[len].domain_name = CORBA::string_dup (domain); this->constr_expr.event_types[len].type_name = CORBA::string_dup (type); this->interpreter.build_tree (this->constr_expr); } return result; }
void TAO_Notify_Constraint_Expr::release | ( | void | ) | [private, virtual] |
Release this object.
Definition at line 95 of file ETCL_Filter.cpp.
{ delete this; //@@ inform factory }
void TAO_Notify_Constraint_Expr::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.
Definition at line 31 of file ETCL_Filter.cpp.
{ CosNotification::EventTypeSeq& event_types = this->constr_expr.event_types; CORBA::ULong len = event_types.length (); for (CORBA::ULong i = 0; i < len; ++i) { TAO_Notify::NVPList attrs; bool changed = true; attrs.push_back(TAO_Notify::NVP("Domain", event_types[i].domain_name.in())); attrs.push_back(TAO_Notify::NVP("Type", event_types[i].type_name.in())); saver.begin_object(0, "EventType", attrs, changed); saver.end_object(0, "EventType"); } }
friend class TAO_Notify_ETCL_Filter [friend] |
Definition at line 41 of file ETCL_Filter.h.
Definition at line 66 of file ETCL_Filter.h.
Definition at line 69 of file ETCL_Filter.h.