mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-15 05:47:56 -07:00
Merge pull request #5865 from JosJuice/noncopyable-move
DirectoryBlob: Use NonCopyable
This commit is contained in:
commit
c7602cce04
@ -13,4 +13,7 @@ protected:
|
|||||||
|
|
||||||
NonCopyable(const NonCopyable&) = delete;
|
NonCopyable(const NonCopyable&) = delete;
|
||||||
NonCopyable& operator=(const NonCopyable&) = delete;
|
NonCopyable& operator=(const NonCopyable&) = delete;
|
||||||
|
|
||||||
|
NonCopyable(NonCopyable&&) = default;
|
||||||
|
NonCopyable& operator=(NonCopyable&&) = default;
|
||||||
};
|
};
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
|
|
||||||
#include "Common/CommonTypes.h"
|
#include "Common/CommonTypes.h"
|
||||||
#include "Common/FileUtil.h"
|
#include "Common/FileUtil.h"
|
||||||
|
#include "Common/NonCopyable.h"
|
||||||
#include "DiscIO/Blob.h"
|
#include "DiscIO/Blob.h"
|
||||||
|
|
||||||
namespace File
|
namespace File
|
||||||
@ -58,18 +59,13 @@ private:
|
|||||||
ContentSource m_content_source;
|
ContentSource m_content_source;
|
||||||
};
|
};
|
||||||
|
|
||||||
class DirectoryBlobPartition
|
// We do not allow copying, because it might mess up the pointers inside DiscContents
|
||||||
|
class DirectoryBlobPartition : private NonCopyable
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
DirectoryBlobPartition() = default;
|
DirectoryBlobPartition() = default;
|
||||||
DirectoryBlobPartition(const std::string& root_directory, std::optional<bool> is_wii);
|
DirectoryBlobPartition(const std::string& root_directory, std::optional<bool> is_wii);
|
||||||
|
|
||||||
// We do not allow copying, because it might mess up the pointers inside DiscContents
|
|
||||||
DirectoryBlobPartition(const DirectoryBlobPartition&) = delete;
|
|
||||||
DirectoryBlobPartition& operator=(const DirectoryBlobPartition&) = delete;
|
|
||||||
DirectoryBlobPartition(DirectoryBlobPartition&&) = default;
|
|
||||||
DirectoryBlobPartition& operator=(DirectoryBlobPartition&&) = default;
|
|
||||||
|
|
||||||
bool IsWii() const { return m_is_wii; }
|
bool IsWii() const { return m_is_wii; }
|
||||||
u64 GetDataSize() const { return m_data_size; }
|
u64 GetDataSize() const { return m_data_size; }
|
||||||
const std::string& GetRootDirectory() const { return m_root_directory; }
|
const std::string& GetRootDirectory() const { return m_root_directory; }
|
||||||
@ -107,17 +103,12 @@ private:
|
|||||||
u64 m_data_size;
|
u64 m_data_size;
|
||||||
};
|
};
|
||||||
|
|
||||||
class DirectoryBlobReader : public BlobReader
|
// We do not allow copying, because it might mess up the pointers inside DiscContents
|
||||||
|
class DirectoryBlobReader : public BlobReader, private NonCopyable
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static std::unique_ptr<DirectoryBlobReader> Create(const std::string& dol_path);
|
static std::unique_ptr<DirectoryBlobReader> Create(const std::string& dol_path);
|
||||||
|
|
||||||
// We do not allow copying, because it might mess up the pointers inside DiscContents
|
|
||||||
DirectoryBlobReader(const DirectoryBlobReader&) = delete;
|
|
||||||
DirectoryBlobReader& operator=(const DirectoryBlobReader&) = delete;
|
|
||||||
DirectoryBlobReader(DirectoryBlobReader&&) = default;
|
|
||||||
DirectoryBlobReader& operator=(DirectoryBlobReader&&) = default;
|
|
||||||
|
|
||||||
bool Read(u64 offset, u64 length, u8* buffer) override;
|
bool Read(u64 offset, u64 length, u8* buffer) override;
|
||||||
bool SupportsReadWiiDecrypted() const override;
|
bool SupportsReadWiiDecrypted() const override;
|
||||||
bool ReadWiiDecrypted(u64 offset, u64 size, u8* buffer, u64 partition_offset) override;
|
bool ReadWiiDecrypted(u64 offset, u64 size, u8* buffer, u64 partition_offset) override;
|
||||||
|
Loading…
Reference in New Issue
Block a user