summaryrefslogtreecommitdiff
path: root/Source/Core/DiscIO/Volume.h
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2017-06-04 10:33:14 +0200
committerJosJuice <josjuice@gmail.com>2017-06-05 13:26:51 +0200
commitc3fa0d6edf0ed65acdf789debed57cd4aa7955ba (patch)
treef8f42f79831b513161902d819a945d60368f7499 /Source/Core/DiscIO/Volume.h
parente23cfc29654ece853309454a7a37306cc696af19 (diff)
DiscIO: Use std::optional in Volume and Blob
Diffstat (limited to 'Source/Core/DiscIO/Volume.h')
-rw-r--r--Source/Core/DiscIO/Volume.h15
1 files changed, 7 insertions, 8 deletions
diff --git a/Source/Core/DiscIO/Volume.h b/Source/Core/DiscIO/Volume.h
index 8b59b53618..7e0f01bdf3 100644
--- a/Source/Core/DiscIO/Volume.h
+++ b/Source/Core/DiscIO/Volume.h
@@ -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; }