service: hid: Stub IsFirmwareUpdateNeededForNotification

Used in Fitness Boxing 2: Rhythm & Exercise (0100073011382000)
This commit is contained in:
german77 2022-04-26 22:22:27 -05:00
parent 5295a925d8
commit 173d849b8f
2 changed files with 21 additions and 1 deletions

View File

@ -362,7 +362,7 @@ Hid::Hid(Core::System& system_)
{1000, &Hid::SetNpadCommunicationMode, "SetNpadCommunicationMode"}, {1000, &Hid::SetNpadCommunicationMode, "SetNpadCommunicationMode"},
{1001, &Hid::GetNpadCommunicationMode, "GetNpadCommunicationMode"}, {1001, &Hid::GetNpadCommunicationMode, "GetNpadCommunicationMode"},
{1002, &Hid::SetTouchScreenConfiguration, "SetTouchScreenConfiguration"}, {1002, &Hid::SetTouchScreenConfiguration, "SetTouchScreenConfiguration"},
{1003, nullptr, "IsFirmwareUpdateNeededForNotification"}, {1003, &Hid::IsFirmwareUpdateNeededForNotification, "IsFirmwareUpdateNeededForNotification"},
{2000, nullptr, "ActivateDigitizer"}, {2000, nullptr, "ActivateDigitizer"},
}; };
// clang-format on // clang-format on
@ -1803,6 +1803,25 @@ void Hid::SetTouchScreenConfiguration(Kernel::HLERequestContext& ctx) {
rb.Push(ResultSuccess); rb.Push(ResultSuccess);
} }
void Hid::IsFirmwareUpdateNeededForNotification(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp{ctx};
struct Parameters {
s32 unknown;
INSERT_PADDING_WORDS_NOINIT(1);
u64 applet_resource_user_id;
};
static_assert(sizeof(Parameters) == 0x10, "Parameters has incorrect size.");
const auto parameters{rp.PopRaw<Parameters>()};
LOG_WARNING(Service_HID, "(STUBBED) called, unknown={}, applet_resource_user_id={}",
parameters.unknown, parameters.applet_resource_user_id);
IPC::ResponseBuilder rb{ctx, 3};
rb.Push(ResultSuccess);
rb.Push(false);
}
class HidDbg final : public ServiceFramework<HidDbg> { class HidDbg final : public ServiceFramework<HidDbg> {
public: public:
explicit HidDbg(Core::System& system_) : ServiceFramework{system_, "hid:dbg"} { explicit HidDbg(Core::System& system_) : ServiceFramework{system_, "hid:dbg"} {

View File

@ -165,6 +165,7 @@ private:
void SetNpadCommunicationMode(Kernel::HLERequestContext& ctx); void SetNpadCommunicationMode(Kernel::HLERequestContext& ctx);
void GetNpadCommunicationMode(Kernel::HLERequestContext& ctx); void GetNpadCommunicationMode(Kernel::HLERequestContext& ctx);
void SetTouchScreenConfiguration(Kernel::HLERequestContext& ctx); void SetTouchScreenConfiguration(Kernel::HLERequestContext& ctx);
void IsFirmwareUpdateNeededForNotification(Kernel::HLERequestContext& ctx);
std::shared_ptr<IAppletResource> applet_resource; std::shared_ptr<IAppletResource> applet_resource;