mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 14:19:46 -06:00
DiscIO: Use std::optional in Volume and Blob
This commit is contained in:
@ -44,13 +44,12 @@ public:
|
||||
virtual ~IVolume() {}
|
||||
virtual bool Read(u64 _Offset, u64 _Length, u8* _pBuffer, const Partition& partition) const = 0;
|
||||
template <typename T>
|
||||
bool ReadSwapped(u64 offset, T* buffer, const Partition& partition) const
|
||||
std::optional<T> ReadSwapped(u64 offset, const Partition& partition) const
|
||||
{
|
||||
T temp;
|
||||
if (!Read(offset, sizeof(T), reinterpret_cast<u8*>(&temp), partition))
|
||||
return false;
|
||||
*buffer = Common::FromBigEndian(temp);
|
||||
return true;
|
||||
return {};
|
||||
return Common::FromBigEndian(temp);
|
||||
}
|
||||
virtual std::vector<Partition> GetPartitions() const { return {}; }
|
||||
virtual Partition GetGamePartition() const { return PARTITION_NONE; }
|
||||
@ -65,8 +64,8 @@ public:
|
||||
virtual std::string GetGameID(const Partition& partition) const = 0;
|
||||
std::string GetMakerID() const { return GetMakerID(GetGamePartition()); }
|
||||
virtual std::string GetMakerID(const Partition& partition) const = 0;
|
||||
u16 GetRevision() const { return GetRevision(GetGamePartition()); }
|
||||
virtual u16 GetRevision(const Partition& partition) const = 0;
|
||||
std::optional<u16> GetRevision() const { return GetRevision(GetGamePartition()); }
|
||||
virtual std::optional<u16> GetRevision(const Partition& partition) const = 0;
|
||||
std::string GetInternalName() const { return GetInternalName(GetGamePartition()); }
|
||||
virtual std::string GetInternalName(const Partition& partition) const = 0;
|
||||
virtual std::map<Language, std::string> GetShortNames() const { return {}; }
|
||||
@ -78,8 +77,8 @@ public:
|
||||
std::string GetApploaderDate() const { return GetApploaderDate(GetGamePartition()); }
|
||||
virtual std::string GetApploaderDate(const Partition& partition) const = 0;
|
||||
// 0 is the first disc, 1 is the second disc
|
||||
u8 GetDiscNumber() const { return GetDiscNumber(GetGamePartition()); }
|
||||
virtual u8 GetDiscNumber(const Partition& partition) const { return 0; }
|
||||
std::optional<u8> GetDiscNumber() const { return GetDiscNumber(GetGamePartition()); }
|
||||
virtual std::optional<u8> GetDiscNumber(const Partition& partition) const { return 0; }
|
||||
virtual Platform GetVolumeType() const = 0;
|
||||
virtual bool SupportsIntegrityCheck() const { return false; }
|
||||
virtual bool CheckIntegrity(const Partition& partition) const { return false; }
|
||||
|
Reference in New Issue
Block a user