]> git.stg.codes - stg.git/blobdiff - stglibs/srvconf.lib/parsers/chg_user.h
Simplified module interfaces.
[stg.git] / stglibs / srvconf.lib / parsers / chg_user.h
index c3ec1888118f9f5ffb62a90adebb4fb0e99d3bed..075dcd2861e8f76bcc1226e9f6610fb59aead958 100644 (file)
@@ -26,6 +26,9 @@
 
 #include "stg/servconf_types.h"
 
 
 #include "stg/servconf_types.h"
 
+struct USER_CONF_RES;
+struct USER_STAT_RES;
+
 namespace STG
 {
 namespace CHG_USER
 namespace STG
 {
 namespace CHG_USER
@@ -34,18 +37,21 @@ namespace CHG_USER
 class PARSER: public STG::PARSER
 {
 public:
 class PARSER: public STG::PARSER
 {
 public:
-    PARSER(CALLBACK f, void * data);
+    PARSER(SIMPLE::CALLBACK f, void * data);
     int  ParseStart(const char * el, const char ** attr);
     void ParseEnd(const char * el);
     int  ParseStart(const char * el, const char ** attr);
     void ParseEnd(const char * el);
+    void Failure(const std::string & reason) { callback(false, reason, data); }
 
 private:
 
 private:
-    CALLBACK callback;
+    SIMPLE::CALLBACK callback;
     void * data;
     int depth;
 
     void ParseAnswer(const char * el, const char ** attr);
 };
 
     void * data;
     int depth;
 
     void ParseAnswer(const char * el, const char ** attr);
 };
 
+std::string Serialize(const USER_CONF_RES & conf, const USER_STAT_RES & stat);
+
 } // namespace CHG_USER
 } // namespace STG
 
 } // namespace CHG_USER
 } // namespace STG