From ead4c17d0abd25e61e23a9324a29f2ef9bbd222e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Mon, 7 Mar 2016 22:26:44 +0100 Subject: NOISSUE hide mojang structs inside the mojang format entirely --- logic/minecraft/MojangDownloadInfo.h | 87 +++++++++++++----------------------- 1 file changed, 31 insertions(+), 56 deletions(-) (limited to 'logic/minecraft/MojangDownloadInfo.h') diff --git a/logic/minecraft/MojangDownloadInfo.h b/logic/minecraft/MojangDownloadInfo.h index 780318b8..d8cd2e6d 100644 --- a/logic/minecraft/MojangDownloadInfo.h +++ b/logic/minecraft/MojangDownloadInfo.h @@ -2,42 +2,30 @@ #include #include -class MojangDownloadInfo +struct MojangDownloadInfo { - friend class MojangVersionFormat; -public: - QString getUrl() - { - return m_url; - } - - QString getSha1() - { - return m_sha1; - } + // types + typedef std::shared_ptr Ptr; - int getSize() - { - return m_size; - } - -protected: + // data /// Local filesystem path. WARNING: not used, only here so we can pass through mojang files unmolested! - QString m_path; + QString path; /// absolute URL of this file - QString m_url; + QString url; /// sha-1 checksum of the file - QString m_sha1; + QString sha1; /// size of the file in bytes - int m_size; + int size; }; -typedef std::shared_ptr MojangDownloadInfoPtr; -class MojangLibraryDownloadInfo + +struct MojangLibraryDownloadInfo { - friend class MojangVersionFormat; -public: + // types + typedef std::shared_ptr Ptr; + + // methods MojangDownloadInfo *getDownloadInfo(QString classifier) { if (classifier.isNull()) @@ -47,46 +35,33 @@ public: return classifiers[classifier].get(); } -private: - MojangDownloadInfoPtr artifact; - QMap classifiers; + + // data + MojangDownloadInfo::Ptr artifact; + QMap classifiers; }; -typedef std::shared_ptr MojangLibraryDownloadInfoPtr; -class MojangAssetIndexInfo : public MojangDownloadInfo + +struct MojangAssetIndexInfo : public MojangDownloadInfo { - friend class MojangVersionFormat; -public: + // types + typedef std::shared_ptr Ptr; + + // methods MojangAssetIndexInfo() { } MojangAssetIndexInfo(QString id) { - m_id = id; - m_url = "https://s3.amazonaws.com/Minecraft.Download/indexes/" + id + ".json"; - m_known = false; - } - - int getTotalSize() - { - return m_totalSize; - } - - QString getId() - { - return m_id; - } - - bool sizeAndHashKnown() - { - return m_known; + this->id = id; + url = "https://s3.amazonaws.com/Minecraft.Download/indexes/" + id + ".json"; + known = false; } -protected: - int m_totalSize; - QString m_id; - bool m_known = true; + // data + int totalSize; + QString id; + bool known = true; }; -typedef std::shared_ptr MojangAssetIndexInfoPtr; -- cgit v1.2.3