/* * @file NotesModel.hpp * @author Robert Borzecki (robert.borzecki@mudita.com) * @date 8 sie 2019 * @brief * @copyright Copyright (C) 2019 mudita.com * @details */ #ifndef MODULE_APPS_APPLICATION_NOTES_NOTESMODEL_HPP_ #define MODULE_APPS_APPLICATION_NOTES_NOTESMODEL_HPP_ #include #include "Interface/NotesRecord.hpp" #include "DatabaseModel.hpp" #include "NotesRecord.hpp" #include "Application.hpp" #include "ListItemProvider.hpp" /* * */ class NotesModel : public app::DatabaseModel, public gui::ListItemProvider { public: NotesModel(app::Application *app); virtual ~NotesModel(); // virtual methods void requestRecordsCount() override; bool updateRecords(std::unique_ptr> records, const uint32_t offset, const uint32_t limit, uint32_t count) override; void requestRecords(const uint32_t offset, const uint32_t limit) override; // virtual methods for ListViewProvider gui::ListItem *getItem( int index, int firstElement, int prevElement, uint32_t count, int remaining, bool topDown) override; int getItemCount() const override { return recordsCount; }; }; #endif /* MODULE_APPS_APPLICATION_NOTES_NOTESMODEL_HPP_ */