Merge pull request #7499 from JosJuice/purge-game-list-cache

DolphinQt: Implement "Purge Game List Cache"
This commit is contained in:
Pierre Bourdon
2018-10-28 17:00:04 +01:00
committed by GitHub
11 changed files with 41 additions and 3 deletions

View File

@ -58,8 +58,11 @@ size_t GameFileCache::GetSize() const
return m_cached_files.size();
}
void GameFileCache::Clear()
void GameFileCache::Clear(DeleteOnDisk delete_on_disk)
{
if (delete_on_disk != DeleteOnDisk::No)
File::Delete(m_path);
m_cached_files.clear();
}

View File

@ -24,13 +24,19 @@ std::vector<std::string> FindAllGamePaths(const std::vector<std::string>& direct
class GameFileCache
{
public:
enum class DeleteOnDisk
{
No = 0,
Yes = 1,
};
GameFileCache(); // Uses the default path
explicit GameFileCache(std::string path);
void ForEach(std::function<void(const std::shared_ptr<const GameFile>&)> f) const;
size_t GetSize() const;
void Clear();
void Clear(DeleteOnDisk delete_on_disk);
// Returns nullptr if the file is invalid.
std::shared_ptr<const GameFile> AddOrGet(const std::string& path, bool* cache_changed);