]> git.stg.codes - stg.git/blobdiff - stglibs/srvconf.lib/include/stg/parser_server_info.h
Improved handling errors got from server.
[stg.git] / stglibs / srvconf.lib / include / stg / parser_server_info.h
index 5adb2abb8729e474679b02d04f25fd1337db6313..ff31ae715ce01a30fe2d13cddeeb468a6b9e0560 100644 (file)
@@ -24,6 +24,7 @@
 
 #include "parser.h"
 
+#include "property_parsers.h"
 #include "stg/const.h"
 
 #include <string>
@@ -41,19 +42,20 @@ public:
         int         dirNum;
         std::string dirName[DIR_NUM];
     };
-    typedef void (* CALLBACK)(const INFO & info, void * data);
+    typedef void (* CALLBACK)(bool result, const std::string & reason, const INFO & info, void * data);
 
     PARSER_SERVER_INFO();
-    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);
 private:
-    void ParseDirName(const char **attr, int d);
-
+    PROPERTY_PARSERS propertyParsers;
     CALLBACK callback;
     void * data;
     int depth;
+    bool parsingAnswer;
     INFO info;
+    std::string error;
 };
 
 #endif