]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/configuration/sgconfig/parser_tariff.cpp
Simplified STG_LOCKER.
[stg.git] / projects / stargazer / plugins / configuration / sgconfig / parser_tariff.cpp
index 7be1af9645a0107ff39a0ec839e45780f1817b08..a4531703c54de43765b319b3f6f22f1b015c1267 100644 (file)
@@ -145,6 +145,8 @@ for (; it != dataList.end(); ++it)
             break;
         }
 
             break;
         }
 
+    answerList->push_back("<Period value=\"" + TARIFF::PeriodToString(it->tariffConf.period) + "\"/>");
+
     answerList->push_back("</tariff>");
     }
 answerList->push_back("</Tariffs>");
     answerList->push_back("</tariff>");
     }
 answerList->push_back("</Tariffs>");
@@ -302,7 +304,6 @@ return 0;
 //-----------------------------------------------------------------------------
 int PARSER_CHG_TARIFF::ParseStart(void *, const char * el, const char ** attr)
 {
 //-----------------------------------------------------------------------------
 int PARSER_CHG_TARIFF::ParseStart(void *, const char * el, const char ** attr)
 {
-char st[50];
 double price[DIR_NUM];
 int t[DIR_NUM];
 depth++;
 double price[DIR_NUM];
 int t[DIR_NUM];
 depth++;
@@ -385,6 +386,7 @@ else
 
     for (int j = 0; j < DIR_NUM; j++)
         {
 
     for (int j = 0; j < DIR_NUM; j++)
         {
+        char st[50];
         snprintf(st, 50, "Time%d", j);
         if (strcasecmp(el, st) == 0)
             {
         snprintf(st, 50, "Time%d", j);
         if (strcasecmp(el, st) == 0)
             {
@@ -451,6 +453,12 @@ else
             }
         return 0;
         }
             }
         return 0;
         }
+
+    if (strcasecmp(el, "Period") == 0)
+        {
+        td.tariffConf.period = TARIFF::StringToPeriod(attr[1]);
+        return 0;
+        }
     }
 return -1;
 }
     }
 return -1;
 }