rpcsx/rpcs3/Emu/games_config.h
DH 62ad27d1e2 split rpcs3 and hle libraries
merge rpcs3 utilities
2025-04-08 19:46:57 +03:00

46 lines
801 B
C++

#pragma once
#include "util/mutex.h"
#include <map>
class games_config
{
public:
games_config();
virtual ~games_config();
void set_save_on_dirty(bool enabled)
{
m_save_on_dirty = enabled;
}
const std::map<std::string, std::string> get_games() const;
bool is_dirty() const
{
return m_dirty;
}
std::string get_path(const std::string& title_id) const;
enum class result
{
failure,
success,
exists
};
result add_game(const std::string& key, const std::string& path);
result add_external_hdd_game(const std::string& key, std::string& path);
result remove_game(const std::string& key);
bool save();
private:
bool save_nl();
void load();
std::map<std::string, std::string> m_games;
mutable shared_mutex m_mutex;
bool m_dirty = false;
bool m_save_on_dirty = true;
};