]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/store/postgresql/postgresql_store.h
Ticket 37. The switch case construction for changePolicy checking
[stg.git] / projects / stargazer / plugins / store / postgresql / postgresql_store.h
index d273803df0ec235536328fb95eae774e37b1a3e3..72a2c22c01c951fbd7bed410f12189036456776b 100644 (file)
 
 #include <string>
 #include <vector>
-#include <map>
 
-#include "store.h"
+#include "stg/store.h"
+#include "stg/logger.h"
 
 // Minimal DB version is 5
 // Recommended DB version is 6 (support FreeMb logging on disconnects)
 #define DB_MIN_VERSION 5
 
-extern "C" STORE * GetStore();
-
 class POSTGRESQL_STORE : public STORE {
 public:
     POSTGRESQL_STORE();
@@ -96,7 +94,7 @@ public:
     // Tariffs
     int GetTariffsList(std::vector<std::string> * tariffsList) const;
     int AddTariff(const std::string & name) const;
-    int DelTariff(const string & name) const;
+    int DelTariff(const std::string & name) const;
     int SaveTariff(const TARIFF_DATA & td, const std::string & tariffName) const;
     int RestoreTariff(TARIFF_DATA * td, const std::string & tariffName) const;
 
@@ -115,20 +113,23 @@ public:
     int DelService(const std::string & name) const;
 
     // Settings
-    inline void SetSettings(const MODULE_SETTINGS & s) { settings = s; };
+    inline void SetSettings(const MODULE_SETTINGS & s) { settings = s; }
     int ParseSettings();
 
-    inline const string & GetStrError() const { return strError; };
-    inline const string & GetVersion() const { return versionString; };
+    inline const std::string & GetStrError() const { return strError; }
+    inline const std::string & GetVersion() const { return versionString; }
 private:
+    POSTGRESQL_STORE(const POSTGRESQL_STORE & rvalue);
+    POSTGRESQL_STORE & operator=(const POSTGRESQL_STORE & rvalue);
+
     int StartTransaction() const;
     int CommitTransaction() const;
     int RollbackTransaction() const;
 
     int EscapeString(std::string & value) const;
 
-    std::string Int2TS(uint32_t value) const;
-    uint32_t TS2Int(const std::string & value) const;
+    std::string Int2TS(time_t value) const;
+    time_t TS2Int(const std::string & value) const;
 
     int SaveStat(const USER_STAT & stat, const std::string & login, int year = 0, int month = 0) const;
 
@@ -152,10 +153,11 @@ private:
     MODULE_SETTINGS settings;
     mutable pthread_mutex_t mutex;
     mutable int version;
+    int retries;
 
     PGconn * connection;
-};
 
-extern const volatile time_t stgTime;
+    PLUGIN_LOGGER logger;
+};
 
 #endif //POSTGRESQL_STORE_H