]> git.stg.codes - stg.git/blobdiff - stglibs/srvconf.lib/parsers/get_user.h
Ticket 12. The 'StopOnError' parameter added.
[stg.git] / stglibs / srvconf.lib / parsers / get_user.h
index 519d67b6587c0a0425b89cb3d40542b03d1699d4..a0e3e3a4a8eaab59ebd8a60d9d0796eaeee133be 100644 (file)
@@ -39,15 +39,17 @@ class PARSER: public STG::PARSER
 public:
     typedef GET_USER::INFO INFO;
 
 public:
     typedef GET_USER::INFO INFO;
 
-    PARSER(CALLBACK f, void * data);
+    PARSER(CALLBACK f, void * data, const std::string & encoding);
     virtual ~PARSER();
     int  ParseStart(const char * el, const char ** attr);
     void ParseEnd(const char * el);
     virtual ~PARSER();
     int  ParseStart(const char * el, const char ** attr);
     void ParseEnd(const char * el);
+    void Failure(const std::string & reason) { callback(false, reason, info, data); }
 
 private:
     PROPERTY_PARSERS propertyParsers;
     CALLBACK callback;
     void * data;
 
 private:
     PROPERTY_PARSERS propertyParsers;
     CALLBACK callback;
     void * data;
+    std::string encoding;
     INFO info;
     int depth;
     bool parsingAnswer;
     INFO info;
     int depth;
     bool parsingAnswer;
@@ -55,6 +57,8 @@ private:
 
     void ParseUser(const char * el, const char ** attr);
     void ParseUserParams(const char * el, const char ** attr);
 
     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
 };
 
 } // namespace GET_USER