From 60b565273e881d8bf579c00cecbed8ef907cf43c Mon Sep 17 00:00:00 2001 From: wheremyfoodat <44909372+wheremyfoodat@users.noreply.github.com> Date: Sat, 11 Nov 2023 20:35:10 +0200 Subject: [PATCH] [Applets] Properly expose nextParameter --- include/applets/applet.hpp | 4 +++- include/applets/mii_selector.hpp | 2 +- include/applets/software_keyboard.hpp | 2 +- src/core/applets/applet_manager.cpp | 2 +- src/core/applets/software_keyboard.cpp | 9 +++++++++ 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/include/applets/applet.hpp b/include/applets/applet.hpp index 0c3ab519..f1a91afd 100644 --- a/include/applets/applet.hpp +++ b/include/applets/applet.hpp @@ -72,7 +72,9 @@ namespace Applets { }; class AppletBase { + protected: Memory& mem; + std::optional& nextParameter; public: virtual const char* name() = 0; @@ -83,6 +85,6 @@ namespace Applets { virtual Result::HorizonResult receiveParameter() = 0; virtual void reset() = 0; - AppletBase(Memory& mem) : mem(mem) {} + AppletBase(Memory& mem, std::optional& nextParam) : mem(mem), nextParameter(nextParam) {} }; } // namespace Applets \ No newline at end of file diff --git a/include/applets/mii_selector.hpp b/include/applets/mii_selector.hpp index e40547fb..7a882615 100644 --- a/include/applets/mii_selector.hpp +++ b/include/applets/mii_selector.hpp @@ -8,6 +8,6 @@ namespace Applets { virtual Result::HorizonResult receiveParameter() override; virtual void reset() override; - MiiSelectorApplet(Memory& memory) : AppletBase(memory) {} + MiiSelectorApplet(Memory& memory, std::optional& nextParam) : AppletBase(memory, nextParam) {} }; } // namespace Applets \ No newline at end of file diff --git a/include/applets/software_keyboard.hpp b/include/applets/software_keyboard.hpp index 1fb721a1..89b87953 100644 --- a/include/applets/software_keyboard.hpp +++ b/include/applets/software_keyboard.hpp @@ -8,6 +8,6 @@ namespace Applets { virtual Result::HorizonResult receiveParameter() override; virtual void reset() override; - SoftwareKeyboardApplet(Memory& memory) : AppletBase(memory) {} + SoftwareKeyboardApplet(Memory& memory, std::optional& nextParam) : AppletBase(memory, nextParam) {} }; } // namespace Applets \ No newline at end of file diff --git a/src/core/applets/applet_manager.cpp b/src/core/applets/applet_manager.cpp index 192a76c0..196b1f60 100644 --- a/src/core/applets/applet_manager.cpp +++ b/src/core/applets/applet_manager.cpp @@ -4,7 +4,7 @@ using namespace Applets; -AppletManager::AppletManager(Memory& mem) : miiSelector(mem), swkbd(mem) {} +AppletManager::AppletManager(Memory& mem) : miiSelector(mem, nextParameter), swkbd(mem, nextParameter) {} void AppletManager::reset() { miiSelector.reset(); diff --git a/src/core/applets/software_keyboard.cpp b/src/core/applets/software_keyboard.cpp index 2ff22792..3c203133 100644 --- a/src/core/applets/software_keyboard.cpp +++ b/src/core/applets/software_keyboard.cpp @@ -7,5 +7,14 @@ Result::HorizonResult SoftwareKeyboardApplet::start() { return Result::Success; Result::HorizonResult SoftwareKeyboardApplet::receiveParameter() { Helpers::warn("Software keyboard: Unimplemented ReceiveParameter"); + + Applets::Parameter param = Applets::Parameter{ + .senderID = AppletIDs::SoftwareKeyboard, + .destID = AppletIDs::Application, + .signal = APTSignal::Response, + .data = {}, + }; + + nextParameter = param; return Result::Success; } \ No newline at end of file