]> git.stg.codes - stg.git/blobdiff - stglibs/srvconf.lib/include/stg/parser_get_users.h
[NY Flight] Improved XML parsing.
[stg.git] / stglibs / srvconf.lib / include / stg / parser_get_users.h
index 07d76cc550db2c0a86cb1a21b00a5d66cfdee064..35fcd126a607cac96913042afb2997ad636667d4 100644 (file)
@@ -23,7 +23,9 @@
 #ifndef __STG_STGLIBS_SRVCONF_PARSER_GET_USERS_H__
 #define __STG_STGLIBS_SRVCONF_PARSER_GET_USERS_H__
 
-#include "stg/parser.h"
+#include "parser.h"
+
+#include "parser_get_user.h"
 
 #include <vector>
 
@@ -31,7 +33,7 @@ class PARSER_GET_USERS: public PARSER
 {
 public:
     typedef std::vector<PARSER_GET_USER::INFO> INFO;
-    typedef void (* CALLBACK)(const INFO & info, void * data);
+    typedef void (* CALLBACK)(bool result, const std::string & reason, const INFO & info, void * data);
 
     PARSER_GET_USERS();
     int  ParseStart(const char * el, const char ** attr);
@@ -43,11 +45,13 @@ private:
     PARSER_GET_USER userParser;
     INFO info;
     int depth;
+    bool parsingAnswer;
+    std::string error;
 
     void AddUser(const PARSER_GET_USER::INFO & userInfo);
-    void ParseUsers(const char * el, const char ** attr);
+    void SetError(const std::string & e) { error = e; }
 
-    static void UserCallback(const PARSER_GET_USER::INFO & info, void * data);
+    static void UserCallback(bool result, const std::string& reason, const PARSER_GET_USER::INFO & info, void * data);
 };
 
 #endif