]> git.stg.codes - stg.git/blobdiff - include/stg/store.h
More std::jthread
[stg.git] / include / stg / store.h
index 412ed65dc5bc200e1a13f3c3c8d04aa15eb83eb8..9d6dac96d674a9ddb656eb7bd3329c05e042db08 100644 (file)
  *    Author : Boris Mikhailenko <stg34@stargazer.dp.ua>
  */
 
  *    Author : Boris Mikhailenko <stg34@stargazer.dp.ua>
  */
 
- /*
- $Revision: 1.16 $
- $Date: 2010/01/19 11:09:48 $
- $Author: faust $
- */
+#pragma once
 
 
-#ifndef STORE_H
-#define STORE_H
+#include "stg/message.h"
+#include "stg/user_stat.h" // TraffStat is not forwardable
 
 #include <string>
 #include <vector>
 #include <map>
 
 
 #include <string>
 #include <vector>
 #include <map>
 
-#include "user_stat.h"
-#include "user_conf.h"
-#include "corp_conf.h"
-#include "service_conf.h"
-#include "admin_conf.h"
-#include "tariff_conf.h"
-#include "module_settings.h"
-#include "message.h"
+namespace STG
+{
+
+struct UserConf;
+struct CorpConf;
+struct ServiceConf;
+struct AdminConf;
+struct TariffData;
+struct ModuleSettings;
+class DirTraff;
 
 //-----------------------------------------------------------------------------
 
 //-----------------------------------------------------------------------------
-class STORE {
-public:
-    virtual ~STORE() {}
-    virtual int GetUsersList(std::vector<std::string> * usersList) const = 0;
-    virtual int AddUser(const std::string & login) const = 0;
-    virtual int DelUser(const std::string & login) const = 0;
-    virtual int SaveUserStat(const USER_STAT & stat, const std::string & login) const = 0;
-    virtual int SaveUserConf(const USER_CONF & conf, const std::string & login) const = 0;
-    virtual int RestoreUserStat(USER_STAT * stat, const std::string & login) const = 0;
-    virtual int RestoreUserConf(USER_CONF * conf, const std::string & login) const = 0;
-
-    virtual int WriteUserChgLog(const std::string & login,
-                                const std::string & admLogin,
+struct Store {
+    virtual ~Store() = default;
+
+    virtual int GetUsersList(std::vector<std::string>* usersList) const = 0;
+    virtual int AddUser(const std::string& login) const = 0;
+    virtual int DelUser(const std::string& login) const = 0;
+    virtual int SaveUserStat(const UserStat& stat, const std::string& login) const = 0;
+    virtual int SaveUserConf(const UserConf& conf, const std::string& login) const = 0;
+    virtual int RestoreUserStat(UserStat* stat, const std::string& login) const = 0;
+    virtual int RestoreUserConf(UserConf* conf, const std::string& login) const = 0;
+
+    virtual int WriteUserChgLog(const std::string& login,
+                                const std::string& admLogin,
                                 uint32_t admIP,
                                 uint32_t admIP,
-                                const std::string & paramName,
-                                const std::string & oldValue,
-                                const std::string & newValue,
-                                const std::string & message = "") const = 0;
-
-    virtual int WriteUserConnect(const std::string & login, uint32_t ip) const = 0;
-
-    virtual int WriteUserDisconnect(const std::string & login,
-                                    const DIR_TRAFF & up,
-                                    const DIR_TRAFF & down,
-                                    const DIR_TRAFF & sessionUp,
-                                    const DIR_TRAFF & sessionDown,
+                                const std::string& paramName,
+                                const std::string& oldValue,
+                                const std::string& newValue,
+                                const std::string& message = "") const = 0;
+
+    virtual int WriteUserConnect(const std::string& login, uint32_t ip) const = 0;
+
+    virtual int WriteUserDisconnect(const std::string& login,
+                                    const DirTraff& up,
+                                    const DirTraff& down,
+                                    const DirTraff& sessionUp,
+                                    const DirTraff& sessionDown,
                                     double cash,
                                     double freeMb,
                                     double cash,
                                     double freeMb,
-                                    const std::string & reason) const = 0;
+                                    const std::string& reason) const = 0;
 
 
-    virtual int WriteDetailedStat(const TRAFF_STAT & statTree,
+    virtual int WriteDetailedStat(const TraffStat& statTree,
                                   time_t lastStat,
                                   time_t lastStat,
-                                  const std::string & login) const = 0;
-
-    virtual int AddMessage(STG_MSG * msg, const std::string & login) const = 0;
-    virtual int EditMessage(const STG_MSG & msg, const std::string & login) const = 0;
-    virtual int GetMessage(uint64_t id, STG_MSG * msg, const std::string & login) const = 0;
-    virtual int DelMessage(uint64_t id, const std::string & login) const = 0;
-    virtual int GetMessageHdrs(std::vector<STG_MSG_HDR> * hdrsList, const std::string & login) const = 0;
-
-    virtual int SaveMonthStat(const USER_STAT & stat, int month, int year, const std::string & login) const = 0;
-
-    virtual int GetAdminsList(std::vector<std::string> * adminsList) const = 0;
-    virtual int SaveAdmin(const ADMIN_CONF & ac) const = 0;
-    virtual int RestoreAdmin(ADMIN_CONF * ac, const std::string & login) const = 0;
-    virtual int AddAdmin(const std::string & login) const = 0;
-    virtual int DelAdmin(const std::string & login) const = 0;
-
-    virtual int GetTariffsList(std::vector<std::string> * tariffsList) const = 0;
-    virtual int AddTariff(const std::string & name) const = 0;
-    virtual int DelTariff(const std::string & name) const = 0;
-    virtual int SaveTariff(const TARIFF_DATA & td, const std::string & tariffName) const = 0;
-    virtual int RestoreTariff(TARIFF_DATA * td, const std::string & tariffName) const = 0;
-
-    virtual int GetCorpsList(std::vector<std::string> * corpsList) const = 0;
-    virtual int SaveCorp(const CORP_CONF & cc) const = 0;
-    virtual int RestoreCorp(CORP_CONF * cc, const std::string & name) const = 0;
-    virtual int AddCorp(const std::string & name) const = 0;
-    virtual int DelCorp(const std::string & name) const = 0;
-
-    virtual int GetServicesList(std::vector<std::string> * corpsList) const = 0;
-    virtual int SaveService(const SERVICE_CONF & sc) const = 0;
-    virtual int RestoreService(SERVICE_CONF * sc, const std::string & name) const = 0;
-    virtual int AddService(const std::string & name) const = 0;
-    virtual int DelService(const std::string & name) const = 0;
-
-    virtual void SetSettings(const MODULE_SETTINGS & s) = 0;
+                                  const std::string& login) const = 0;
+
+    virtual int AddMessage(Message* msg, const std::string& login) const = 0;
+    virtual int EditMessage(const Message& msg, const std::string& login) const = 0;
+    virtual int GetMessage(uint64_t id, Message* msg, const std::string& login) const = 0;
+    virtual int DelMessage(uint64_t id, const std::string& login) const = 0;
+    virtual int GetMessageHdrs(std::vector<Message::Header>* hdrsList, const std::string& login) const = 0;
+
+    virtual int SaveMonthStat(const UserStat& stat, int month, int year, const std::string& login) const = 0;
+
+    virtual int GetAdminsList(std::vector<std::string>* adminsList) const = 0;
+    virtual int SaveAdmin(const AdminConf& ac) const = 0;
+    virtual int RestoreAdmin(AdminConf* ac, const std::string& login) const = 0;
+    virtual int AddAdmin(const std::string& login) const = 0;
+    virtual int DelAdmin(const std::string& login) const = 0;
+
+    virtual int GetTariffsList(std::vector<std::string>* tariffsList) const = 0;
+    virtual int AddTariff(const std::string& name) const = 0;
+    virtual int DelTariff(const std::string& name) const = 0;
+    virtual int SaveTariff(const TariffData& td, const std::string& tariffName) const = 0;
+    virtual int RestoreTariff(TariffData* td, const std::string& tariffName) const = 0;
+
+    virtual int GetCorpsList(std::vector<std::string>* corpsList) const = 0;
+    virtual int SaveCorp(const CorpConf& cc) const = 0;
+    virtual int RestoreCorp(CorpConf* cc, const std::string& name) const = 0;
+    virtual int AddCorp(const std::string& name) const = 0;
+    virtual int DelCorp(const std::string& name) const = 0;
+
+    virtual int GetServicesList(std::vector<std::string>* corpsList) const = 0;
+    virtual int SaveService(const ServiceConf& sc) const = 0;
+    virtual int RestoreService(ServiceConf* sc, const std::string& name) const = 0;
+    virtual int AddService(const std::string& name) const = 0;
+    virtual int DelService(const std::string& name) const = 0;
+
+    virtual void SetSettings(const ModuleSettings& s) = 0;
     virtual int ParseSettings() = 0;
     virtual int ParseSettings() = 0;
-    virtual const std::string & GetStrError() const = 0;
-    virtual const std::string & GetVersion() const = 0;
+    virtual const std::string& GetStrError() const = 0;
+    virtual const std::string& GetVersion() const = 0;
 };
 //-----------------------------------------------------------------------------
 };
 //-----------------------------------------------------------------------------
-
-#endif
+}