diff options
Diffstat (limited to 'launcher/updater/GoUpdate.h')
-rw-r--r-- | launcher/updater/GoUpdate.h | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/launcher/updater/GoUpdate.h b/launcher/updater/GoUpdate.h deleted file mode 100644 index 46a679ef..00000000 --- a/launcher/updater/GoUpdate.h +++ /dev/null @@ -1,125 +0,0 @@ -#pragma once -#include <QByteArray> -#include <net/NetJob.h> - -namespace GoUpdate -{ - -/** - * A temporary object exchanged between updated checker and the actual update task - */ -struct Status -{ - bool updateAvailable = false; - - int newVersionId = -1; - QString newRepoUrl; - - int currentVersionId = -1; - QString currentRepoUrl; - - // path to the root of the application - QString rootPath; -}; - -/** - * Struct that describes an entry in a VersionFileEntry's `Sources` list. - */ -struct FileSource -{ - FileSource(QString type, QString url, QString compression="") - { - this->type = type; - this->url = url; - this->compressionType = compression; - } - - bool operator==(const FileSource &f2) const - { - return type == f2.type && url == f2.url && compressionType == f2.compressionType; - } - - QString type; - QString url; - QString compressionType; -}; -typedef QList<FileSource> FileSourceList; - -/** - * Structure that describes an entry in a GoUpdate version's `Files` list. - */ -struct VersionFileEntry -{ - QString path; - int mode; - FileSourceList sources; - QString md5; - bool operator==(const VersionFileEntry &v2) const - { - return path == v2.path && mode == v2.mode && sources == v2.sources && md5 == v2.md5; - } -}; -typedef QList<VersionFileEntry> VersionFileList; - -/** - * Structure that describes an operation to perform when installing updates. - */ -struct Operation -{ - static Operation CopyOp(QString from, QString to, int fmode=0644) - { - return Operation{OP_REPLACE, from, to, fmode}; - } - static Operation DeleteOp(QString file) - { - return Operation{OP_DELETE, QString(), file, 0644}; - } - - // FIXME: for some types, some of the other fields are irrelevant! - bool operator==(const Operation &u2) const - { - return type == u2.type && - source == u2.source && - destination == u2.destination && - destinationMode == u2.destinationMode; - } - - //! Specifies the type of operation that this is. - enum Type - { - OP_REPLACE, - OP_DELETE, - } type; - - //! The source file, if any - QString source; - - //! The destination file. - QString destination; - - //! The mode to change the destination file to. - int destinationMode; -}; -typedef QList<Operation> OperationList; - -/** - * Loads the file list from the given version info JSON object into the given list. - */ -bool parseVersionInfo(const QByteArray &data, VersionFileList& list, QString &error); - -/*! - * Takes a list of file entries for the current version's files and the new version's files - * and populates the downloadList and operationList with information about how to download and install the update. - */ -bool processFileLists -( - const VersionFileList ¤tVersion, - const VersionFileList &newVersion, - const QString &rootPath, - const QString &tempPath, - NetJob::Ptr job, - OperationList &ops -); - -} -Q_DECLARE_METATYPE(GoUpdate::Status) |