File indexing completed on 2024-04-28 16:54:37

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 namespace NotificationManager
0013 {
0014 class Q_DECL_EXPORT NotificationsModel : public AbstractNotificationsModel
0015 {
0016 public:
0017     using Ptr = QSharedPointer<NotificationsModel>;
0018     static Ptr createNotificationsModel();
0019     void expire(uint notificationId) override;
0020     void close(uint notificationId) override;
0021 
0022     void invokeDefaultAction(uint notificationId, Notifications::InvokeBehavior behavior) override;
0023     void invokeAction(uint notificationId, const QString &actionName, Notifications::InvokeBehavior behavior) override;
0024     void reply(uint notificationId, const QString &text, Notifications::InvokeBehavior behavior) override;
0025 
0026     void configure(uint notificationId);
0027     void configure(const QString &desktopEntry, const QString &notifyRcName, const QString &eventId);
0028 
0029 private:
0030     NotificationsModel();
0031 };
0032 
0033 }