]> git.stg.codes - stg.git/blobdiff - stglibs/srvconf.lib/include/stg/parser_server_info.h
[NY] Implemented SERVCONF using PIMPL.
[stg.git] / stglibs / srvconf.lib / include / stg / parser_server_info.h
index 38e87186f95cbabbaf0fa7fdc6e8a38f3df4532a..ff31ae715ce01a30fe2d13cddeeb468a6b9e0560 100644 (file)
@@ -22,8 +22,9 @@
 #ifndef __STG_STGLIBS_SRVCONF_PARSER_SERVER_INFO_H__
 #define __STG_STGLIBS_SRVCONF_PARSER_SERVER_INFO_H__
 
 #ifndef __STG_STGLIBS_SRVCONF_PARSER_SERVER_INFO_H__
 #define __STG_STGLIBS_SRVCONF_PARSER_SERVER_INFO_H__
 
-#include "stg/parser.h"
+#include "parser.h"
 
 
+#include "property_parsers.h"
 #include "stg/const.h"
 
 #include <string>
 #include "stg/const.h"
 
 #include <string>
@@ -41,19 +42,20 @@ public:
         int         dirNum;
         std::string dirName[DIR_NUM];
     };
         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();
 
     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 SetCallback(CALLBACK f, void * data);
 private:
-    void ParseDirName(const char **attr, int d);
-
+    PROPERTY_PARSERS propertyParsers;
     CALLBACK callback;
     void * data;
     int depth;
     CALLBACK callback;
     void * data;
     int depth;
+    bool parsingAnswer;
     INFO info;
     INFO info;
+    std::string error;
 };
 
 #endif
 };
 
 #endif