class AbstractNotificationBackend : public QObject {
Q_OBJECT
- public:
- struct Notification {
- uint notificationId;
- BufferId bufferId;
- QString sender;
- QString message;
-
- Notification(uint id_, BufferId buf_, const QString &sender_, const QString &msg_)
+public:
+ struct Notification {
+ uint notificationId;
+ BufferId bufferId;
+ QString sender;
+ QString message;
+
+ 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() {};
+ 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;
+ virtual void notify(const Notification &) = 0;
+ virtual void close(uint notificationId) { Q_UNUSED(notificationId); }
+ //! factory to create a configuration widget suitable for a specific notification backend
+ /**
+ * AbstractNotification will not take owner ship of that configWidget!
+ * in case you need to communicate with the configWidget directly, make your connections here
+ */
+ virtual SettingsPage *createConfigWidget() const = 0;
};
#endif