// Copyright 2020 yuzu Emulator Project // Licensed under GPLv2 or any later version // Refer to the license.txt file included. #pragma once #include #include #include class Config; class InputProfiles { public: explicit InputProfiles(); virtual ~InputProfiles(); std::vector 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> map_profiles; };