]> git.stg.codes - stg.git/blobdiff - include/stg/tariff_conf.h
Ticket 37. The ReadTime() call for 'ChangePolicyTimeout' field in the if()
[stg.git] / include / stg / tariff_conf.h
index 9de3083042cd5f55ddc839c6174590d655c4d066..79ade2eb44bef6ddaee90bf705a8d421297b7dcf 100644 (file)
@@ -149,6 +149,7 @@ struct TARIFF_CONF
     std::string        name;
     TARIFF::PERIOD     period;
     TARIFF::CHANGE_POLICY changePolicy;
     std::string        name;
     TARIFF::PERIOD     period;
     TARIFF::CHANGE_POLICY changePolicy;
+    time_t changePolicyTimeout;
 
     TARIFF_CONF()
         : fee(0),
 
     TARIFF_CONF()
         : fee(0),
@@ -157,7 +158,8 @@ struct TARIFF_CONF
           passiveCost(0),
           name(),
           period(TARIFF::MONTH),
           passiveCost(0),
           name(),
           period(TARIFF::MONTH),
-          changePolicy(TARIFF::ALLOW)
+          changePolicy(TARIFF::ALLOW),
+          changePolicyTimeout(0)
         {}
 
     TARIFF_CONF(const std::string & n)
         {}
 
     TARIFF_CONF(const std::string & n)
@@ -167,7 +169,8 @@ struct TARIFF_CONF
           passiveCost(0),
           name(n),
           period(TARIFF::MONTH),
           passiveCost(0),
           name(n),
           period(TARIFF::MONTH),
-          changePolicy(TARIFF::ALLOW)
+          changePolicy(TARIFF::ALLOW),
+          changePolicyTimeout(0)
         {}
 };
 //-----------------------------------------------------------------------------
         {}
 };
 //-----------------------------------------------------------------------------
@@ -180,7 +183,8 @@ struct TARIFF_CONF_RES
           passiveCost(),
           name(),
           period(),
           passiveCost(),
           name(),
           period(),
-          changePolicy()
+          changePolicy(),
+          changePolicyTimeout()
         {}
 
     TARIFF_CONF_RES & operator=(const TARIFF_CONF & tc)
         {}
 
     TARIFF_CONF_RES & operator=(const TARIFF_CONF & tc)
@@ -192,6 +196,7 @@ struct TARIFF_CONF_RES
         name        = tc.name;
         period      = tc.period;
         changePolicy = tc.changePolicy;
         name        = tc.name;
         period      = tc.period;
         changePolicy = tc.changePolicy;
+        changePolicyTimeout = tc.changePolicyTimeout;
         return *this;
         }
 
         return *this;
         }
 
@@ -205,6 +210,7 @@ struct TARIFF_CONF_RES
         traffType.maybeSet(tc.traffType);
         period.maybeSet(tc.period);
         changePolicy.maybeSet(tc.changePolicy);
         traffType.maybeSet(tc.traffType);
         period.maybeSet(tc.period);
         changePolicy.maybeSet(tc.changePolicy);
+        changePolicyTimeout.maybeSet(tc.changePolicyTimeout);
         return tc;
         }
 
         return tc;
         }
 
@@ -215,6 +221,7 @@ struct TARIFF_CONF_RES
     RESETABLE<std::string>        name;
     RESETABLE<TARIFF::PERIOD>     period;
     RESETABLE<TARIFF::CHANGE_POLICY> changePolicy;
     RESETABLE<std::string>        name;
     RESETABLE<TARIFF::PERIOD>     period;
     RESETABLE<TARIFF::CHANGE_POLICY> changePolicy;
+    RESETABLE<time_t>             changePolicyTimeout;
 };
 //-----------------------------------------------------------------------------
 struct TARIFF_DATA
 };
 //-----------------------------------------------------------------------------
 struct TARIFF_DATA
@@ -258,6 +265,8 @@ struct TARIFF_DATA_RES
     TARIFF_DATA_RES & operator=(const TARIFF_DATA & td)
         {
         tariffConf = td.tariffConf;
     TARIFF_DATA_RES & operator=(const TARIFF_DATA & td)
         {
         tariffConf = td.tariffConf;
+        for (size_t i = 0; i < DIR_NUM; ++i)
+            dirPrice[i] = td.dirPrice[i];
         return *this;
         }
 
         return *this;
         }