-
Notifications
You must be signed in to change notification settings - Fork 0
/
updatecheck.cpp
71 lines (37 loc) · 1.55 KB
/
updatecheck.cpp
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include "updatecheck.h"
updateCheck::updateCheck(QObject *parent) :
QObject(parent)
{
version=VERSION;
QObject::connect(&m_namu, SIGNAL(finished(QNetworkReply*)), this, SLOT(parseNetworkResponse(QNetworkReply*)));
}
void updateCheck::getRequest( const QString &urlString )
{
QUrl url ( urlString );
QNetworkRequest req ( url );
req.setRawHeader( "User-Agent" , QString(genericHelper::getAppName()+"/"+version).toStdString().c_str());
req.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded" );
m_namu.get( req );
}
void updateCheck::getCheck()
{
genericHelper::log("update-check getCheck - "+genericHelper::getUpdateCheckUrl());
this->getRequest(genericHelper::getUpdateCheckUrl());
}
void updateCheck::parseNetworkResponse( QNetworkReply *finished )
{
if ( finished->error() != QNetworkReply::NoError )
{
genericHelper::log("update-check failed:"+finished->errorString());
//emit networkError( finished->errorString() );
return;
}
QByteArray data = finished->readAll();
QString latestVersion = QString(data).trimmed();
QString currentVersion = version;
genericHelper::log("update-check latest version:"+latestVersion);
genericHelper::log("update-check current version:"+currentVersion.replace(".",""));
if (latestVersion.replace(".","").toInt() > currentVersion.replace(".","").toInt()) {
emit updateReady( QString(data).trimmed() );
}
}