32 lines
795 B
C++
32 lines
795 B
C++
|
|
#ifndef DATABASE_MANAGER_H
|
||
|
|
#define DATABASE_MANAGER_H
|
||
|
|
|
||
|
|
#include <QMutex>
|
||
|
|
#include <QSqlDatabase>
|
||
|
|
#include <QString>
|
||
|
|
|
||
|
|
class DatabaseManager {
|
||
|
|
public:
|
||
|
|
enum class CreateDatabaseResult { Success, AlreadyExists, Error };
|
||
|
|
|
||
|
|
private:
|
||
|
|
~DatabaseManager();
|
||
|
|
|
||
|
|
DatabaseManager(const DatabaseManager &) = delete;
|
||
|
|
DatabaseManager &operator=(const DatabaseManager &) = delete;
|
||
|
|
|
||
|
|
public:
|
||
|
|
static CreateDatabaseResult
|
||
|
|
createDefaultDatabaseIfMissing(const QString &databaseFileName);
|
||
|
|
|
||
|
|
static bool connectToDefaultDatabase(const QString &databaseFileName);
|
||
|
|
|
||
|
|
static void disconnectDefaultDatabase();
|
||
|
|
|
||
|
|
private:
|
||
|
|
static bool databaseFileExists(const QString &databaseName, QSqlDatabase &db);
|
||
|
|
static bool executeSqlFiles(const QStringList &filePaths, QSqlDatabase &db);
|
||
|
|
};
|
||
|
|
|
||
|
|
#endif // DATABASE_MANAGER_H
|