summaryrefslogtreecommitdiff
path: root/src/core/crypto
diff options
context:
space:
mode:
authorGravatar David2020-07-01 14:16:26 +1000
committerGravatar GitHub2020-07-01 14:16:26 +1000
commit3bb63bc0b364ed10d478102d3174f55486438716 (patch)
treec8ecf8b20b877bd08701e0213e446e4bb9a8660c /src/core/crypto
parentMerge pull request #4153 from ogniK5377/prepo-multibuf (diff)
parentcrypto: Make KeyManager a singleton class (diff)
downloadyuzu-3bb63bc0b364ed10d478102d3174f55486438716.tar.gz
yuzu-3bb63bc0b364ed10d478102d3174f55486438716.tar.xz
yuzu-3bb63bc0b364ed10d478102d3174f55486438716.zip
Merge pull request #3967 from FearlessTobi/keys-singleton
crypto: Make KeyManager a singleton class
Diffstat (limited to 'src/core/crypto')
-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) {
223 223
224class KeyManager { 224class KeyManager {
225public: 225public:
226 KeyManager(); 226 static KeyManager& instance() {
227 static KeyManager instance;
228 return instance;
229 }
230
231 KeyManager(KeyManager const&) = delete;
232 void operator=(KeyManager const&) = delete;
227 233
228 bool HasKey(S128KeyType id, u64 field1 = 0, u64 field2 = 0) const; 234 bool HasKey(S128KeyType id, u64 field1 = 0, u64 field2 = 0) const;
229 bool HasKey(S256KeyType id, u64 field1 = 0, u64 field2 = 0) const; 235 bool HasKey(S256KeyType id, u64 field1 = 0, u64 field2 = 0) const;
@@ -257,6 +263,8 @@ public:
257 bool AddTicketPersonalized(Ticket raw); 263 bool AddTicketPersonalized(Ticket raw);
258 264
259private: 265private:
266 KeyManager();
267
260 std::map<KeyIndex<S128KeyType>, Key128> s128_keys; 268 std::map<KeyIndex<S128KeyType>, Key128> s128_keys;
261 std::map<KeyIndex<S256KeyType>, Key256> s256_keys; 269 std::map<KeyIndex<S256KeyType>, Key256> s256_keys;
262 270