set.cpp 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. // Copyright 2018 yuzu emulator team
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #include <chrono>
  5. #include "common/logging/log.h"
  6. #include "core/hle/ipc_helpers.h"
  7. #include "core/hle/kernel/client_port.h"
  8. #include "core/hle/kernel/client_session.h"
  9. #include "core/hle/service/set/set.h"
  10. namespace Service::Set {
  11. void SET::GetAvailableLanguageCodes(Kernel::HLERequestContext& ctx) {
  12. static constexpr std::array<LanguageCode, 17> available_language_codes = {{
  13. LanguageCode::JA,
  14. LanguageCode::EN_US,
  15. LanguageCode::FR,
  16. LanguageCode::DE,
  17. LanguageCode::IT,
  18. LanguageCode::ES,
  19. LanguageCode::ZH_CN,
  20. LanguageCode::KO,
  21. LanguageCode::NL,
  22. LanguageCode::PT,
  23. LanguageCode::RU,
  24. LanguageCode::ZH_TW,
  25. LanguageCode::EN_GB,
  26. LanguageCode::FR_CA,
  27. LanguageCode::ES_419,
  28. LanguageCode::ZH_HANS,
  29. LanguageCode::ZH_HANT,
  30. }};
  31. ctx.WriteBuffer(available_language_codes.data(), available_language_codes.size());
  32. IPC::ResponseBuilder rb{ctx, 4};
  33. rb.Push(RESULT_SUCCESS);
  34. rb.Push(static_cast<u64>(available_language_codes.size()));
  35. LOG_DEBUG(Service_SET, "called");
  36. }
  37. SET::SET() : ServiceFramework("set") {
  38. static const FunctionInfo functions[] = {
  39. {0, nullptr, "GetLanguageCode"},
  40. {1, &SET::GetAvailableLanguageCodes, "GetAvailableLanguageCodes"},
  41. {2, nullptr, "MakeLanguageCode"},
  42. {3, nullptr, "GetAvailableLanguageCodeCount"},
  43. {4, nullptr, "GetRegionCode"},
  44. {5, &SET::GetAvailableLanguageCodes, "GetAvailableLanguageCodes2"},
  45. {6, nullptr, "GetAvailableLanguageCodeCount2"},
  46. {7, nullptr, "GetKeyCodeMap"},
  47. {8, nullptr, "GetQuestFlag"},
  48. };
  49. RegisterHandlers(functions);
  50. }
  51. } // namespace Service::Set