X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/abe068d00ecc304c855886f5e511b563b352dd0a..34d407f7df45b5faaa25a92a04e8582f95162f31:/stglibs/srvconf.lib/parsers/chg_user.h diff --git a/stglibs/srvconf.lib/parsers/chg_user.h b/stglibs/srvconf.lib/parsers/chg_user.h index 424866bc..9ac559e0 100644 --- a/stglibs/srvconf.lib/parsers/chg_user.h +++ b/stglibs/srvconf.lib/parsers/chg_user.h @@ -26,6 +26,9 @@ #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