X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/76fb825a64343da7a8aa9b16c5dbcab709504832..34d407f7df45b5faaa25a92a04e8582f95162f31:/stglibs/srvconf.lib/parsers/chg_user.h?ds=sidebyside diff --git a/stglibs/srvconf.lib/parsers/chg_user.h b/stglibs/srvconf.lib/parsers/chg_user.h index 63c528d0..9ac559e0 100644 --- a/stglibs/srvconf.lib/parsers/chg_user.h +++ b/stglibs/srvconf.lib/parsers/chg_user.h @@ -22,10 +22,13 @@ #ifndef __STG_STGLIBS_SRVCONF_PARSER_CHG_USER_H__ #define __STG_STGLIBS_SRVCONF_PARSER_CHG_USER_H__ -#include "parser.h" +#include "base.h" #include "stg/servconf_types.h" +struct USER_CONF_RES; +struct USER_STAT_RES; + namespace STG { namespace CHG_USER @@ -34,19 +37,22 @@ namespace CHG_USER class PARSER: public STG::PARSER { public: - PARSER(); + PARSER(SIMPLE::CALLBACK f, void * data, const std::string & encoding); int ParseStart(const char * el, const char ** attr); void ParseEnd(const char * el); - void SetCallback(CALLBACK f, void * data); + void Failure(const std::string & reason) { callback(false, reason, data); } private: - CALLBACK callback; + SIMPLE::CALLBACK callback; void * data; + std::string encoding; int depth; void ParseAnswer(const char * el, const char ** attr); }; +std::string Serialize(const USER_CONF_RES & conf, const USER_STAT_RES & stat, const std::string & encoding); + } // namespace CHG_USER } // namespace STG