- const std::string & GetStrError() const { return strError; }
- const std::string & GetAnswer() const { return answer; }
- const std::string & GetTag() const { return tag; }
- std::string GetOpenTag() const { return "<" + tag + ">"; }
- std::string GetCloseTag() const { return "</" + tag + ">"; }
-
-protected:
- BASE_PARSER(const BASE_PARSER & rvalue);
- BASE_PARSER & operator=(const BASE_PARSER & rvalue);
-
- std::string strError;
- ADMINS * admins;
- USERS * users;
- TARIFFS * tariffs;
- STORE * store;
- const SETTINGS * settings;
- const ADMIN & currAdmin;
- int depth;
- std::string answer;
- std::string tag;
-
-private:
- virtual void CreateAnswer() = 0;
+class BASE_PARSER
+{
+ public:
+ BASE_PARSER(const ADMIN & admin, const std::string & t)
+ : m_currAdmin(admin),
+ m_depth(0),
+ m_tag(t)
+ {}
+ virtual ~BASE_PARSER() {}
+ virtual int Start(void * data, const char * el, const char ** attr);
+ virtual int End(void * data, const char * el);
+
+ const std::string & GetAnswer() const { return m_answer; }
+ const std::string & GetTag() const { return m_tag; }
+ std::string GetOpenTag() const { return "<" + m_tag + ">"; }
+ std::string GetCloseTag() const { return "</" + m_tag + ">"; }
+
+ protected:
+ BASE_PARSER(const BASE_PARSER & rvalue);
+ BASE_PARSER & operator=(const BASE_PARSER & rvalue);
+
+ const ADMIN & m_currAdmin;
+ size_t m_depth;
+ std::string m_answer;
+ std::string m_tag;
+
+ private:
+ virtual void CreateAnswer() = 0;