]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/store/files/file_store.cpp
Ticket 37. The ReadTime() call for 'ChangePolicyTimeout' field in the if()
[stg.git] / projects / stargazer / plugins / store / files / file_store.cpp
index 03a672aa31c62938f05bd660af7de369c3abb5f5..0c48722c2096d7605692937a5011bba4a2fb3bc3 100644 (file)
@@ -1470,6 +1470,14 @@ if (conf.ReadString("ChangePolicy", &str, "allow") < 0)
     td->tariffConf.changePolicy = TARIFF::ALLOW;
 else
     td->tariffConf.changePolicy = TARIFF::StringToChangePolicy(str);
+
+if (conf.ReadTime("ChangePolicyTimeout", &td->tariffConf.changePolicyTimeout, 0) < 0)
+    {
+    STG_LOCKER lock(&mutex);
+    errorStr = "Cannot read tariff " + tariffName + ". Parameter ChangePolicyTimeout";
+    printfd(__FILE__, "FILES_STORE::RestoreTariff - changepolicytimeout read failed for tariff '%s'\n", tariffName.c_str());
+    return -1;
+    }
 return 0;
 }
 //-----------------------------------------------------------------------------
@@ -1531,6 +1539,7 @@ std::string fileName = storeSettings.GetTariffsDir() + "/" + tariffName + ".tf";
     cf.WriteDouble("Free", td.tariffConf.free);
     cf.WriteString("TraffType", TARIFF::TraffTypeToString(td.tariffConf.traffType));
     cf.WriteString("Period", TARIFF::PeriodToString(td.tariffConf.period));
+    cf.WriteString("ChangePolicy", TARIFF::ChangePolicyToString(td.tariffConf.changePolicy));
     }
 
 return 0;