File indexing completed on 2024-05-05 05:38:31

0001 /*
0002     SPDX-FileCopyrightText: 2020 Shah Bhushan <bshah@kde.org>
0003     SPDX-FileCopyrightText: 2018-2019 Kai Uwe Broulik <kde@privat.broulik.de>
0004 
0005     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0006 */
0007 
0008 #pragma once
0009 
0010 #include "abstractnotificationsmodel.h"
0011 
0012 #include "notificationmanager_export.h"
0013 
0014 namespace NotificationManager
0015 {
0016 class NOTIFICATIONMANAGER_EXPORT NotificationsModel : public AbstractNotificationsModel
0017 {
0018 public:
0019     using Ptr = std::shared_ptr<NotificationsModel>;
0020     static Ptr createNotificationsModel();
0021     void expire(uint notificationId) override;
0022     void close(uint notificationId) override;
0023 
0024     void invokeDefaultAction(uint notificationId, Notifications::InvokeBehavior behavior) override;
0025     void invokeAction(uint notificationId, const QString &actionName, Notifications::InvokeBehavior behavior) override;
0026     void reply(uint notificationId, const QString &text, Notifications::InvokeBehavior behavior) override;
0027 
0028     void configure(uint notificationId);
0029     void configure(const QString &desktopEntry, const QString &notifyRcName, const QString &eventId);
0030 
0031 private:
0032     NotificationsModel();
0033 };
0034 
0035 }