]> git.stg.codes - stg.git/commitdiff
Made getters work.
authorMaxim Mamontov <faust.madf@gmail.com>
Sat, 10 Aug 2013 15:57:29 +0000 (18:57 +0300)
committerMaxim Mamontov <faust.madf@gmail.com>
Sat, 10 Aug 2013 15:57:29 +0000 (18:57 +0300)
projects/sgconf/common_sg.cpp
stglibs/srvconf.lib/netunit.cpp
stglibs/srvconf.lib/parser_get_user.cpp

index c0a4fd252bca0f6524eae00b46ce291ded75e2d6..2901832ad0db0e03ae79fc2a09330ca58a929c11 100644 (file)
@@ -317,10 +317,10 @@ if (info.login == "")
     }
 
 if (!data->request.cash.res_empty())
-    cout << "cash=" << info.cash << endl;
+    cout << "cash = " << info.cash << endl;
 
 if (!data->request.credit.res_empty())
-    cout << "credit=" << info.credit << endl;
+    cout << "credit = " << info.credit << endl;
 
 if (!data->request.creditExpire.res_empty())
     {
@@ -339,38 +339,38 @@ if (!data->request.creditExpire.res_empty())
 
     strftime(buf, 32, "%Y-%m-%d", &brokenTime);
 
-    cout << "creditExpire=" << buf << endl;
+    cout << "creditExpire = " << buf << endl;
     }
 
 if (!data->request.down.res_empty())
-    cout << "down=" << info.down << endl;
+    cout << "down = " << info.down << endl;
 
 if (!data->request.passive.res_empty())
-    cout << "passive=" << info.passive << endl;
+    cout << "passive = " << info.passive << endl;
 
 if (!data->request.disableDetailStat.res_empty())
-    cout << "disableDetailStat=" << info.disableDetailStat << endl;
+    cout << "disableDetailStat = " << info.disableDetailStat << endl;
 
 if (!data->request.alwaysOnline.res_empty())
-    cout << "alwaysOnline=" << info.alwaysOnline << endl;
+    cout << "alwaysOnline = " << info.alwaysOnline << endl;
 
 if (!data->request.prepaidTraff.res_empty())
-    cout << "prepaidTraff=" << info.prepaidTraff << endl;
+    cout << "prepaidTraff = " << info.prepaidTraff << endl;
 
 for (int i = 0; i < DIR_NUM; i++)
     {
     if (!data->request.sessionUpload[i].res_empty())
-        cout << "session upload for dir" << i << "=" << info.stat.su[i] << endl;
+        cout << "session upload for dir " << i << " = " << info.stat.su[i] << endl;
     if (!data->request.sessionDownload[i].res_empty())
-        cout << "session download for dir" << i << "=" << info.stat.sd[i] << endl;
+        cout << "session download for dir " << i << "=" << info.stat.sd[i] << endl;
     }
 
 for (int i = 0; i < DIR_NUM; i++)
     {
     if (!data->request.monthUpload[i].res_empty())
-        cout << "month upload for dir" << i << "=" << info.stat.mu[i] << endl;
+        cout << "month upload for dir " << i << " = " << info.stat.mu[i] << endl;
     if (!data->request.monthDownload[i].res_empty())
-        cout << "month download for dir" << i << "=" << info.stat.md[i] << endl;
+        cout << "month download for dir " << i << " = " << info.stat.md[i] << endl;
     }
 
 for (int i = 0; i < USERDATA_NUM; i++)
@@ -379,7 +379,7 @@ for (int i = 0; i < USERDATA_NUM; i++)
         {
         string str;
         ConvertFromKOI8(info.userData[i], &str);
-        cout << "userdata" << i << "=" << str << endl;
+        cout << "user data " << i << " = " << str << endl;
         }
     }
 
@@ -401,7 +401,7 @@ for (unsigned i = 0; i < sizeof(strReqParams) / sizeof(StringReqParams); i++)
         {
         string str;
         ConvertFromKOI8(*strReqParams[i].value, &str);
-        cout << strReqParams[i].name << "=" << str << endl;
+        cout << strReqParams[i].name << " = " << str << endl;
         }
     }
 data->result = true;
index eab32e6a12ecda4069d1fb32870c829c0a17ec12..aaba3df6afc4aedbd2d7aafb3b74331472ba1017 100644 (file)
@@ -442,12 +442,15 @@ while (1)
         Decrypt(buffer, bufferS, &ctx);
         buffer[ENC_MSG_LEN] = 0;
 
+        printf("%s", buffer);
+
         answerList.push_back(buffer);
 
         for (int j = 0; j < ENC_MSG_LEN; j++)
             {
             if (buffer[j] == 0)
                 {
+                printf("\n");
                 if (RxCallBack)
                     if (st_ok != RxCallBack(dataRxCallBack, &answerList))
                         return st_xml_parse_error;
index 930170380cd3a6ebf53c6641f6b750d07f5cda62..1039cb8d842ab08174b6d371ae054950bef44b15 100644 (file)
@@ -97,22 +97,20 @@ if (checkValue(attr))
 return value;
 }
 
-template <typename T>
-void addParser(PROPERTY_PARSERS & parsers, const std::string & name, T & value, bool encoded = false);
-
-template <typename T>
-void addParser(PROPERTY_PARSERS & parsers, const std::string & name, T & value, bool /*encoded*/)
+uint32_t getIPValue(const char ** attr)
 {
-    parsers.insert(std::make_pair(ToLower(name), new PROPERTY_PARSER<T>(value, getValue<T>)));
+if (checkValue(attr))
+    return inet_strington(attr[1]);
+return 0;
 }
 
-template <>
-void addParser<std::string>(PROPERTY_PARSERS & parsers, const std::string & name, std::string & value, bool encoded)
+template <typename T>
+void addParser(PROPERTY_PARSERS & parsers, const std::string & name, T & value, const typename PROPERTY_PARSER<T>::FUNC & func = getValue<T>);
+
+template <typename T>
+void addParser(PROPERTY_PARSERS & parsers, const std::string & name, T & value, const typename PROPERTY_PARSER<T>::FUNC & func)
 {
-    if (encoded)
-        parsers.insert(std::make_pair(ToLower(name), new PROPERTY_PARSER<std::string>(value, getEncodedValue)));
-    else
-        parsers.insert(std::make_pair(ToLower(name), new PROPERTY_PARSER<std::string>(value, getValue<std::string>)));
+    parsers.insert(std::make_pair(ToLower(name), new PROPERTY_PARSER<T>(value, func)));
 }
 
 void tryParse(PROPERTY_PARSERS & parsers, const std::string & name, const char ** attr)
@@ -141,19 +139,19 @@ PARSER_GET_USER::PARSER_GET_USER()
     addParser(propertyParsers, "disableDetailStat", info.disableDetailStat);
     addParser(propertyParsers, "connected", info.connected);
     addParser(propertyParsers, "alwaysOnline", info.alwaysOnline);
-    addParser(propertyParsers, "ip", info.ip);
-    addParser(propertyParsers, "ips", info.ips);
+    addParser(propertyParsers, "currIP", info.ip, getIPValue);
+    addParser(propertyParsers, "ip", info.ips);
     addParser(propertyParsers, "tariff", info.tariff);
-    addParser(propertyParsers, "group", info.group, true);
-    addParser(propertyParsers, "note", info.note, true);
-    addParser(propertyParsers, "email", info.email, true);
-    addParser(propertyParsers, "name", info.name, true);
-    addParser(propertyParsers, "address", info.address, true);
-    addParser(propertyParsers, "phone", info.phone, true);
+    addParser(propertyParsers, "group", info.group, getEncodedValue);
+    addParser(propertyParsers, "note", info.note, getEncodedValue);
+    addParser(propertyParsers, "email", info.email, getEncodedValue);
+    addParser(propertyParsers, "name", info.name, getEncodedValue);
+    addParser(propertyParsers, "address", info.address, getEncodedValue);
+    addParser(propertyParsers, "phone", info.phone, getEncodedValue);
     addParser(propertyParsers, "traff", info.stat);
 
     for (size_t i = 0; i < USERDATA_NUM; ++i)
-        addParser(propertyParsers, "userData" + x2str(i), info.userData[i], true);
+        addParser(propertyParsers, "userData" + x2str(i), info.userData[i], getEncodedValue);
 }
 //-----------------------------------------------------------------------------
 PARSER_GET_USER::~PARSER_GET_USER()