#ifndef SQLITEDAO_H #define SQLITEDAO_H #include #include #include #include #include #include "queryoption.h" #include "exceptions.h" #include "../logger.h" class SqliteDao { protected: std::shared_ptr db; public: SqliteDao() { } SqliteDao(std::shared_ptr db) { this->db = db; } void setDb(std::shared_ptr db) { this->db = db; } inline void throwFrom(const sqlite::sqlite_exception &e) const { std::string msg = "Sqlite Error: " + std::to_string(e.get_code()) + " SQL: " + e.get_sql(); Logger::error() << msg << " Extended code: " << e.get_extended_code(); throw DatabaseQueryException(msg); } bool execBool(sqlite::database_binder &binder) const; int execInt(sqlite::database_binder &binder) const; }; #endif // SQLITEDAO_H