X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/02d8ff35c9a854ffd15a701e46a118bc51be3b7d..6d5f129aad1a6cbaf4d1441c68398e00fa949185:/stglibs/srvconf.lib/parser_chg_user.cpp diff --git a/stglibs/srvconf.lib/parser_chg_user.cpp b/stglibs/srvconf.lib/parser_chg_user.cpp index bf48e648..90d78f6c 100644 --- a/stglibs/srvconf.lib/parser_chg_user.cpp +++ b/stglibs/srvconf.lib/parser_chg_user.cpp @@ -19,3 +19,48 @@ * Author : Maxim Mamontov */ +#include "stg/parser_chg_user.h" + +#include + +#include + +PARSER_CHG_USER::PARSER_CHG_USER() + : callback(NULL), + data(NULL), + depth(0) +{ +} +//----------------------------------------------------------------------------- +int PARSER_CHG_USER::ParseStart(const char *el, const char **attr) +{ +depth++; +if (depth == 1) + { + if (strcasecmp(el, "SetUser") == 0) + ParseAnswer(el, attr); + else if (strcasecmp(el, "DelUser") == 0) + ParseAnswer(el, attr); + else if (strcasecmp(el, "AddUser") == 0) + ParseAnswer(el, attr); + } +return 0; +} +//----------------------------------------------------------------------------- +void PARSER_CHG_USER::ParseEnd(const char *) +{ +depth--; +} +//----------------------------------------------------------------------------- +void PARSER_CHG_USER::ParseAnswer(const char * /*el*/, const char ** attr) +{ +if (attr && attr[0] && attr[1]) + if (callback) + callback(attr[1], data); +} +//----------------------------------------------------------------------------- +void PARSER_CHG_USER::SetCallback(CALLBACK f, void * d) +{ +callback = f; +data = d; +}