Reorganize the version-related code.

This commit is contained in:
Petr Mrázek
2014-03-01 23:06:47 +01:00
parent 7dfd6aa051
commit 7c24bcc834
18 changed files with 880 additions and 849 deletions

View File

@@ -18,7 +18,7 @@
#include <QString>
#include <QMap>
class OneSixVersion;
class VersionFinal;
class OneSixInstance;
class QWidget;
class QJsonObject;
@@ -29,8 +29,9 @@ class OneSixVersionBuilder
{
OneSixVersionBuilder();
public:
static bool build(OneSixVersion *version, OneSixInstance *instance, QWidget *widgetParent, const bool onlyVanilla, const QStringList &external);
static bool read(OneSixVersion *version, const QJsonObject &obj);
static bool build(VersionFinal *version, OneSixInstance *instance, QWidget *widgetParent, const bool onlyVanilla, const QStringList &external);
static bool readJsonAndApplyToVersion(VersionFinal *version, const QJsonObject &obj);
static QMap<QString, int> readOverrideOrders(OneSixInstance *instance);
static bool writeOverrideOrders(const QMap<QString, int> &order, OneSixInstance *instance);
@@ -42,14 +43,14 @@ public:
Q_DECLARE_FLAGS(ParseFlags, ParseFlag)
private:
OneSixVersion *m_version;
VersionFinal *m_version;
OneSixInstance *m_instance;
QWidget *m_widgetParent;
bool build(const bool onlyVanilla, const QStringList &external);
bool read(const QJsonObject &obj);
bool buildInternal(const bool onlyVanilla, const QStringList &external);
bool readJsonAndApply(const QJsonObject &obj);
bool read(const QFileInfo &fileInfo, const bool requireOrder, VersionFile *out, const ParseFlags flags = NoFlags);
bool parseJsonFile(const QFileInfo &fileInfo, const bool requireOrder, VersionFile *out, const ParseFlags flags = NoFlags);
};
Q_DECLARE_OPERATORS_FOR_FLAGS(OneSixVersionBuilder::ParseFlags)