+++ /dev/null
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Author : Boris Mikhailenko <stg34@stargazer.dp.ua>
- */
-
- /*
- $Revision: 1.9 $
- $Date: 2010/10/05 20:41:11 $
- $Author: faust $
- */
-
-#ifndef TARIFF_CONF_H
-#define TARIFF_CONF_H
-
-#include <string>
-#include <vector>
-
-#include "resetable.h"
-#include "stg_const.h"
-
-//-----------------------------------------------------------------------------
-enum
-{
- TRAFF_UP = 0,
- TRAFF_DOWN,
- TRAFF_UP_DOWN,
- TRAFF_MAX
-};
-//-----------------------------------------------------------------------------
-struct DIRPRICE_DATA
-{
- DIRPRICE_DATA()
- : hDay(0),
- mDay(0),
- hNight(0),
- mNight(0),
- priceDayA(0),
- priceNightA(0),
- priceDayB(0),
- priceNightB(0),
- threshold(0),
- singlePrice(0),
- noDiscount(0)
- {}
- int hDay;
- int mDay;
- int hNight;
- int mNight;
- double priceDayA;
- double priceNightA;
- double priceDayB;
- double priceNightB;
- int threshold;
- int singlePrice; // Do not use day/night division
- int noDiscount; // Do not use threshold
-};
-//-----------------------------------------------------------------------------
-struct DIRPRICE_DATA_RES
-{
- DIRPRICE_DATA_RES & operator= (const DIRPRICE_DATA & dpd)
- {
- hDay = dpd.hDay;
- mDay = dpd.mDay;
- hNight = dpd.hNight;
- mNight = dpd.mNight;
- priceDayA = dpd.priceDayA;
- priceNightA = dpd.priceNightA;
- priceDayB = dpd.priceDayB;
- priceNightB = dpd.priceNightB;
- threshold = dpd.threshold;
- singlePrice = dpd.singlePrice;
- noDiscount = dpd.noDiscount;
- return *this;
- };
-
- DIRPRICE_DATA GetData()
- {
- DIRPRICE_DATA dd;
- dd.hDay = hDay;
- dd.hNight = hNight;
- dd.mDay = mDay;
- dd.mNight = mNight;
- dd.noDiscount = noDiscount;
- dd.priceDayA = priceDayA;
- dd.priceDayB = priceDayB;
-
- dd.priceNightA = priceNightA;
- dd.priceNightB = priceNightB;
- dd.singlePrice = singlePrice;
- dd.threshold = threshold;
- return dd;
- }
-
- RESETABLE<int> hDay;
- RESETABLE<int> mDay;
- RESETABLE<int> hNight;
- RESETABLE<int> mNight;
- RESETABLE<double> priceDayA;
- RESETABLE<double> priceNightA;
- RESETABLE<double> priceDayB;
- RESETABLE<double> priceNightB;
- RESETABLE<int> threshold;
- RESETABLE<int> singlePrice;
- RESETABLE<int> noDiscount;
-};
-//-----------------------------------------------------------------------------
-struct TARIFF_CONF
-{
- double fee; // ÷ÅÌÉÞÉÎÁ ÁÂÏÎÐÌÁÔÙ
- double free; // îÁ ËÁËÕÀ ÓÕÍÍÕ ÄÅÎÅÇ ÀÚÅÒ ËÁÞÁÅÔ ÂÅÓÐÌÁÔÎÏ
- int traffType; // UP, DOWN, UP+DOWN, MAX
- double passiveCost; // óÔÏÉÍÏÓÔØ ÚÁÍÏÒÏÚËÉ
- std::string name;
-
- TARIFF_CONF()
- : fee(0),
- free(0),
- traffType(TRAFF_UP_DOWN), // UP-DOWN
- passiveCost(0),
- name()
- {};
-
- TARIFF_CONF(const std::string & n)
- : fee(0),
- free(0),
- traffType(TRAFF_UP_DOWN), // UP-DOWN
- passiveCost(0),
- name(n)
- {};
-};
-//-----------------------------------------------------------------------------
-struct TARIFF_CONF_RES
-{
- TARIFF_CONF_RES & operator=(const TARIFF_CONF & tc)
- {
- fee = tc.fee;
- free = tc.free;
- traffType = tc.traffType;
- passiveCost = tc.passiveCost;
- name = tc.name;
- return *this;
- };
-
- TARIFF_CONF GetData()
- {
- TARIFF_CONF tc;
- tc.fee = fee;
- tc.free = free;
- tc.name = name;
- tc.passiveCost = passiveCost;
- tc.traffType = traffType;
- return tc;
- }
-
- RESETABLE<double> fee;
- RESETABLE<double> free;
- RESETABLE<int> traffType;
- RESETABLE<double> passiveCost;
- RESETABLE<std::string> name;
-};
-//-----------------------------------------------------------------------------
-struct TARIFF_DATA
-{
- TARIFF_CONF tariffConf;
- std::vector<DIRPRICE_DATA> dirPrice;
-
- TARIFF_DATA()
- : tariffConf(),
- dirPrice(DIR_NUM)
- {}
-
- TARIFF_DATA(const std::string & name)
- : tariffConf(name),
- dirPrice(DIR_NUM)
- {}
-
- TARIFF_DATA(const TARIFF_DATA & td)
- : tariffConf(td.tariffConf),
- dirPrice(td.dirPrice)
- {}
-
- TARIFF_DATA & operator=(const TARIFF_DATA & td)
- {
- tariffConf = td.tariffConf;
- dirPrice = td.dirPrice;
- return *this;
- };
-};
-//-----------------------------------------------------------------------------
-struct TARIFF_DATA_RES
-{
- TARIFF_CONF_RES tariffConf;
- std::vector<DIRPRICE_DATA_RES> dirPrice;
-
- TARIFF_DATA_RES()
- : tariffConf(),
- dirPrice(DIR_NUM)
- {}
-
- TARIFF_DATA GetData()
- {
- TARIFF_DATA td;
- td.tariffConf = tariffConf.GetData();
- for (int i = 0; i < DIR_NUM; i++)
- td.dirPrice[i] = dirPrice[i].GetData();
- return td;
- }
-};
-//-----------------------------------------------------------------------------
-#endif