set.cpp 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. constexpr std::array<LanguageCode, 17> available_language_codes = {{
  12. LanguageCode::JA,
  13. LanguageCode::EN_US,
  14. LanguageCode::FR,
  15. LanguageCode::DE,
  16. LanguageCode::IT,
  17. LanguageCode::ES,
  18. LanguageCode::ZH_CN,
  19. LanguageCode::KO,
  20. LanguageCode::NL,
  21. LanguageCode::PT,
  22. LanguageCode::RU,
  23. LanguageCode::ZH_TW,
  24. LanguageCode::EN_GB,
  25. LanguageCode::FR_CA,
  26. LanguageCode::ES_419,
  27. LanguageCode::ZH_HANS,
  28. LanguageCode::ZH_HANT,
  29. }};
  30. void SET::GetAvailableLanguageCodes(Kernel::HLERequestContext& ctx) {
  31. ctx.WriteBuffer(available_language_codes);
  32. IPC::ResponseBuilder rb{ctx, 3};
  33. rb.Push(RESULT_SUCCESS);
  34. rb.Push(static_cast<u32>(available_language_codes.size()));
  35. LOG_DEBUG(Service_SET, "called");
  36. }
  37. void SET::GetAvailableLanguageCodeCount(Kernel::HLERequestContext& ctx) {
  38. IPC::ResponseBuilder rb{ctx, 3};
  39. rb.Push(RESULT_SUCCESS);
  40. rb.Push(static_cast<u32>(available_language_codes.size()));
  41. }
  42. SET::SET() : ServiceFramework("set") {
  43. static const FunctionInfo functions[] = {
  44. {0, nullptr, "GetLanguageCode"},
  45. {1, &SET::GetAvailableLanguageCodes, "GetAvailableLanguageCodes"},
  46. {2, nullptr, "MakeLanguageCode"},
  47. {3, &SET::GetAvailableLanguageCodeCount, "GetAvailableLanguageCodeCount"},
  48. {4, nullptr, "GetRegionCode"},
  49. {5, &SET::GetAvailableLanguageCodes, "GetAvailableLanguageCodes2"},
  50. {6, &SET::GetAvailableLanguageCodeCount, "GetAvailableLanguageCodeCount2"},
  51. {7, nullptr, "GetKeyCodeMap"},
  52. {8, nullptr, "GetQuestFlag"},
  53. };
  54. RegisterHandlers(functions);
  55. }
  56. } // namespace Service::Set