Note to self: a QSet is not ordered.
[quassel.git] / src / uisupport / abstractnotificationbackend.h
index 22c7600..c7112af 100644 (file)
@@ -32,10 +32,21 @@ class AbstractNotificationBackend : public QObject {
   Q_OBJECT
 
   public:
-    //AbstractNotificationBackend(QObject *parent);
-    //virtual ~AbstractNotificationBackend();
+    struct Notification {
+      uint notificationId;
+      BufferId bufferId;
+      QString sender;
+      QString message;
 
-    virtual void notify(BufferId bufId, const QString &sender, const QString &text) = 0;
+      Notification(uint id_, BufferId buf_, const QString &sender_, const QString &msg_)
+      : notificationId(id_), bufferId(buf_), sender(sender_), message(msg_) {};
+    };
+
+    inline AbstractNotificationBackend(QObject *parent) : QObject(parent) {};
+    virtual ~AbstractNotificationBackend() {};
+
+    virtual void notify(const Notification &) = 0;
+    virtual void close(uint notificationId) { Q_UNUSED(notificationId); }
     virtual SettingsPage *configWidget() const = 0;
 
 };