// Copyright (c) 2017-2024, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/blob/master/LICENSE.md #pragma once #include "DatabaseModel.hpp" #include "Application.hpp" #include "ListItemProvider.hpp" #include "Common/Query.hpp" #include "Interface/ThreadRecord.hpp" #include #include struct ThreadListStruct { std::shared_ptr thread; std::shared_ptr contact; std::shared_ptr number; ThreadListStruct(std::shared_ptr thread, std::shared_ptr contact, std::shared_ptr number) : thread(thread), contact(contact), number(number) {} }; class BaseThreadsRecordModel : public app::DatabaseModel, public gui::ListItemProvider { public: BaseThreadsRecordModel() = delete; BaseThreadsRecordModel(app::ApplicationCommon *app); unsigned int requestRecordsCount() override; bool updateRecords(std::vector records) override; app::ApplicationCommon *getApplication(void) { return application; }; };