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

View file

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