From 29cdc9364b0153d04a211adf3eab86076174c0a1 Mon Sep 17 00:00:00 2001 From: Petr Mrázek Date: Mon, 3 Mar 2014 01:23:10 +0100 Subject: More code butchery related to version files. No end in sight. --- logic/VersionFile.h | 85 +++++++++++++++++++++++++++-------------------------- 1 file changed, 44 insertions(+), 41 deletions(-) (limited to 'logic/VersionFile.h') diff --git a/logic/VersionFile.h b/logic/VersionFile.h index 37c8c415..0f183ae8 100644 --- a/logic/VersionFile.h +++ b/logic/VersionFile.h @@ -20,8 +20,50 @@ public: virtual ~VersionBuildError() {}; }; +struct RawLibrary +{ + QString name; + QString url; + QString hint; + QString absoluteUrl; + bool applyExcludes = false; + QStringList excludes; + bool applyNatives = false; + QList> natives; + bool applyRules = false; + QList> rules; + + // user for '+' libraries + enum InsertType + { + Apply, + Append, + Prepend, + Replace + }; + InsertType insertType = Append; + QString insertData; + enum DependType + { + Soft, + Hard + }; + DependType dependType = Soft; + + static RawLibrary fromJson(const QJsonObject &libObj, const QString &filename); +}; + struct VersionFile { +public: /* methods */ + static VersionFile fromJson(const QJsonDocument &doc, const QString &filename, + const bool requireOrder, const bool isFTB = false); + + static std::shared_ptr createLibrary(const RawLibrary &lib); + int findLibrary(QList> haystack, const QString &needle); + void applyTo(VersionFinal *version); + +public: /* data */ int order; QString name; QString fileId; @@ -48,47 +90,8 @@ struct VersionFile QStringList addTweakers; QStringList removeTweakers; - struct Library - { - QString name; - QString url; - QString hint; - QString absoluteUrl; - bool applyExcludes = false; - QStringList excludes; - bool applyNatives = false; - QList> natives; - bool applyRules = false; - QList> rules; - - // user for '+' libraries - enum InsertType - { - Apply, - Append, - Prepend, - Replace - }; - InsertType insertType = Append; - QString insertData; - enum DependType - { - Soft, - Hard - }; - DependType dependType = Soft; - - static Library fromJson(const QJsonObject &libObj, const QString &filename); - }; bool shouldOverwriteLibs = false; - QList overwriteLibs; - QList addLibs; + QList overwriteLibs; + QList addLibs; QList removeLibs; - - static VersionFile fromJson(const QJsonDocument &doc, const QString &filename, - const bool requireOrder, const bool isFTB = false); - - static std::shared_ptr createLibrary(const Library &lib); - int findLibrary(QList> haystack, const QString &needle); - void applyTo(VersionFinal *version); }; \ No newline at end of file -- cgit