26 #ifndef NOTIFICATION_H
27 #define NOTIFICATION_H
33 namespace qutim_sdk_0_3
36 class NotificationBackend;
37 class NotificationPrivate;
38 class NotificationRequest;
39 class NotificationRequestPrivate;
40 class NotificationActionPrivate;
41 class NotificationBackendPrivate;
52 typedef QSharedPointer<Notification>
Ptr;
89 Q_INVOKABLE
static QString typeText(
Type type);
90 Q_INVOKABLE
static QString descriptionText(
Type type);
102 QScopedPointer<NotificationPrivate> d_ptr;
120 QObject *receiver,
const char *method);
122 QObject *receiver,
const char *method);
129 void setType(
Type type);
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
198 int priority = NormalPriortity);
203 virtual void notificationCreated(
Notification *notification);
204 virtual void virtual_hook(
int id,
void *data);
214 virtual void handleNotification(
Notification *notification) = 0;
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);
255 Q_DECLARE_INTERFACE(qutim_sdk_0_3::NotificationFilter, "org.qutim.core.NotificationFilter")
257 #endif // NOTIFICATION_H