From b6d455a02bd338e9dc0faa09d4d8177ecd8d569a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sun, 10 Apr 2016 15:53:05 +0200 Subject: NOISSUE reorganize and document libraries --- libraries/logic/updater/GoUpdate.h | 133 ------------------------------------- 1 file changed, 133 deletions(-) delete mode 100644 libraries/logic/updater/GoUpdate.h (limited to 'libraries/logic/updater/GoUpdate.h') diff --git a/libraries/logic/updater/GoUpdate.h b/libraries/logic/updater/GoUpdate.h deleted file mode 100644 index b8a534de..00000000 --- a/libraries/logic/updater/GoUpdate.h +++ /dev/null @@ -1,133 +0,0 @@ -#pragma once -#include -#include - -#include "multimc_logic_export.h" - -namespace GoUpdate -{ - -/** - * A temporary object exchanged between updated checker and the actual update task - */ -struct MULTIMC_LOGIC_EXPORT 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 MULTIMC_LOGIC_EXPORT 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 FileSourceList; - -/** - * Structure that describes an entry in a GoUpdate version's `Files` list. - */ -struct MULTIMC_LOGIC_EXPORT 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 VersionFileList; - -/** - * Structure that describes an operation to perform when installing updates. - */ -struct MULTIMC_LOGIC_EXPORT Operation -{ - static Operation CopyOp(QString fsource, QString fdest, int fmode=0644) - { - return Operation{OP_REPLACE, fsource, fdest, fmode}; - } - static Operation DeleteOp(QString file) - { - return Operation{OP_DELETE, file, "", 0644}; - } - - // FIXME: for some types, some of the other fields are irrelevant! - bool operator==(const Operation &u2) const - { - return type == u2.type && file == u2.file && dest == u2.dest && mode == u2.mode; - } - - //! Specifies the type of operation that this is. - enum Type - { - OP_REPLACE, - OP_DELETE, - } type; - - //! The file to operate on. - QString file; - - //! The destination file. - QString dest; - - //! The mode to change the source file to. - int mode; -}; -typedef QList OperationList; - -/** - * Loads the file list from the given version info JSON object into the given list. - */ -bool MULTIMC_LOGIC_EXPORT 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 MULTIMC_LOGIC_EXPORT processFileLists -( - const VersionFileList ¤tVersion, - const VersionFileList &newVersion, - const QString &rootPath, - const QString &tempPath, - NetJobPtr job, - OperationList &ops -); - -/*! - * This fixes destination paths for OSX - removes 'MultiMC.app' prefix - * The updater runs in MultiMC.app/Contents/MacOs by default - * The destination paths are such as this: MultiMC.app/blah/blah - * - * @return false if the path couldn't be fixed (is invalid) - */ -bool MULTIMC_LOGIC_EXPORT fixPathForOSX(QString &path); - -} -Q_DECLARE_METATYPE(GoUpdate::Status); \ No newline at end of file -- cgit v1.2.3