/* * @file Record.hpp * @author Mateusz Piesta (mateusz.piesta@mudita.com) * @date 29.05.19 * @brief * @copyright Copyright (C) 2019 mudita.com * @details */ #pragma once #include #include "../Database/Database.hpp" template class RecordInterface { public: RecordInterface(){}; virtual ~RecordInterface(){}; virtual bool Add(const T &) { return true; }; virtual bool RemoveByID(uint32_t id) { return true; }; virtual bool RemoveByField(F field, const char *str) { return true; }; virtual bool Update(const T &) { return true; }; virtual T GetByID(uint32_t id) { return T{}; }; virtual uint32_t GetCount() { return 0; } virtual std::unique_ptr> GetLimitOffset(uint32_t offset, uint32_t limit) { return std::make_unique>(); } virtual std::unique_ptr> GetLimitOffsetByField(uint32_t offset, uint32_t limit, F field, const char *str) { return std::make_unique>(); } };