diff options
author | Zach Hilman <zachhilman@gmail.com> | 2019-03-12 00:32:59 +0100 |
---|---|---|
committer | Zach Hilman <zachhilman@gmail.com> | 2019-04-17 17:35:24 +0200 |
commit | e51d33f0cee74f9fbd58439b411e6d3fef57576d (patch) | |
tree | 1e7a76599d9d831ae71b719fd0da36f7bd64eab6 /src/core/hle/service/am/applets/applets.h | |
parent | Merge pull request #2315 from ReinUsesLisp/severity-decompiler (diff) | |
download | yuzu-e51d33f0cee74f9fbd58439b411e6d3fef57576d.tar yuzu-e51d33f0cee74f9fbd58439b411e6d3fef57576d.tar.gz yuzu-e51d33f0cee74f9fbd58439b411e6d3fef57576d.tar.bz2 yuzu-e51d33f0cee74f9fbd58439b411e6d3fef57576d.tar.lz yuzu-e51d33f0cee74f9fbd58439b411e6d3fef57576d.tar.xz yuzu-e51d33f0cee74f9fbd58439b411e6d3fef57576d.tar.zst yuzu-e51d33f0cee74f9fbd58439b411e6d3fef57576d.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/service/am/applets/applets.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/core/hle/service/am/applets/applets.h b/src/core/hle/service/am/applets/applets.h index 37424c379..7f932672c 100644 --- a/src/core/hle/service/am/applets/applets.h +++ b/src/core/hle/service/am/applets/applets.h @@ -12,12 +12,43 @@ union ResultCode; +namespace Core::Frontend { +class ErrorApplet; +class PhotoViewerApplet; +class ProfileSelectApplet; +class SoftwareKeyboardApplet; +class WebBrowserApplet; +} // namespace Core::Frontend + namespace Service::AM { class IStorage; namespace Applets { +enum class AppletId : u32 { + OverlayDisplay = 0x02, + QLaunch = 0x03, + Starter = 0x04, + Auth = 0x0A, + Cabinet = 0x0B, + Controller = 0x0C, + DataErase = 0x0D, + Error = 0x0E, + NetConnect = 0x0F, + ProfileSelect = 0x10, + SoftwareKeyboard = 0x11, + MiiEdit = 0x12, + LibAppletWeb = 0x13, + LibAppletShop = 0x14, + PhotoViewer = 0x15, + Settings = 0x16, + LibAppletOff = 0x17, + LibAppletWhitelisted = 0x18, + LibAppletAuth = 0x19, + MyPage = 0x1A, +}; + class AppletDataBroker final { public: AppletDataBroker(); @@ -105,5 +136,29 @@ protected: bool initialized = false; }; +struct AppletFrontendSet { + std::unique_ptr<Core::Frontend::ErrorApplet> error; + std::unique_ptr<Core::Frontend::PhotoViewerApplet> photo_viewer; + std::unique_ptr<Core::Frontend::ProfileSelectApplet> profile_select; + std::unique_ptr<Core::Frontend::SoftwareKeyboardApplet> software_keyboard; + std::unique_ptr<Core::Frontend::WebBrowserApplet> web_browser; +}; + +class AppletManager { +public: + AppletManager(); + ~AppletManager(); + + void SetAppletFrontendSet(AppletFrontendSet set); + void SetDefaultAppletFrontendSet(); + void SetDefaultAppletsIfMissing(); + void ClearAll(); + + std::shared_ptr<Applet> GetApplet(AppletId id) const; + +private: + AppletFrontendSet frontend; +}; + } // namespace Applets } // namespace Service::AM |