X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/57de0355b9a289dc3a2f219f0ea32145bdd7e69b..2574a28cbf000603bc31f61593dbf061ff56c1d5:/projects/stargazer/plugins/store/postgresql/postgresql_store.cpp diff --git a/projects/stargazer/plugins/store/postgresql/postgresql_store.cpp b/projects/stargazer/plugins/store/postgresql/postgresql_store.cpp index 80431c0d..e5738286 100644 --- a/projects/stargazer/plugins/store/postgresql/postgresql_store.cpp +++ b/projects/stargazer/plugins/store/postgresql/postgresql_store.cpp @@ -38,46 +38,34 @@ * */ +#include "postgresql_store.h" + +#include "stg/common.h" // str2x, printfd + #include #include #include -#include "stg/module_settings.h" -#include "stg/plugin_creator.h" -#include "postgresql_store_utils.h" -#include "postgresql_store.h" - -namespace -{ -PLUGIN_CREATOR pgsc; -} - -extern "C" STORE * GetStore(); - -//----------------------------------------------------------------------------- -STORE * GetStore() +extern "C" STG::Store* GetStore() { -return pgsc.GetPlugin(); + static POSTGRESQL_STORE plugin; + return &plugin; } //----------------------------------------------------------------------------- POSTGRESQL_STORE::POSTGRESQL_STORE() : versionString("postgresql_store v.1.3"), - strError(), server("localhost"), database("stargazer"), user("stg"), password("123456"), clientEncoding("KOI8"), - settings(), - mutex(), version(0), retries(3), connection(NULL), - logger(GetPluginLogger(GetStgLogger(), "store_postgresql")) + logger(STG::PluginLogger::get("store_postgresql")) { -pthread_mutex_init(&mutex, NULL); } //----------------------------------------------------------------------------- POSTGRESQL_STORE::~POSTGRESQL_STORE() @@ -86,36 +74,36 @@ if (connection) { PQfinish(connection); } -pthread_mutex_destroy(&mutex); } //----------------------------------------------------------------------------- int POSTGRESQL_STORE::ParseSettings() { -std::vector::iterator i; -std::string s; +std::vector::iterator i; for(i = settings.moduleParams.begin(); i != settings.moduleParams.end(); ++i) { - s = ToLower(i->param); + if (i->value.empty()) + continue; + std::string s = ToLower(i->param); if (s == "server") { - server = *(i->value.begin()); + server = i->value.front(); } if (s == "database") { - database = *(i->value.begin()); + database = i->value.front(); } if (s == "user") { - user = *(i->value.begin()); + user = i->value.front(); } if (s == "password") { - password = *(i->value.begin()); + password = i->value.front(); } if (s == "retries") { - if (str2x(*(i->value.begin()), retries)) + if (str2x(i->value.front(), retries)) { strError = "Invalid 'retries' value"; printfd(__FILE__, "POSTGRESQL_STORE::ParseSettings(): '%s'\n", strError.c_str());