summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/am/frontend/applet_cabinet.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/service/am/frontend/applet_cabinet.cpp')
-rw-r--r--src/core/hle/service/am/frontend/applet_cabinet.cpp23
1 files changed, 10 insertions, 13 deletions
diff --git a/src/core/hle/service/am/frontend/applet_cabinet.cpp b/src/core/hle/service/am/frontend/applet_cabinet.cpp
index f1f49e83b..0862c81b6 100644
--- a/src/core/hle/service/am/frontend/applet_cabinet.cpp
+++ b/src/core/hle/service/am/frontend/applet_cabinet.cpp
@@ -16,10 +16,11 @@
namespace Service::AM::Frontend {
-Cabinet::Cabinet(Core::System& system_, LibraryAppletMode applet_mode_,
- const Core::Frontend::CabinetApplet& frontend_)
- : FrontendApplet{system_, applet_mode_}, frontend{frontend_},
- system{system_}, service_context{system_, "CabinetApplet"} {
+Cabinet::Cabinet(Core::System& system_, std::shared_ptr<Applet> applet_,
+ LibraryAppletMode applet_mode_, const Core::Frontend::CabinetApplet& frontend_)
+ : FrontendApplet{system_, applet_, applet_mode_}, frontend{frontend_}, service_context{
+ system_,
+ "CabinetApplet"} {
availability_change_event =
service_context.CreateEvent("CabinetApplet:AvailabilityChangeEvent");
@@ -41,7 +42,7 @@ void Cabinet::Initialize() {
common_args.play_startup_sound, common_args.size, common_args.system_tick,
common_args.theme_color);
- const auto storage = broker.PopNormalDataToApplet();
+ std::shared_ptr<IStorage> storage = PopInData();
ASSERT(storage != nullptr);
const auto applet_input_data = storage->GetData();
@@ -51,10 +52,6 @@ void Cabinet::Initialize() {
sizeof(StartParamForAmiiboSettings));
}
-bool Cabinet::TransactionComplete() const {
- return is_complete;
-}
-
Result Cabinet::GetStatus() const {
return ResultSuccess;
}
@@ -160,8 +157,8 @@ void Cabinet::DisplayCompleted(bool apply_changes, std::string_view amiibo_name)
is_complete = true;
- broker.PushNormalDataFromApplet(std::make_shared<IStorage>(system, std::move(out_data)));
- broker.SignalStateChanged();
+ PushOutData(std::make_shared<IStorage>(system, std::move(out_data)));
+ Exit();
}
void Cabinet::Cancel() {
@@ -175,8 +172,8 @@ void Cabinet::Cancel() {
is_complete = true;
- broker.PushNormalDataFromApplet(std::make_shared<IStorage>(system, std::move(out_data)));
- broker.SignalStateChanged();
+ PushOutData(std::make_shared<IStorage>(system, std::move(out_data)));
+ Exit();
}
Result Cabinet::RequestExit() {