]> git.stg.codes - stg.git/blobdiff - stglibs/srvconf.lib/parsers/get_user.cpp
Improved CHG_USER.
[stg.git] / stglibs / srvconf.lib / parsers / get_user.cpp
index 71e6cba6850a1f7e1dd000825dd740611c872931..54cfc0f95f8a873df573043229bf3615b87557e5 100644 (file)
@@ -25,7 +25,6 @@
 
 #include <map>
 #include <utility>
-#include <cstddef>
 
 #include <strings.h>
 
@@ -42,10 +41,10 @@ if (!attr)
 std::map<std::string, long long *> props;
 for (size_t i = 0; i < DIR_NUM; ++i)
     {
-    props.insert(std::pair<std::string, long long *>("su" + x2str(i), &value.su[i]));
-    props.insert(std::pair<std::string, long long *>("sd" + x2str(i), &value.sd[i]));
-    props.insert(std::pair<std::string, long long *>("mu" + x2str(i), &value.mu[i]));
-    props.insert(std::pair<std::string, long long *>("md" + x2str(i), &value.md[i]));
+    props.insert(std::pair<std::string, long long *>("su" + unsigned2str(i), &value.su[i]));
+    props.insert(std::pair<std::string, long long *>("sd" + unsigned2str(i), &value.sd[i]));
+    props.insert(std::pair<std::string, long long *>("mu" + unsigned2str(i), &value.mu[i]));
+    props.insert(std::pair<std::string, long long *>("md" + unsigned2str(i), &value.md[i]));
     }
 size_t pos = 0;
 while (attr[pos])
@@ -61,9 +60,9 @@ return true;
 
 }
 
-GET_USER::PARSER::PARSER()
-    : callback(NULL),
-      data(NULL),
+GET_USER::PARSER::PARSER(CALLBACK f, void * d)
+    : callback(f),
+      data(d),
       depth(0),
       parsingAnswer(false)
 {
@@ -91,7 +90,7 @@ GET_USER::PARSER::PARSER()
     AddParser(propertyParsers, "traff", info.stat);
 
     for (size_t i = 0; i < USERDATA_NUM; ++i)
-        AddParser(propertyParsers, "userData" + x2str(i), info.userData[i], GetEncodedValue);
+        AddParser(propertyParsers, "userData" + unsigned2str(i), info.userData[i], GetEncodedValue);
 }
 //-----------------------------------------------------------------------------
 GET_USER::PARSER::~PARSER()
@@ -128,6 +127,7 @@ if (depth == 0 && parsingAnswer)
 void GET_USER::PARSER::ParseUser(const char * el, const char ** attr)
 {
 if (strcasecmp(el, "user") == 0)
+    {
     if (attr && attr[0] && attr[1])
         {
         if (strcasecmp(attr[1], "error") == 0)
@@ -142,6 +142,7 @@ if (strcasecmp(el, "user") == 0)
         }
     else
         parsingAnswer = true;
+    }
 }
 //-----------------------------------------------------------------------------
 void GET_USER::PARSER::ParseUserParams(const char * el, const char ** attr)
@@ -149,9 +150,3 @@ void GET_USER::PARSER::ParseUserParams(const char * el, const char ** attr)
 if (!TryParse(propertyParsers, ToLower(el), attr))
     error = "Invalid parameter.";
 }
-//-----------------------------------------------------------------------------
-void GET_USER::PARSER::SetCallback(CALLBACK f, void * d)
-{
-callback = f;
-data = d;
-}