1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
/*
This file is part of the KDE libraries
SPDX-FileCopyrightText: 2005 Olivier Goffart <ogoffart at kde.org>
SPDX-FileCopyrightText: 2006 Thiago Macieira <thiago@kde.org>
SPDX-License-Identifier: LGPL-2.0-only
*/
#ifndef KNOTIFICATIONMANAGER_H
#define KNOTIFICATIONMANAGER_H
#include <knotification.h>
class KNotification;
class QPixmap;
class QStringList;
class KNotificationPlugin;
/**
* @internal
* @author Olivier Goffart
*/
class KNotificationManager : public QObject
{
Q_OBJECT
public:
static KNotificationManager *self();
~KNotificationManager();
KNotificationPlugin *pluginForAction(const QString& action);
/**
* send the dbus call to the knotify server
*/
int notify(KNotification *n);
/**
* send the close dcop call to the knotify server for the notification with the identifier @p id .
* And remove the notification from the internal map
* @param id the id of the notification
* @param force if false, only close registered notification
*/
void close(int id, bool force = false);
/**
* update one notification text and pixmap and actions
*/
void update(KNotification *n);
/**
* re-emit the notification, eventually with new contexts
*/
void reemit(KNotification *n);
private Q_SLOTS:
void notificationClosed();
void notificationActivated(int id, int action);
void notifyPluginFinished(KNotification *notification);
void reparseConfiguration(const QString &app);
private:
struct Private;
Private *const d;
KNotificationManager();
friend class KNotificationManagerSingleton;
};
#endif
|