X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/abe068d00ecc304c855886f5e511b563b352dd0a..95fbaf3fe639c84d7aab1d8c25cecdb9f8e7072a:/stglibs/srvconf.lib/parsers/get_user.h?ds=sidebyside diff --git a/stglibs/srvconf.lib/parsers/get_user.h b/stglibs/srvconf.lib/parsers/get_user.h index 190b5784..a0e3e3a4 100644 --- a/stglibs/srvconf.lib/parsers/get_user.h +++ b/stglibs/srvconf.lib/parsers/get_user.h @@ -37,16 +37,19 @@ namespace GET_USER class PARSER: public STG::PARSER { public: - PARSER(); + typedef GET_USER::INFO INFO; + + PARSER(CALLBACK f, void * data, const std::string & encoding); virtual ~PARSER(); 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, info, data); } private: PROPERTY_PARSERS propertyParsers; CALLBACK callback; void * data; + std::string encoding; INFO info; int depth; bool parsingAnswer; @@ -54,6 +57,8 @@ private: void ParseUser(const char * el, const char ** attr); void ParseUserParams(const char * el, const char ** attr); + void ParseAuthBy(const char * el, const char ** attr); + void ParseServices(const char * el, const char ** attr); }; } // namespace GET_USER