#pragma once #include "../SqlQuery.h" namespace sql { namespace sqlite { class SqliteCommand : public CommandData { public: std::shared_ptr stmt = nullptr; }; class SqliteManager : public SqlManager { public: SqliteManager(); virtual ~SqliteManager(); result connect(const std::string &string) override; bool connected() override; result disconnect() override; sqlite3* getDatabase() { return this->database; } protected: std::shared_ptr copyCommandData(std::shared_ptr ptr) override; std::shared_ptr allocateCommandData() override; result executeCommand(std::shared_ptr ptr) override; result queryCommand(std::shared_ptr ptr, const QueryCallback&fn) override; private: std::shared_ptr allocateStatement(const std::string&); sqlite3* database = nullptr; }; } }