blob: 50f4b6b296dc8fa6aa90e70fbb49199cac2a22ec (
plain) (
blame)
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
|
#ifndef UPDATEMANAGER_H
#define UPDATEMANAGER_H
#ifdef PORTABLE_CONFIG
#include "common/global.h"
#include "sqlitestudio.h"
#include <QObject>
#include <functional>
#include <QProcess>
class QNetworkAccessManager;
class QNetworkReply;
class QTemporaryDir;
class QFile;
class API_EXPORT UpdateManager : public QObject
{
Q_OBJECT
public:
struct UpdateEntry
{
QString compontent;
QString version;
};
explicit UpdateManager(QObject *parent = 0);
~UpdateManager();
void checkForUpdates();
void update();
bool isPlatformEligibleForUpdate() const;
private:
QString updateBinaryAbsolutePath;
void checkForUpdatesAsync();
bool waitForProcess(QProcess& proc);
void processCheckResults(const QByteArray& results);
signals:
void updatesAvailable(const QList<UpdateManager::UpdateEntry>& updates);
void noUpdatesAvailable();
void updatingError(const QString& errorMessage);
};
Q_DECLARE_METATYPE(QList<UpdateManager::UpdateEntry>)
#define UPDATES SQLITESTUDIO->getUpdateManager()
#endif // PORTABLE_CONFIG
#endif // UPDATEMANAGER_H
|