diff options
Diffstat (limited to 'api/logic/meta/Version.h')
-rw-r--r-- | api/logic/meta/Version.h | 48 |
1 files changed, 36 insertions, 12 deletions
diff --git a/api/logic/meta/Version.h b/api/logic/meta/Version.h index b3943f47..1d921035 100644 --- a/api/logic/meta/Version.h +++ b/api/logic/meta/Version.h @@ -17,15 +17,14 @@ #include "BaseVersion.h" -#include <QVector> -#include <QStringList> #include <QJsonObject> +#include <QStringList> +#include <QVector> #include <memory> #include "minecraft/VersionFile.h" #include "BaseEntity.h" -#include "Reference.h" #include "multimc_logic_export.h" @@ -37,10 +36,11 @@ class MULTIMC_LOGIC_EXPORT Version : public QObject, public BaseVersion, public { Q_OBJECT Q_PROPERTY(QString uid READ uid CONSTANT) + Q_PROPERTY(QString parentUid READ parentUid) Q_PROPERTY(QString version READ version CONSTANT) Q_PROPERTY(QString type READ type NOTIFY typeChanged) Q_PROPERTY(QDateTime time READ time NOTIFY timeChanged) - Q_PROPERTY(QVector<Reference> requires READ requires NOTIFY requiresChanged) + Q_PROPERTY(QHash<QString, QString> requires READ requires NOTIFY requiresChanged) public: /* con/des */ explicit Version(const QString &uid, const QString &version); @@ -49,13 +49,35 @@ public: /* con/des */ QString name() override; QString typeString() const override; - QString uid() const { return m_uid; } - QString version() const { return m_version; } - QString type() const { return m_type; } + QString uid() const + { + return m_uid; + } + QString parentUid() const + { + return m_parentUid; + } + QString version() const + { + return m_version; + } + QString type() const + { + return m_type; + } QDateTime time() const; - qint64 rawTime() const { return m_time; } - QVector<Reference> requires() const { return m_requires; } - VersionFilePtr data() const { return m_data; } + qint64 rawTime() const + { + return m_time; + } + const QHash<QString, QString> &requires() const + { + return m_requires; + } + VersionFilePtr data() const + { + return m_data; + } void merge(const std::shared_ptr<BaseEntity> &other) override; void parse(const QJsonObject &obj) override; @@ -63,9 +85,10 @@ public: /* con/des */ QString localFilename() const override; public: // for usage by format parsers only + void setParentUid(const QString &parentUid); void setType(const QString &type); void setTime(const qint64 time); - void setRequires(const QVector<Reference> &requires); + void setRequires(const QHash<QString, QString> &requires); void setData(const VersionFilePtr &data); signals: @@ -76,10 +99,11 @@ signals: private: QString m_name; QString m_uid; + QString m_parentUid; QString m_version; QString m_type; qint64 m_time; - QVector<Reference> m_requires; + QHash<QString, QString> m_requires; VersionFilePtr m_data; }; } |