X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/1b2ab8e6d556a8ed30d4feadc72263b3f4c86665..da9b6f95cc1927507f2aeddd079528c7368025a1:/projects/stargazer/plugins/configuration/sgconfig/parser.h?ds=sidebyside diff --git a/projects/stargazer/plugins/configuration/sgconfig/parser.h b/projects/stargazer/plugins/configuration/sgconfig/parser.h index e76d8f4c..81bd454b 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 "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 #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; - - void SetAnswerList(std::list * ansList) { answerList = ansList; } + virtual void Reset() { answer.clear(); depth = 0; } void SetUsers(USERS * u) { users = u; } void SetAdmins(ADMINS * a) { admins = a; } @@ -49,8 +64,8 @@ public: void SetStgSettings(const SETTINGS * s) { settings = s; } void SetCurrAdmin(ADMIN & cua) { currAdmin = &cua; } - std::string & GetStrError() { return strError; } - void Reset() { answerList->clear(); depth = 0; } + 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 { @@ -97,7 +112,6 @@ public: private: std::string adminToDel; - int CheckAttr(const char **attr); void CreateAnswer(); }; //-----------------------------------------------------------------------------