|
|
|
@ -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<Core::Frontend::DefaultErrorApplet>(); |
|
|
|
frontend.photo_viewer = std::make_unique<Core::Frontend::DefaultPhotoViewerApplet>(); |
|
|
|
frontend.profile_select = std::make_unique<Core::Frontend::DefaultProfileSelectApplet>(); |
|
|
|
frontend.software_keyboard = std::make_unique<Core::Frontend::DefaultSoftwareKeyboardApplet>(); |
|
|
|
frontend.web_browser = std::make_unique<Core::Frontend::DefaultWebBrowserApplet>(); |
|
|
|
ClearAll(); |
|
|
|
SetDefaultAppletsIfMissing(); |
|
|
|
} |
|
|
|
|
|
|
|
void AppletManager::SetDefaultAppletsIfMissing() { |
|
|
|
if (frontend.parental_controls == nullptr) { |
|
|
|
frontend.parental_controls = |
|
|
|
std::make_unique<Core::Frontend::DefaultParentalControlsApplet>(); |
|
|
|
} |
|
|
|
|
|
|
|
if (frontend.error == nullptr) { |
|
|
|
frontend.error = std::make_unique<Core::Frontend::DefaultErrorApplet>(); |
|
|
|
} |
|
|
|
@ -198,6 +204,10 @@ void AppletManager::SetDefaultAppletsIfMissing() { |
|
|
|
if (frontend.web_browser == nullptr) { |
|
|
|
frontend.web_browser = std::make_unique<Core::Frontend::DefaultWebBrowserApplet>(); |
|
|
|
} |
|
|
|
|
|
|
|
if (frontend.e_commerce == nullptr) { |
|
|
|
frontend.e_commerce = std::make_unique<Core::Frontend::DefaultECommerceApplet>(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void AppletManager::ClearAll() { |
|
|
|
@ -206,6 +216,8 @@ void AppletManager::ClearAll() { |
|
|
|
|
|
|
|
std::shared_ptr<Applet> AppletManager::GetApplet(AppletId id) const { |
|
|
|
switch (id) { |
|
|
|
case AppletId::Auth: |
|
|
|
return std::make_shared<Auth>(*frontend.parental_controls); |
|
|
|
case AppletId::Error: |
|
|
|
return std::make_shared<Error>(*frontend.error); |
|
|
|
case AppletId::ProfileSelect: |
|
|
|
@ -214,6 +226,8 @@ std::shared_ptr<Applet> AppletManager::GetApplet(AppletId id) const { |
|
|
|
return std::make_shared<SoftwareKeyboard>(*frontend.software_keyboard); |
|
|
|
case AppletId::PhotoViewer: |
|
|
|
return std::make_shared<PhotoViewer>(*frontend.photo_viewer); |
|
|
|
case AppletId::LibAppletShop: |
|
|
|
return std::make_shared<WebBrowser>(*frontend.web_browser, frontend.e_commerce.get()); |
|
|
|
case AppletId::LibAppletOff: |
|
|
|
return std::make_shared<WebBrowser>(*frontend.web_browser); |
|
|
|
default: |
|
|
|
|