2014-01-03 18:19:27 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <QObject>
|
|
|
|
|
2015-02-09 00:51:14 +00:00
|
|
|
#include "net/NetJob.h"
|
2016-05-28 17:54:17 +00:00
|
|
|
#include "net/Download.h"
|
2014-01-03 18:19:27 +00:00
|
|
|
|
2021-07-25 17:11:59 +00:00
|
|
|
class NotificationChecker : public QObject
|
2014-01-03 18:19:27 +00:00
|
|
|
{
|
2018-07-15 12:51:05 +00:00
|
|
|
Q_OBJECT
|
2014-01-03 18:19:27 +00:00
|
|
|
|
|
|
|
public:
|
2018-07-15 12:51:05 +00:00
|
|
|
explicit NotificationChecker(QObject *parent = 0);
|
|
|
|
|
|
|
|
void setNotificationsUrl(const QUrl ¬ificationsUrl);
|
|
|
|
void setApplicationPlatform(QString platform);
|
|
|
|
void setApplicationFullVersion(QString version);
|
|
|
|
|
|
|
|
struct NotificationEntry
|
|
|
|
{
|
|
|
|
int id;
|
|
|
|
QString message;
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
Critical,
|
|
|
|
Warning,
|
|
|
|
Information
|
|
|
|
} type;
|
|
|
|
QString channel;
|
|
|
|
QString platform;
|
|
|
|
QString from;
|
|
|
|
QString to;
|
|
|
|
};
|
|
|
|
|
|
|
|
QList<NotificationEntry> notificationEntries() const;
|
2014-01-03 18:19:27 +00:00
|
|
|
|
|
|
|
public
|
|
|
|
slots:
|
2018-07-15 12:51:05 +00:00
|
|
|
void checkForNotifications();
|
2014-01-03 18:19:27 +00:00
|
|
|
|
|
|
|
private
|
|
|
|
slots:
|
2018-07-15 12:51:05 +00:00
|
|
|
void downloadSucceeded(int);
|
2014-01-03 18:19:27 +00:00
|
|
|
|
|
|
|
signals:
|
2018-07-15 12:51:05 +00:00
|
|
|
void notificationCheckFinished();
|
2014-01-03 18:19:27 +00:00
|
|
|
|
2015-02-07 11:55:18 +00:00
|
|
|
private:
|
2018-07-15 12:51:05 +00:00
|
|
|
bool entryApplies(const NotificationEntry &entry) const;
|
2015-02-07 11:55:18 +00:00
|
|
|
|
2014-01-03 18:19:27 +00:00
|
|
|
private:
|
2018-07-15 12:51:05 +00:00
|
|
|
QList<NotificationEntry> m_entries;
|
|
|
|
QUrl m_notificationsUrl;
|
2021-11-21 22:21:12 +00:00
|
|
|
NetJob::Ptr m_checkJob;
|
2018-07-15 12:51:05 +00:00
|
|
|
Net::Download::Ptr m_download;
|
|
|
|
|
|
|
|
QString m_appVersionChannel;
|
|
|
|
QString m_appPlatform;
|
|
|
|
QString m_appFullVersion;
|
2014-01-03 18:19:27 +00:00
|
|
|
};
|