diff options
author | Zach Hilman <zachhilman@gmail.com> | 2019-06-05 18:18:10 +0200 |
---|---|---|
committer | Zach Hilman <zachhilman@gmail.com> | 2019-06-25 02:05:11 +0200 |
commit | 54684feffa8518fc8cbc361e460114f810ba2a0e (patch) | |
tree | a17917198b1b2d6b6ae5b8f783a4930a4ffef9b4 /src/core/frontend/applets/general_frontend.h | |
parent | web_browser: Use function tables for execute and initialize (diff) | |
download | yuzu-54684feffa8518fc8cbc361e460114f810ba2a0e.tar yuzu-54684feffa8518fc8cbc361e460114f810ba2a0e.tar.gz yuzu-54684feffa8518fc8cbc361e460114f810ba2a0e.tar.bz2 yuzu-54684feffa8518fc8cbc361e460114f810ba2a0e.tar.lz yuzu-54684feffa8518fc8cbc361e460114f810ba2a0e.tar.xz yuzu-54684feffa8518fc8cbc361e460114f810ba2a0e.tar.zst yuzu-54684feffa8518fc8cbc361e460114f810ba2a0e.zip |
Diffstat (limited to 'src/core/frontend/applets/general_frontend.h')
-rw-r--r-- | src/core/frontend/applets/general_frontend.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/core/frontend/applets/general_frontend.h b/src/core/frontend/applets/general_frontend.h index 48e3ce651..616112cfc 100644 --- a/src/core/frontend/applets/general_frontend.h +++ b/src/core/frontend/applets/general_frontend.h @@ -5,6 +5,7 @@ #pragma once #include <functional> +#include <optional> #include "common/common_types.h" namespace Core::Frontend { @@ -47,4 +48,41 @@ public: void ShowAllPhotos(std::function<void()> finished) const override; }; +class ECommerceApplet { +public: + virtual ~ECommerceApplet(); + + virtual void ShowApplicationInformation(std::function<void()> finished, u64 title_id, + std::optional<u128> user_id = {}, + std::optional<bool> full_display = {}, + std::optional<std::string> extra_parameter = {}) = 0; + virtual void ShowAddOnContentList(std::function<void()> finished, u64 title_id, + std::optional<u128> user_id = {}, + std::optional<bool> full_display = {}) = 0; + virtual void ShowSubscriptionList(std::function<void()> finished, u64 title_id, + std::optional<u128> user_id = {}) = 0; + virtual void ShowConsumableItemList(std::function<void()> finished, u64 title_id, + std::optional<u128> user_id = {}) = 0; + virtual void ShowShopHome(std::function<void()> finished, u128 user_id, bool full_display) = 0; + virtual void ShowSettings(std::function<void()> finished, u128 user_id, bool full_display) = 0; +}; + +class DefaultECommerceApplet : public ECommerceApplet { +public: + ~DefaultECommerceApplet() override; + + void ShowApplicationInformation(std::function<void()> finished, u64 title_id, + std::optional<u128> user_id, std::optional<bool> full_display, + std::optional<std::string> extra_parameter) override; + void ShowAddOnContentList(std::function<void()> finished, u64 title_id, + std::optional<u128> user_id, + std::optional<bool> full_display) override; + void ShowSubscriptionList(std::function<void()> finished, u64 title_id, + std::optional<u128> user_id) override; + void ShowConsumableItemList(std::function<void()> finished, u64 title_id, + std::optional<u128> user_id) override; + void ShowShopHome(std::function<void()> finished, u128 user_id, bool full_display) override; + void ShowSettings(std::function<void()> finished, u128 user_id, bool full_display) override; +}; + } // namespace Core::Frontend |