55 lines
917 B
C
55 lines
917 B
C
|
#pragma once
|
||
|
|
||
|
#include <QObject>
|
||
|
|
||
|
#include "logic/net/NetJob.h"
|
||
|
#include "logic/net/CacheDownload.h"
|
||
|
|
||
|
class NotificationChecker : public QObject
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
|
||
|
public:
|
||
|
explicit NotificationChecker(QObject *parent = 0);
|
||
|
|
||
|
QUrl notificationsUrl() const;
|
||
|
void setNotificationsUrl(const QUrl ¬ificationsUrl);
|
||
|
|
||
|
struct NotificationEntry
|
||
|
{
|
||
|
int id;
|
||
|
QString message;
|
||
|
enum
|
||
|
{
|
||
|
Critical,
|
||
|
Warning,
|
||
|
Information
|
||
|
} type;
|
||
|
QString channel;
|
||
|
QString buildtype;
|
||
|
QString from;
|
||
|
QString to;
|
||
|
bool applies() const;
|
||
|
static bool versionLessThan(const QString &v1, const QString &v2);
|
||
|
};
|
||
|
|
||
|
QList<NotificationEntry> notificationEntries() const;
|
||
|
|
||
|
public
|
||
|
slots:
|
||
|
void checkForNotifications();
|
||
|
|
||
|
private
|
||
|
slots:
|
||
|
void downloadSucceeded(int);
|
||
|
|
||
|
signals:
|
||
|
void notificationCheckFinished();
|
||
|
|
||
|
private:
|
||
|
QList<NotificationEntry> m_entries;
|
||
|
QUrl m_notificationsUrl;
|
||
|
NetJobPtr m_checkJob;
|
||
|
CacheDownloadPtr m_download;
|
||
|
};
|