// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include "core/hle/service/cmif_types.h" #include "core/hle/service/service.h" #include "core/hle/service/set/settings_types.h" namespace Core { class System; } namespace Service::Set { using KeyCodeMap = std::array; LanguageCode GetLanguageCodeFromIndex(std::size_t idx); class ISettingsServer final : public ServiceFramework { public: explicit ISettingsServer(Core::System& system_); ~ISettingsServer() override; private: Result GetLanguageCode(Out out_language_code); Result GetAvailableLanguageCodes(Out out_count, OutArray language_codes); Result MakeLanguageCode(Out out_language_code, Language language); Result GetAvailableLanguageCodeCount(Out out_count); Result GetRegionCode(Out out_region_code); Result GetAvailableLanguageCodes2( Out out_count, OutArray language_codes); Result GetAvailableLanguageCodeCount2(Out out_count); Result GetKeyCodeMap(OutLargeData out_key_code_map); Result GetQuestFlag(Out out_quest_flag); Result GetKeyCodeMap2(OutLargeData out_key_code_map); Result GetDeviceNickName( OutLargeData, BufferAttr_HipcMapAlias> out_device_name); }; } // namespace Service::Set