set: Implement GetAvailableLanguageCodeCount()

This just returns the size of the language code buffer.
This commit is contained in:
Lioncash 2018-07-23 00:06:29 -04:00
parent 37aeecd29f
commit 22f448b632
2 changed files with 29 additions and 21 deletions

View file

@ -11,8 +11,7 @@
namespace Service::Set {
void SET::GetAvailableLanguageCodes(Kernel::HLERequestContext& ctx) {
static constexpr std::array<LanguageCode, 17> available_language_codes = {{
constexpr std::array<LanguageCode, 17> available_language_codes = {{
LanguageCode::JA,
LanguageCode::EN_US,
LanguageCode::FR,
@ -30,7 +29,9 @@ void SET::GetAvailableLanguageCodes(Kernel::HLERequestContext& ctx) {
LanguageCode::ES_419,
LanguageCode::ZH_HANS,
LanguageCode::ZH_HANT,
}};
}};
void SET::GetAvailableLanguageCodes(Kernel::HLERequestContext& ctx) {
ctx.WriteBuffer(available_language_codes);
IPC::ResponseBuilder rb{ctx, 3};
@ -40,15 +41,21 @@ void SET::GetAvailableLanguageCodes(Kernel::HLERequestContext& ctx) {
LOG_DEBUG(Service_SET, "called");
}
void SET::GetAvailableLanguageCodeCount(Kernel::HLERequestContext& ctx) {
IPC::ResponseBuilder rb{ctx, 3};
rb.Push(RESULT_SUCCESS);
rb.Push(static_cast<u32>(available_language_codes.size()));
}
SET::SET() : ServiceFramework("set") {
static const FunctionInfo functions[] = {
{0, nullptr, "GetLanguageCode"},
{1, &SET::GetAvailableLanguageCodes, "GetAvailableLanguageCodes"},
{2, nullptr, "MakeLanguageCode"},
{3, nullptr, "GetAvailableLanguageCodeCount"},
{3, &SET::GetAvailableLanguageCodeCount, "GetAvailableLanguageCodeCount"},
{4, nullptr, "GetRegionCode"},
{5, &SET::GetAvailableLanguageCodes, "GetAvailableLanguageCodes2"},
{6, nullptr, "GetAvailableLanguageCodeCount2"},
{6, &SET::GetAvailableLanguageCodeCount, "GetAvailableLanguageCodeCount2"},
{7, nullptr, "GetKeyCodeMap"},
{8, nullptr, "GetQuestFlag"},
};

View file

@ -36,6 +36,7 @@ public:
private:
void GetAvailableLanguageCodes(Kernel::HLERequestContext& ctx);
void GetAvailableLanguageCodeCount(Kernel::HLERequestContext& ctx);
};
} // namespace Service::Set