// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #pragma once #include "NotificationData.hpp" #include namespace sys { class Service; } class NotificationsRecord; namespace db { class NotificationMessage; namespace query::notifications { class GetAllResult; } } // namespace db namespace notifications { class NotificationProvider { template bool handleNotSeenWithCounter(NotificationsRecord &&record); public: explicit NotificationProvider(sys::Service *ownerService); void handle(db::query::notifications::GetAllResult *msg); void handle(db::NotificationMessage *msg); void handle(sys::phone_modes::Tethering tethering); void requestNotSeenNotifications(); void send(); using Notifications = std::map>; private: sys::Service *ownerService; Notifications notifications; }; } // namespace notifications