]> git.stg.codes - stg.git/blobdiff - stglibs/srvconf.lib/parsers/server_info.h
Split sgconfig parsers into seaparate files.
[stg.git] / stglibs / srvconf.lib / parsers / server_info.h
index 7bcbbba471042e62ade5381c9673691cbc8ede26..039063890866bac13f783a1ef15bd9407ea1938b 100644 (file)
@@ -37,15 +37,16 @@ namespace SERVER_INFO
 class PARSER: public STG::PARSER
 {
 public:
 class PARSER: public STG::PARSER
 {
 public:
-    PARSER();
+    PARSER(CALLBACK f, void * data, const std::string & encoding);
     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 SetCallback(CALLBACK f, void * data);
+    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;
     int depth;
     bool parsingAnswer;
     INFO info;
     int depth;
     bool parsingAnswer;
     INFO info;