X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/a6680ce3d763763a6010c81c8a5a8f7a1ce052db..ebd170a764ab9660adee464588cda1801c7986b4:/projects/stargazer/plugins/store/firebird/firebird_store_tariffs.cpp diff --git a/projects/stargazer/plugins/store/firebird/firebird_store_tariffs.cpp b/projects/stargazer/plugins/store/firebird/firebird_store_tariffs.cpp index 6f8177ca..93360f21 100644 --- a/projects/stargazer/plugins/store/firebird/firebird_store_tariffs.cpp +++ b/projects/stargazer/plugins/store/firebird/firebird_store_tariffs.cpp @@ -26,10 +26,14 @@ * */ -#include - #include "firebird_store.h" + #include "stg/ibpp.h" +#include "stg/tariff.h" +#include "stg/tariff_conf.h" +#include "stg/common.h" + +#include namespace { @@ -41,19 +45,18 @@ const int pt_mega = 1024 * 1024; //----------------------------------------------------------------------------- int FIREBIRD_STORE::GetTariffsList(std::vector * tariffsList) const { -STG_LOCKER lock(&mutex); +std::lock_guard lock(m_mutex); IBPP::Transaction tr = IBPP::TransactionFactory(db, IBPP::amRead, til, tlr); IBPP::Statement st = IBPP::StatementFactory(db, tr); -std::string name; - try { tr->Start(); st->Execute("select name from tb_tariffs"); while (st->Fetch()) { + std::string name; st->Get(1, name); tariffsList->push_back(name); } @@ -73,7 +76,7 @@ return 0; //----------------------------------------------------------------------------- int FIREBIRD_STORE::AddTariff(const std::string & name) const { -STG_LOCKER lock(&mutex); +std::lock_guard lock(m_mutex); IBPP::Transaction tr = IBPP::TransactionFactory(db, IBPP::amWrite, til, tlr); IBPP::Statement st = IBPP::StatementFactory(db, tr); @@ -101,7 +104,7 @@ return 0; //----------------------------------------------------------------------------- int FIREBIRD_STORE::DelTariff(const std::string & name) const { -STG_LOCKER lock(&mutex); +std::lock_guard lock(m_mutex); IBPP::Transaction tr = IBPP::TransactionFactory(db, IBPP::amWrite, til, tlr); IBPP::Statement st = IBPP::StatementFactory(db, tr); @@ -126,10 +129,10 @@ catch (IBPP::Exception & ex) return 0; } //----------------------------------------------------------------------------- -int FIREBIRD_STORE::SaveTariff(const TARIFF_DATA & td, +int FIREBIRD_STORE::SaveTariff(const STG::TariffData & td, const std::string & tariffName) const { -STG_LOCKER lock(&mutex); +std::lock_guard lock(m_mutex); IBPP::Transaction tr = IBPP::TransactionFactory(db, IBPP::amWrite, til, tlr); IBPP::Statement st = IBPP::StatementFactory(db, tr); @@ -174,13 +177,13 @@ try if (schemaVersion > 0) { - st->Set(5, TARIFF::PeriodToString(td.tariffConf.period)); + st->Set(5, STG::Tariff::toString(td.tariffConf.period)); ++num; } if (schemaVersion > 1) { - st->Set(6, TARIFF::ChangePolicyToString(td.tariffConf.changePolicy)); + st->Set(6, STG::Tariff::toString(td.tariffConf.changePolicy)); IBPP::Timestamp policyTimeout; time_t2ts(td.tariffConf.changePolicyTimeout, &policyTimeout); st->Set(7, policyTimeout); @@ -261,10 +264,10 @@ catch (IBPP::Exception & ex) return 0; } //----------------------------------------------------------------------------- -int FIREBIRD_STORE::RestoreTariff(TARIFF_DATA * td, +int FIREBIRD_STORE::RestoreTariff(STG::TariffData * td, const std::string & tariffName) const { -STG_LOCKER lock(&mutex); +std::lock_guard lock(m_mutex); IBPP::Transaction tr = IBPP::TransactionFactory(db, IBPP::amRead, til, tlr); IBPP::Statement st = IBPP::StatementFactory(db, tr); @@ -290,12 +293,12 @@ try st->Get(3, td->tariffConf.fee); st->Get(4, td->tariffConf.free); st->Get(5, td->tariffConf.passiveCost); - td->tariffConf.traffType = TARIFF::IntToTraffType(Get(st, 6)); + td->tariffConf.traffType = STG::Tariff::fromInt(Get(st, 6)); if (schemaVersion > 0) - td->tariffConf.period = TARIFF::StringToPeriod(Get(st, 7)); + td->tariffConf.period = STG::Tariff::parsePeriod(Get(st, 7)); if (schemaVersion > 1) { - td->tariffConf.changePolicy = TARIFF::StringToChangePolicy(Get(st, 8)); + td->tariffConf.changePolicy = STG::Tariff::parseChangePolicy(Get(st, 8)); td->tariffConf.changePolicyTimeout = ts2time_t(Get(st, 9)); } st->Close();