#include #include #include #include "notificationmonitor.h" static NotificationMonitor *global_monitor = 0; NotificationMonitor::NotificationMonitor(QObject *parent) : QObject(parent) { QDBusConnection bus = QDBusConnection::sessionBus(); QDBusConnectionInterface *dbus = bus.interface(); dbus->call("AddMatch", "interface='org.freedesktop.Notifications',member='Notify',type='method_call',eavesdrop='true'"); } NotificationMonitor::~NotificationMonitor() { QDBusConnection bus = QDBusConnection::sessionBus(); QDBusConnectionInterface *dbus = bus.interface(); dbus->call("RemoveMatch", "interface='org.freedesktop.Notifications',member='Notify',type='method_call',eavesdrop='true'"); } NotificationMonitor *NotificationMonitor::instance() { if (!global_monitor) { global_monitor = new NotificationMonitor; } return global_monitor; }