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 {
return qVariantValue<T>(
property(name, qVariantFromValue<T>(def))); }
171 void setProperty(
const char *name,
const QVariant &value);
174 QList<NotificationAction> actions()
const;
177 QSharedDataPointer<NotificationRequestPrivate> d_ptr;
185 LowPriority = 0x00000100,
186 NormalPriortity = 0x00010000,
187 HighPriority = 0x01000000
192 int priority = NormalPriortity);
197 virtual void notificationCreated(
Notification *notification);
198 virtual void virtual_hook(
int id,
void *data);
208 virtual void handleNotification(
Notification *notification) = 0;
209 QByteArray backendType()
const;
211 static QList<QByteArray> allTypes();
213 static QList<NotificationBackend*> all();
218 void allowRejectedNotifications(
const QByteArray &reason);
219 virtual void virtual_hook(
int id,
void *data);
222 QScopedPointer<NotificationBackendPrivate> d_ptr;
230 static void setBackendState(
const QByteArray &type,
bool enabled);
231 static void enableBackend(
const QByteArray &type);
232 static void disableBackend(
const QByteArray &type);
233 static bool isBackendEnabled(
const QByteArray &type);
237 void backendStateChanged(
const QByteArray &type,
bool enabled);
249 Q_DECLARE_INTERFACE(qutim_sdk_0_3::NotificationFilter, "org.qutim.core.NotificationFilter")
251 #endif // NOTIFICATION_H