#ifndef SQLITE_H #define SQLITE_H #include #include #include #include "database.h" class Sqlite : public Database { private: bool inTransaction = false; std::shared_ptr db; template std::unique_ptr create() const { return std::make_unique(db); } public: Sqlite(std::string path); std::unique_ptr createPageDao() const; std::unique_ptr createRevisionDao() const; std::unique_ptr createUserDao() const; std::unique_ptr createSessionDao() const; std::unique_ptr createCategoryDao() const; void beginTransaction(); void commitTransaction(); void rollbackTransaction(); }; #endif // SQLITE_H