62 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#pragma once
 | 
						|
 | 
						|
#include <QObject>
 | 
						|
 | 
						|
#include "net/NetJob.h"
 | 
						|
#include "net/Download.h"
 | 
						|
 | 
						|
class NotificationChecker : public QObject
 | 
						|
{
 | 
						|
    Q_OBJECT
 | 
						|
 | 
						|
public:
 | 
						|
    explicit NotificationChecker(QObject *parent = 0);
 | 
						|
 | 
						|
    void setNotificationsUrl(const QUrl ¬ificationsUrl);
 | 
						|
    void setApplicationPlatform(QString platform);
 | 
						|
    void setApplicationChannel(QString channel);
 | 
						|
    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;
 | 
						|
 | 
						|
public
 | 
						|
slots:
 | 
						|
    void checkForNotifications();
 | 
						|
 | 
						|
private
 | 
						|
slots:
 | 
						|
    void downloadSucceeded(int);
 | 
						|
 | 
						|
signals:
 | 
						|
    void notificationCheckFinished();
 | 
						|
 | 
						|
private:
 | 
						|
    bool entryApplies(const NotificationEntry &entry) const;
 | 
						|
 | 
						|
private:
 | 
						|
    QList<NotificationEntry> m_entries;
 | 
						|
    QUrl m_notificationsUrl;
 | 
						|
    NetJob::Ptr m_checkJob;
 | 
						|
    Net::Download::Ptr m_download;
 | 
						|
 | 
						|
    QString m_appVersionChannel;
 | 
						|
    QString m_appPlatform;
 | 
						|
    QString m_appFullVersion;
 | 
						|
};
 |