summaryrefslogtreecommitdiff
path: root/InternetUpdater.h
blob: 7ed6abc98951b8aac16cbd0f7000f21ffafe143d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#ifndef INTERNETUPDATER_H
#define INTERNETUPDATER_H

#include "Environment.h"

#include <QObject>
#include <QString>
#include <QTimer>
#include <QNetworkAccessManager>
#include <QNetworkReply>

#ifdef ULTRACOPIER_INTERNET_SUPPORT

class InternetUpdater : public QObject
{
    Q_OBJECT
public:
    explicit InternetUpdater(QObject *parent = 0);
    ~InternetUpdater();
    void checkUpdate();
signals:
    void newUpdate(const std::string &version) const;
    void noNewUpdate() const;
private:
    QTimer newUpdateTimer;
    QTimer firstUpdateTimer;
    QNetworkAccessManager *qnam;//destroy to close connection
    QNetworkReply *reply;

    void downloadFileInternal(const bool force=false);
private slots:
    void downloadFile();
    void httpFinished();
};

#endif

#endif // INTERNETUPDATER_H