From e447d8aafa4e49bbd7a06945b4653bc43141f423 Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Wed, 5 Jun 2019 12:13:59 -0400 Subject: applets: Track ECommerce and Parental Control applet frontends --- src/core/hle/service/am/applets/applets.cpp | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) (limited to 'src/core/hle/service/am/applets/applets.cpp') diff --git a/src/core/hle/service/am/applets/applets.cpp b/src/core/hle/service/am/applets/applets.cpp index e3e4ead03..553206177 100644 --- a/src/core/hle/service/am/applets/applets.cpp +++ b/src/core/hle/service/am/applets/applets.cpp @@ -157,6 +157,8 @@ AppletManager::AppletManager() = default; AppletManager::~AppletManager() = default; void AppletManager::SetAppletFrontendSet(AppletFrontendSet set) { + if (set.parental_controls != nullptr) + frontend.parental_controls = std::move(set.parental_controls); if (set.error != nullptr) frontend.error = std::move(set.error); if (set.photo_viewer != nullptr) @@ -167,17 +169,21 @@ void AppletManager::SetAppletFrontendSet(AppletFrontendSet set) { frontend.software_keyboard = std::move(set.software_keyboard); if (set.web_browser != nullptr) frontend.web_browser = std::move(set.web_browser); + if (set.e_commerce != nullptr) + frontend.e_commerce = std::move(set.e_commerce); } void AppletManager::SetDefaultAppletFrontendSet() { - frontend.error = std::make_unique(); - frontend.photo_viewer = std::make_unique(); - frontend.profile_select = std::make_unique(); - frontend.software_keyboard = std::make_unique(); - frontend.web_browser = std::make_unique(); + ClearAll(); + SetDefaultAppletsIfMissing(); } void AppletManager::SetDefaultAppletsIfMissing() { + if (frontend.parental_controls == nullptr) { + frontend.parental_controls = + std::make_unique(); + } + if (frontend.error == nullptr) { frontend.error = std::make_unique(); } @@ -198,6 +204,10 @@ void AppletManager::SetDefaultAppletsIfMissing() { if (frontend.web_browser == nullptr) { frontend.web_browser = std::make_unique(); } + + if (frontend.e_commerce == nullptr) { + frontend.e_commerce = std::make_unique(); + } } void AppletManager::ClearAll() { @@ -206,6 +216,8 @@ void AppletManager::ClearAll() { std::shared_ptr AppletManager::GetApplet(AppletId id) const { switch (id) { + case AppletId::Auth: + return std::make_shared(*frontend.parental_controls); case AppletId::Error: return std::make_shared(*frontend.error); case AppletId::ProfileSelect: @@ -214,6 +226,8 @@ std::shared_ptr AppletManager::GetApplet(AppletId id) const { return std::make_shared(*frontend.software_keyboard); case AppletId::PhotoViewer: return std::make_shared(*frontend.photo_viewer); + case AppletId::LibAppletShop: + return std::make_shared(*frontend.web_browser, frontend.e_commerce.get()); case AppletId::LibAppletOff: return std::make_shared(*frontend.web_browser); default: -- cgit v1.2.3