diff options
Diffstat (limited to 'logic/OneSixVersionBuilder.h')
-rw-r--r-- | logic/OneSixVersionBuilder.h | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/logic/OneSixVersionBuilder.h b/logic/OneSixVersionBuilder.h index ab0966df..8be3d9d3 100644 --- a/logic/OneSixVersionBuilder.h +++ b/logic/OneSixVersionBuilder.h @@ -17,31 +17,32 @@ #include <QString> #include <QMap> +#include "VersionFile.h" -class OneSixVersion; +class VersionFinal; class OneSixInstance; -class QWidget; class QJsonObject; class QFileInfo; -class VersionFile; class OneSixVersionBuilder { OneSixVersionBuilder(); public: - static bool build(OneSixVersion *version, OneSixInstance *instance, QWidget *widgetParent, const bool onlyVanilla); - static bool read(OneSixVersion *version, const QJsonObject &obj); + static void build(VersionFinal *version, OneSixInstance *instance, const bool onlyVanilla, + const QStringList &external); + static void readJsonAndApplyToVersion(VersionFinal *version, const QJsonObject &obj); + static QMap<QString, int> readOverrideOrders(OneSixInstance *instance); static bool writeOverrideOrders(const QMap<QString, int> &order, OneSixInstance *instance); private: - OneSixVersion *m_version; + VersionFinal *m_version; OneSixInstance *m_instance; - QWidget *m_widgetParent; - - bool build(const bool onlyVanilla); - bool read(const QJsonObject &obj); - bool read(const QFileInfo &fileInfo, const bool requireOrder, VersionFile *out); + void buildInternal(const bool onlyVanilla, const QStringList &external); + void readJsonAndApply(const QJsonObject &obj); + void finalizeVersion(); + VersionFilePtr parseJsonFile(const QFileInfo &fileInfo, const bool requireOrder, + bool isFTB = false); }; |