#ifndef __STG_STGLIBS_SRVCONF_PARSER_GET_USER_H__
 #define __STG_STGLIBS_SRVCONF_PARSER_GET_USER_H__
 
-#include "parser.h"
-#include "property_parsers.h"
+#include "base.h"
+#include "property.h"
 
 #include "stg/servconf_types.h"
 
 class PARSER: public STG::PARSER
 {
 public:
-    PARSER();
+    typedef GET_USER::INFO INFO;
+
+    PARSER(CALLBACK f, void * data);
     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;
 
     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