settings_server.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. // SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include "core/hle/service/cmif_types.h"
  5. #include "core/hle/service/service.h"
  6. #include "core/hle/service/set/settings_types.h"
  7. namespace Core {
  8. class System;
  9. }
  10. namespace Service::Set {
  11. using KeyCodeMap = std::array<u8, 0x1000>;
  12. LanguageCode GetLanguageCodeFromIndex(std::size_t idx);
  13. class ISettingsServer final : public ServiceFramework<ISettingsServer> {
  14. public:
  15. explicit ISettingsServer(Core::System& system_);
  16. ~ISettingsServer() override;
  17. private:
  18. Result GetLanguageCode(Out<LanguageCode> out_language_code);
  19. Result GetAvailableLanguageCodes(Out<s32> out_count,
  20. OutArray<LanguageCode, BufferAttr_HipcPointer> language_codes);
  21. Result MakeLanguageCode(Out<LanguageCode> out_language_code, Language language);
  22. Result GetAvailableLanguageCodeCount(Out<s32> out_count);
  23. Result GetRegionCode(Out<SystemRegionCode> out_region_code);
  24. Result GetAvailableLanguageCodes2(
  25. Out<s32> out_count, OutArray<LanguageCode, BufferAttr_HipcMapAlias> language_codes);
  26. Result GetAvailableLanguageCodeCount2(Out<s32> out_count);
  27. Result GetKeyCodeMap(OutLargeData<KeyCodeMap, BufferAttr_HipcMapAlias> out_key_code_map);
  28. Result GetQuestFlag(Out<bool> out_quest_flag);
  29. Result GetKeyCodeMap2(OutLargeData<KeyCodeMap, BufferAttr_HipcMapAlias> out_key_code_map);
  30. Result GetDeviceNickName(
  31. OutLargeData<std::array<u8, 0x80>, BufferAttr_HipcMapAlias> out_device_name);
  32. };
  33. } // namespace Service::Set