1 // Copyright 2020 Dolphin Emulator Project 2 // Licensed under GPLv2+ 3 // Refer to the license.txt file included. 4 5 #pragma once 6 7 #include <optional> 8 #include <string> 9 10 #include <mbedtls/sha1.h> 11 12 #include "Common/CommonTypes.h" 13 #include "DiscIO/Volume.h" 14 15 namespace DiscIO 16 { 17 class VolumeDisc : public Volume 18 { 19 public: 20 std::string GetGameID(const Partition& partition = PARTITION_NONE) const override; 21 Country GetCountry(const Partition& partition = PARTITION_NONE) const override; 22 std::string GetMakerID(const Partition& partition = PARTITION_NONE) const override; 23 std::optional<u16> GetRevision(const Partition& partition = PARTITION_NONE) const override; 24 std::string GetInternalName(const Partition& partition = PARTITION_NONE) const override; 25 std::string GetApploaderDate(const Partition& partition) const override; 26 std::optional<u8> GetDiscNumber(const Partition& partition = PARTITION_NONE) const override; 27 bool IsNKit() const override; 28 29 protected: 30 Region RegionCodeToRegion(std::optional<u32> region_code) const; 31 void AddGamePartitionToSyncHash(mbedtls_sha1_context* context) const; 32 }; 33 34 } // namespace DiscIO 35