pineapple/src/yuzu/configuration/input_profiles.h

39 lines
980 B
C
Raw Normal View History

2020-12-28 16:15:37 +01:00
// Copyright 2020 yuzu Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#pragma once
#include <string>
#include <string_view>
#include <unordered_map>
2021-10-09 02:29:53 +02:00
namespace Core {
class System;
}
2020-12-28 16:15:37 +01:00
class Config;
class InputProfiles {
public:
2021-10-09 02:29:53 +02:00
explicit InputProfiles(Core::System& system_);
2020-12-28 16:15:37 +01:00
virtual ~InputProfiles();
std::vector<std::string> GetInputProfileNames();
static bool IsProfileNameValid(std::string_view profile_name);
bool CreateProfile(const std::string& profile_name, std::size_t player_index);
bool DeleteProfile(const std::string& profile_name);
bool LoadProfile(const std::string& profile_name, std::size_t player_index);
bool SaveProfile(const std::string& profile_name, std::size_t player_index);
private:
bool ProfileExistsInMap(const std::string& profile_name) const;
std::unordered_map<std::string, std::unique_ptr<Config>> map_profiles;
2021-10-09 02:29:53 +02:00
Core::System& system;
2020-12-28 16:15:37 +01:00
};