00001 #ifndef _RTREETRIGGEREDRULE_H_ 00002 #define _RTREETRIGGEREDRULE_H_ 00003 00004 #include "rulecontext.h" 00005 00007 class TriggeredRule : public Rule{ 00009 PriorityRulePair *inRulePair; 00011 PriorityRulePair *outRulePair; 00012 public: 00014 TriggeredRule(PriorityRulePair* iinRule, PriorityRulePair* ioutRule); 00015 00016 virtual ~TriggeredRule(); 00017 00018 virtual bool execute(RuleContext* context, List* phpIn, List* phpOut, List* tplOut, Node::Assignment &assign) const; 00019 00020 virtual Rule* copy(); 00021 virtual Rule* substitute(const Node::Assignment &assign); 00022 00023 virtual ostream& print(ostream& os) const; 00024 }; 00025 00026 #endif