26 #ifndef NOTIFICATION_H
27 #define NOTIFICATION_H
36 class NotificationBackend;
37 class NotificationPrivate;
38 class NotificationRequest;
39 class NotificationRequestPrivate;
40 class NotificationActionPrivate;
41 class NotificationBackendPrivate;
49 Q_DECLARE_PRIVATE(Notification)
52 typedef QSharedPointer<Notification> Ptr;
63 FileTransferCompleted,
89 Q_INVOKABLE
static QString typeText(
Type type);
90 Q_INVOKABLE
static QString descriptionText(
Type type);
102 QScopedPointer<NotificationPrivate> d_ptr;
118 NotificationAction();
119 NotificationAction(
const QIcon &icon,
const LocalizedString &title,
120 QObject *receiver,
const char *method);
121 NotificationAction(
const LocalizedString &title,
122 QObject *receiver,
const char *method);
123 NotificationAction(
const NotificationAction &action);
124 ~NotificationAction();
125 const NotificationAction &operator=(
const NotificationAction &rhs);
130 QObject *receiver()
const;
131 const char *method()
const;
132 void trigger()
const;
135 QSharedDataPointer<NotificationActionPrivate> d;
151 void setObject(QObject *obj);
152 QObject *object()
const;
153 void setImage(
const QPixmap &pixmap);
154 QPixmap image()
const;
155 void setTitle(
const QString &title);
156 QString title()
const;
157 void setText(
const QString &text);
158 QString text()
const;
161 void reject(
const QByteArray &reason);
162 QSet<QByteArray> rejectionReasons()
const;
163 void setBackends(
const QSet<QByteArray> &backendTypes);
164 void blockBackend(
const QByteArray &backendType);
165 void unblockBackend(
const QByteArray &backendType);
166 bool isBackendBlocked(
const QByteArray &backendType);
167 QVariant property(
const char *name,
const QVariant &def)
const;
169 T property(
const char *name,
const T &def)
const;
170 void setProperty(
const char *name,
const QVariant &value);
173 QList<NotificationAction> actions()
const;
176 QSharedDataPointer<NotificationRequestPrivate> d_ptr;
182 QVariant var =
property(name, QVariant::fromValue<T>(def));
183 return var.value<T>();
191 LowPriority = 0x00000100,
192 NormalPriortity = 0x00010000,
193 HighPriority = 0x01000000
195 virtual ~NotificationFilter();
197 static void registerFilter(NotificationFilter *handler,
198 int priority = NormalPriortity);
204 virtual void virtual_hook(
int id,
void *data);
215 QByteArray backendType()
const;
217 static QList<QByteArray> allTypes();
219 static QList<NotificationBackend*> all();
224 void allowRejectedNotifications(
const QByteArray &reason);
225 virtual void virtual_hook(
int id,
void *data);
228 QScopedPointer<NotificationBackendPrivate> d_ptr;
236 static void setBackendState(
const QByteArray &type,
bool enabled);
237 static void enableBackend(
const QByteArray &type);
238 static void disableBackend(
const QByteArray &type);
239 static bool isBackendEnabled(
const QByteArray &type);
243 void backendStateChanged(
const QByteArray &type,
bool enabled);
257 #endif // NOTIFICATION_H