#ifndef DATABASE_MANAGER_H #define DATABASE_MANAGER_H #include #include #include 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