mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	applets: Track ECommerce and Parental Control applet frontends
This commit is contained in:
		
							parent
							
								
									6ff9008230
								
							
						
					
					
						commit
						e447d8aafa
					
				@ -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:
 | 
			
		||||
 | 
			
		||||
@ -13,7 +13,9 @@
 | 
			
		||||
union ResultCode;
 | 
			
		||||
 | 
			
		||||
namespace Core::Frontend {
 | 
			
		||||
class ECommerceApplet;
 | 
			
		||||
class ErrorApplet;
 | 
			
		||||
class ParentalControlsApplet;
 | 
			
		||||
class PhotoViewerApplet;
 | 
			
		||||
class ProfileSelectApplet;
 | 
			
		||||
class SoftwareKeyboardApplet;
 | 
			
		||||
@ -145,15 +147,19 @@ protected:
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct AppletFrontendSet {
 | 
			
		||||
    using ParentalControlsApplet = std::unique_ptr<Core::Frontend::ParentalControlsApplet>;
 | 
			
		||||
    using ErrorApplet = std::unique_ptr<Core::Frontend::ErrorApplet>;
 | 
			
		||||
    using PhotoViewer = std::unique_ptr<Core::Frontend::PhotoViewerApplet>;
 | 
			
		||||
    using ProfileSelect = std::unique_ptr<Core::Frontend::ProfileSelectApplet>;
 | 
			
		||||
    using SoftwareKeyboard = std::unique_ptr<Core::Frontend::SoftwareKeyboardApplet>;
 | 
			
		||||
    using WebBrowser = std::unique_ptr<Core::Frontend::WebBrowserApplet>;
 | 
			
		||||
    using ECommerceApplet = std::unique_ptr<Core::Frontend::ECommerceApplet>;
 | 
			
		||||
 | 
			
		||||
    AppletFrontendSet();
 | 
			
		||||
    AppletFrontendSet(ErrorApplet error, PhotoViewer photo_viewer, ProfileSelect profile_select,
 | 
			
		||||
                      SoftwareKeyboard software_keyboard, WebBrowser web_browser);
 | 
			
		||||
    AppletFrontendSet(ParentalControlsApplet parental_controls, ErrorApplet error,
 | 
			
		||||
                      PhotoViewer photo_viewer, ProfileSelect profile_select,
 | 
			
		||||
                      SoftwareKeyboard software_keyboard, WebBrowser web_browser,
 | 
			
		||||
                      ECommerceApplet e_commerce);
 | 
			
		||||
    ~AppletFrontendSet();
 | 
			
		||||
 | 
			
		||||
    AppletFrontendSet(const AppletFrontendSet&) = delete;
 | 
			
		||||
@ -162,11 +168,13 @@ struct AppletFrontendSet {
 | 
			
		||||
    AppletFrontendSet(AppletFrontendSet&&) noexcept;
 | 
			
		||||
    AppletFrontendSet& operator=(AppletFrontendSet&&) noexcept;
 | 
			
		||||
 | 
			
		||||
    ParentalControlsApplet parental_controls;
 | 
			
		||||
    ErrorApplet error;
 | 
			
		||||
    PhotoViewer photo_viewer;
 | 
			
		||||
    ProfileSelect profile_select;
 | 
			
		||||
    SoftwareKeyboard software_keyboard;
 | 
			
		||||
    WebBrowser web_browser;
 | 
			
		||||
    ECommerceApplet e_commerce;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
class AppletManager {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user