X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/bd66b226090397493de8d87649b2bbad3ac89e36..2574a28cbf000603bc31f61593dbf061ff56c1d5:/projects/stargazer/plugins/store/firebird/firebird_store_services.cpp diff --git a/projects/stargazer/plugins/store/firebird/firebird_store_services.cpp b/projects/stargazer/plugins/store/firebird/firebird_store_services.cpp index 7d7b3d53..2afe1181 100644 --- a/projects/stargazer/plugins/store/firebird/firebird_store_services.cpp +++ b/projects/stargazer/plugins/store/firebird/firebird_store_services.cpp @@ -28,24 +28,26 @@ */ #include "firebird_store.h" + #include "stg/ibpp.h" +#include "stg/service_conf.h" +#include "stg/common.h" //----------------------------------------------------------------------------- -int FIREBIRD_STORE::GetServicesList(vector * servicesList) const +int FIREBIRD_STORE::GetServicesList(std::vector * servicesList) const { -STG_LOCKER lock(&mutex, __FILE__, __LINE__); +std::lock_guard lock(m_mutex); IBPP::Transaction tr = IBPP::TransactionFactory(db, IBPP::amRead, til, tlr); IBPP::Statement st = IBPP::StatementFactory(db, tr); -string name; - try { tr->Start(); st->Execute("select name from tb_services"); while (st->Fetch()) { + std::string name; st->Get(1, name); servicesList->push_back(name); } @@ -63,9 +65,9 @@ catch (IBPP::Exception & ex) return 0; } //----------------------------------------------------------------------------- -int FIREBIRD_STORE::SaveService(const SERVICE_CONF & sc) const +int FIREBIRD_STORE::SaveService(const STG::ServiceConf & sc) const { -STG_LOCKER lock(&mutex, __FILE__, __LINE__); +std::lock_guard lock(m_mutex); IBPP::Transaction tr = IBPP::TransactionFactory(db, IBPP::amWrite, til, tlr); IBPP::Statement st = IBPP::StatementFactory(db, tr); @@ -80,7 +82,7 @@ try where name = ?"); st->Set(1, sc.comment); st->Set(2, sc.cost); - st->Set(3, sc.payDay); + st->Set(3, static_cast(sc.payDay)); st->Set(4, sc.name); st->Execute(); tr->Commit(); @@ -97,10 +99,10 @@ catch (IBPP::Exception & ex) return 0; } //----------------------------------------------------------------------------- -int FIREBIRD_STORE::RestoreService(SERVICE_CONF * sc, - const string & name) const +int FIREBIRD_STORE::RestoreService(STG::ServiceConf * sc, + const std::string & name) const { -STG_LOCKER lock(&mutex, __FILE__, __LINE__); +std::lock_guard lock(m_mutex); IBPP::Transaction tr = IBPP::TransactionFactory(db, IBPP::amRead, til, tlr); IBPP::Statement st = IBPP::StatementFactory(db, tr); @@ -115,7 +117,9 @@ try { st->Get(3, sc->comment); st->Get(4, sc->cost); - st->Get(5, sc->payDay); + int16_t pd; + st->Get(5, pd); + sc->payDay = static_cast(pd); } else { @@ -138,9 +142,9 @@ catch (IBPP::Exception & ex) return 0; } //----------------------------------------------------------------------------- -int FIREBIRD_STORE::AddService(const string & name) const +int FIREBIRD_STORE::AddService(const std::string & name) const { -STG_LOCKER lock(&mutex, __FILE__, __LINE__); +std::lock_guard lock(m_mutex); IBPP::Transaction tr = IBPP::TransactionFactory(db, IBPP::amWrite, til, tlr); IBPP::Statement st = IBPP::StatementFactory(db, tr); @@ -166,9 +170,9 @@ catch (IBPP::Exception & ex) return 0; } //----------------------------------------------------------------------------- -int FIREBIRD_STORE::DelService(const string & name) const +int FIREBIRD_STORE::DelService(const std::string & name) const { -STG_LOCKER lock(&mutex, __FILE__, __LINE__); +std::lock_guard lock(m_mutex); IBPP::Transaction tr = IBPP::TransactionFactory(db, IBPP::amWrite, til, tlr); IBPP::Statement st = IBPP::StatementFactory(db, tr);