summaryrefslogtreecommitdiffstats
path: root/src/core/crypto/key_manager.h
diff options
context:
space:
mode:
authorDavid <25727384+ogniK5377@users.noreply.github.com>2020-07-01 06:16:26 +0200
committerGitHub <noreply@github.com>2020-07-01 06:16:26 +0200
commit3bb63bc0b364ed10d478102d3174f55486438716 (patch)
treec8ecf8b20b877bd08701e0213e446e4bb9a8660c /src/core/crypto/key_manager.h
parentMerge pull request #4153 from ogniK5377/prepo-multibuf (diff)
parentcrypto: Make KeyManager a singleton class (diff)
downloadyuzu-3bb63bc0b364ed10d478102d3174f55486438716.tar
yuzu-3bb63bc0b364ed10d478102d3174f55486438716.tar.gz
yuzu-3bb63bc0b364ed10d478102d3174f55486438716.tar.bz2
yuzu-3bb63bc0b364ed10d478102d3174f55486438716.tar.lz
yuzu-3bb63bc0b364ed10d478102d3174f55486438716.tar.xz
yuzu-3bb63bc0b364ed10d478102d3174f55486438716.tar.zst
yuzu-3bb63bc0b364ed10d478102d3174f55486438716.zip
Diffstat (limited to 'src/core/crypto/key_manager.h')
-rw-r--r--src/core/crypto/key_manager.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/core/crypto/key_manager.h b/src/core/crypto/key_manager.h
index 7265c4171..bf3434e1c 100644
--- a/src/core/crypto/key_manager.h
+++ b/src/core/crypto/key_manager.h
@@ -223,7 +223,13 @@ bool operator<(const KeyIndex<KeyType>& lhs, const KeyIndex<KeyType>& rhs) {
class KeyManager {
public:
- KeyManager();
+ static KeyManager& instance() {
+ static KeyManager instance;
+ return instance;
+ }
+
+ KeyManager(KeyManager const&) = delete;
+ void operator=(KeyManager const&) = delete;
bool HasKey(S128KeyType id, u64 field1 = 0, u64 field2 = 0) const;
bool HasKey(S256KeyType id, u64 field1 = 0, u64 field2 = 0) const;
@@ -257,6 +263,8 @@ public:
bool AddTicketPersonalized(Ticket raw);
private:
+ KeyManager();
+
std::map<KeyIndex<S128KeyType>, Key128> s128_keys;
std::map<KeyIndex<S256KeyType>, Key256> s256_keys;