diff options
| author | 2020-07-01 14:16:26 +1000 | |
|---|---|---|
| committer | 2020-07-01 14:16:26 +1000 | |
| commit | 3bb63bc0b364ed10d478102d3174f55486438716 (patch) | |
| tree | c8ecf8b20b877bd08701e0213e446e4bb9a8660c /src/core/crypto | |
| parent | Merge pull request #4153 from ogniK5377/prepo-multibuf (diff) | |
| parent | crypto: Make KeyManager a singleton class (diff) | |
| download | yuzu-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.h | 10 |
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 | ||
| 224 | class KeyManager { | 224 | class KeyManager { |
| 225 | public: | 225 | public: |
| 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 | ||
| 259 | private: | 265 | private: |
| 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 | ||