#pragma once #include #include #include #include "config.h" class Storage { public: Storage(const Config& config); uint64_t getNumberOfDocuments(); bool exists(const std::string& id); std::string getDocument(const std::string& id); int getRevision(const std::string& id); int getCursorPos(const std::string& id); std::tuple getRow(const std::string& id); void setDocument(const std::string& id, const std::string& document); void setRevision(const std::string& id, int rev); void setCursorPos(const std::string& id, int cursorPos); void setRow(const std::string& id, const std::string& document, int rev, int cursorPos); void cleanup(); private: SQLite::Database m_db; uint64_t m_maxage; };