| 51 | } |
| 52 | |
| 53 | AchievementPtr StatisticsDatabase::achievement(String const& name) const { |
| 54 | MutexLocker locker(m_cacheMutex); |
| 55 | return m_achievementCache.get(name, [this](String const& name) -> AchievementPtr { |
| 56 | if (auto path = m_achievementPaths.maybe(name)) |
| 57 | return readAchievement(*path); |
| 58 | return {}; |
| 59 | }); |
| 60 | } |
| 61 | |
| 62 | StringList StatisticsDatabase::allAchievements() const { |
| 63 | return m_achievementPaths.keys(); |
no test coverage detected