summaryrefslogtreecommitdiffstats
path: root/src/core/frontend/applets/general_frontend.h
diff options
context:
space:
mode:
authorZach Hilman <zachhilman@gmail.com>2019-06-05 18:18:10 +0200
committerZach Hilman <zachhilman@gmail.com>2019-06-25 02:05:11 +0200
commit54684feffa8518fc8cbc361e460114f810ba2a0e (patch)
treea17917198b1b2d6b6ae5b8f783a4930a4ffef9b4 /src/core/frontend/applets/general_frontend.h
parentweb_browser: Use function tables for execute and initialize (diff)
downloadyuzu-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.h38
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