00001 #ifndef _SINGLECONTEXT_H_ 00002 #define _SINGLECONTEXT_H_ 00003 #include "rulecontext.h" 00004 00006 00009 class SingleContext : public RuleContext{ 00011 RuleContext *superContext; 00012 00013 public: 00015 SingleContext(RuleContext* isuperContext); 00017 SingleContext(RuleList &iruleList, RuleContext* isuperContext); 00018 00019 virtual void generateVariableNames(const Node::VariableList &vlist, Node::Assignment &phpAssign, Node::Assignment &tplAssign); 00020 00021 virtual const string getVariableNamePrefix(); 00022 00023 virtual const string getVariableNameSufix(const bool stripControlVariableDollar); 00024 00025 virtual const string generateVariableName(); 00026 00027 virtual void registerSmartyVariable(const string &variable); 00028 00029 virtual void processSmartyAssign(SmartyAssign *smartyAssign); 00030 00031 virtual void processTemplate(Node* tpl) const; 00032 }; 00033 00034 #endif