summaryrefslogtreecommitdiff
path: root/src/core/crypto/encryption_layer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/crypto/encryption_layer.h')
-rw-r--r--src/core/crypto/encryption_layer.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/core/crypto/encryption_layer.h b/src/core/crypto/encryption_layer.h
new file mode 100644
index 000000000..71bca1f23
--- /dev/null
+++ b/src/core/crypto/encryption_layer.h
@@ -0,0 +1,32 @@
1// Copyright 2018 yuzu emulator team
2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included.
4
5#pragma once
6
7#include "core/file_sys/vfs.h"
8
9namespace Core::Crypto {
10
11// Basically non-functional class that implements all of the methods that are irrelevant to an
12// EncryptionLayer. Reduces duplicate code.
13class EncryptionLayer : public FileSys::VfsFile {
14public:
15 explicit EncryptionLayer(FileSys::VirtualFile base);
16
17 size_t Read(u8* data, size_t length, size_t offset) const override = 0;
18
19 std::string GetName() const override;
20 size_t GetSize() const override;
21 bool Resize(size_t new_size) override;
22 std::shared_ptr<FileSys::VfsDirectory> GetContainingDirectory() const override;
23 bool IsWritable() const override;
24 bool IsReadable() const override;
25 size_t Write(const u8* data, size_t length, size_t offset) override;
26 bool Rename(std::string_view name) override;
27
28protected:
29 FileSys::VirtualFile base;
30};
31
32} // namespace Core::Crypto