VolumeDisc.h 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. // Copyright 2020 Dolphin Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include <optional>
  5. #include <string>
  6. #include "Common/CommonTypes.h"
  7. #include "Common/Crypto/SHA1.h"
  8. #include "DiscIO/Volume.h"
  9. namespace DiscIO
  10. {
  11. class VolumeDisc : public Volume
  12. {
  13. public:
  14. std::string GetGameID(const Partition& partition = PARTITION_NONE) const override;
  15. Country GetCountry(const Partition& partition = PARTITION_NONE) const override;
  16. std::string GetMakerID(const Partition& partition = PARTITION_NONE) const override;
  17. std::optional<u16> GetRevision(const Partition& partition = PARTITION_NONE) const override;
  18. std::string GetInternalName(const Partition& partition = PARTITION_NONE) const override;
  19. std::string GetApploaderDate(const Partition& partition) const override;
  20. std::optional<u8> GetDiscNumber(const Partition& partition = PARTITION_NONE) const override;
  21. bool IsNKit() const override;
  22. protected:
  23. Region RegionCodeToRegion(std::optional<u32> region_code) const;
  24. void AddGamePartitionToSyncHash(Common::SHA1::Context* context) const;
  25. };
  26. } // namespace DiscIO