- if (!strcasecmp(str.c_str(), "down"))
- td->tariffConf.traffType = TRAFF_DOWN;
- else
- if (!strcasecmp(str.c_str(), "up+down"))
- td->tariffConf.traffType = TRAFF_UP_DOWN;
- else
- if (!strcasecmp(str.c_str(), "max"))
- td->tariffConf.traffType = TRAFF_MAX;
- else
- {
- STG_LOCKER lock(&mutex, __FILE__, __LINE__);
- errorStr = "Cannot read tariff " + tariffName + ". Parameter TraffType incorrect";
- printfd(__FILE__, "FILES_STORE::RestoreTariff - invalid trafftype for tariff '%s'\n", tariffName.c_str());
- return -1;
- }
+ td->tariffConf.period = TARIFF::StringToPeriod(str);
+
+if (conf.ReadString("ChangePolicy", &str, "allow") < 0)
+ td->tariffConf.changePolicy = TARIFF::ALLOW;
+else
+ td->tariffConf.changePolicy = TARIFF::StringToChangePolicy(str);
+
+if (conf.ReadString("ChangePolicyTimeout", &str, "0") < 0)
+{
+ td->tariffConf.changePolicyTimeout = 0;
+}
+else
+{
+ int64_t policyTime = 0;
+ if (str2x(str, policyTime) == 0)
+ td->tariffConf.changePolicyTimeout = (time_t)policyTime;
+}