#ifndef REVISIONDAO_H #define REVISIONDAO_H #include #include #include "../revision.h" #include "queryoption.h" class RevisionDao { public: virtual void save(const Revision &revision) = 0; virtual std::vector getAllRevisions(QueryOption &options) = 0; virtual std::vector getAllRevisionsForPage(std::string pagename, QueryOption &option) = 0; virtual std::optional getCurrentForPage(std::string pagename) = 0; virtual std::optional getRevisionForPage(std::string pagnename, unsigned int revision) = 0; virtual unsigned int countTotalRevisions() = 0; virtual unsigned int countTotalRevisions(std::string pagename) = 0; virtual ~RevisionDao() { } }; #endif // REVISIONDAO_H