fhq-server  v0.2.33
Documentation for fhq-server. FreeHackQuest is an open source platform for competitions of computer security.
postgresql_storage.h
Go to the documentation of this file.
1 #ifndef MYSQL_STORAGE_H
2 #define MYSQL_STORAGE_H
3 
4 #include <storages.h>
5 #include <map>
6 #include <mysql/mysql.h>
7 #include <mutex>
8 
9 class PostgreSqlStorageConnection : public StorageConnection {
10  public:
11  PostgreSqlStorageConnection(MYSQL *pConn, Storage *pStorage);
13  virtual bool executeQuery(const std::string &sQuery);
14  virtual std::string lastDatabaseVersion();
15  virtual bool insertUpdateInfo(const std::string &sVersion, const std::string &sDescription);
16  private:
17  MYSQL *m_pConnection;
18  std::mutex m_mtxConn;
19  Storage *m_pStorage;
20 };
21 
22 class PostgreSqlStorage : public Storage {
23  public:
25  static std::string type() { return "mysql"; };
26  virtual bool applyConfigFromFile(const std::string &sFilePath);
27  virtual StorageConnection *connect();
28  virtual void clean();
29  virtual std::vector<std::string> prepareSqlQueries(StorageStruct &storageStruct);
30  virtual std::vector<std::string> prepareSqlQueries(const StorageInsert &storageInsert);
31  virtual std::string prepareStringValue(const std::string &sValue);
32 
33  private:
34  std::string generateLineColumnForSql(StorageStructColumn &c);
35  std::string TAG;
36  std::string m_sDatabaseHost;
37  std::string m_sDatabaseName;
38  std::string m_sDatabaseUser;
39  std::string m_sDatabasePass;
41 };
42 
43 #endif // MYSQL_STORAGE_H
MYSQL * m_pConnection
Definition: postgresql_storage.h:17
std::string m_sDatabasePass
Definition: postgresql_storage.h:39
std::string m_sDatabaseName
Definition: postgresql_storage.h:37
Storage * m_pStorage
Definition: postgresql_storage.h:19
std::mutex m_mtxConn
Definition: postgresql_storage.h:18
Definition: postgresql_storage.h:9
Definition: postgresql_storage.h:22
virtual bool executeQuery(const std::string &sQuery)
Definition: postgresql_storage.cpp:25
virtual std::string lastDatabaseVersion()
Definition: postgresql_storage.cpp:42
std::string m_sDatabaseUser
Definition: postgresql_storage.h:38
static std::string type()
Definition: postgresql_storage.h:25
PostgreSqlStorageConnection(MYSQL *pConn, Storage *pStorage)
Definition: postgresql_storage.cpp:10
virtual ~PostgreSqlStorageConnection()
Definition: postgresql_storage.cpp:18
std::string TAG
Definition: postgresql_storage.h:35
virtual bool insertUpdateInfo(const std::string &sVersion, const std::string &sDescription)
Definition: postgresql_storage.cpp:87
int m_nDatabasePort
Definition: postgresql_storage.h:40
std::string m_sDatabaseHost
Definition: postgresql_storage.h:36