X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/3df642f3d2537dc5531a8d91c6d85927b34b46c7..cf3954a35eaddf462fbe1247f54c0b4b9f9eac80:/projects/stargazer/plugins/configuration/sgconfig/parser.h diff --git a/projects/stargazer/plugins/configuration/sgconfig/parser.h b/projects/stargazer/plugins/configuration/sgconfig/parser.h index df3d7155..24200ebd 100644 --- a/projects/stargazer/plugins/configuration/sgconfig/parser.h +++ b/projects/stargazer/plugins/configuration/sgconfig/parser.h @@ -1,26 +1,43 @@ - /* - $Revision: 1.20 $ - $Date: 2010/10/04 20:26:10 $ - $Author: faust $ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* + * Author : Boris Mikhailenko */ #ifndef PARSER_H #define PARSER_H -#include -#include -#include - +#include "stg/message.h" +#include "stg/tariff_conf.h" #include "stg/resetable.h" #include "stg/const.h" -#include "stg/store.h" -#include "stg/admins.h" -#include "stg/admin.h" -#include "stg/users.h" -#include "stg/message.h" + +#include +#include class TARIFFS; class SETTINGS; +class STORE; +class ADMINS; +class ADMIN; +class USERS; +class USER; +class USER_STAT_RES; +class USER_CONF_RES; //----------------------------------------------------------------------------- class BASE_PARSER { @@ -33,14 +50,12 @@ public: store(NULL), settings(NULL), currAdmin(NULL), - depth(0), - answerList(NULL) + depth(0) {} virtual ~BASE_PARSER() {} virtual int ParseStart(void *data, const char *el, const char **attr) = 0; virtual int ParseEnd(void *data, const char *el) = 0; - virtual void CreateAnswer() = 0; - virtual void SetAnswerList(std::list * ansList) { answerList = ansList; } + virtual void Reset() { answer.clear(); depth = 0; } virtual void SetUsers(USERS * u) { users = u; } virtual void SetAdmins(ADMINS * a) { admins = a; } @@ -48,9 +63,9 @@ public: virtual void SetStore(STORE * s) { store = s; } virtual void SetStgSettings(const SETTINGS * s) { settings = s; } - virtual void SetCurrAdmin(ADMIN & cua) { currAdmin = &cua; } - virtual std::string & GetStrError() { return strError; } - virtual void Reset() { answerList->clear(); depth = 0; } + void SetCurrAdmin(ADMIN & cua) { currAdmin = &cua; } + const std::string & GetStrError() const { return strError; } + const std::string & GetAnswer() const { return answer; } protected: BASE_PARSER(const BASE_PARSER & rvalue); @@ -64,7 +79,7 @@ protected: const SETTINGS * settings; ADMIN * currAdmin; int depth; - std::list * answerList; + std::string answer; }; //----------------------------------------------------------------------------- class PARSER_GET_ADMINS: public BASE_PARSER {