From 54684feffa8518fc8cbc361e460114f810ba2a0e Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Wed, 5 Jun 2019 12:18:10 -0400 Subject: frontend: Add base class and default impl for ECommerce applet frontend --- src/core/frontend/applets/general_frontend.h | 38 ++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'src/core/frontend/applets/general_frontend.h') 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 +#include #include "common/common_types.h" namespace Core::Frontend { @@ -47,4 +48,41 @@ public: void ShowAllPhotos(std::function finished) const override; }; +class ECommerceApplet { +public: + virtual ~ECommerceApplet(); + + virtual void ShowApplicationInformation(std::function finished, u64 title_id, + std::optional user_id = {}, + std::optional full_display = {}, + std::optional extra_parameter = {}) = 0; + virtual void ShowAddOnContentList(std::function finished, u64 title_id, + std::optional user_id = {}, + std::optional full_display = {}) = 0; + virtual void ShowSubscriptionList(std::function finished, u64 title_id, + std::optional user_id = {}) = 0; + virtual void ShowConsumableItemList(std::function finished, u64 title_id, + std::optional user_id = {}) = 0; + virtual void ShowShopHome(std::function finished, u128 user_id, bool full_display) = 0; + virtual void ShowSettings(std::function finished, u128 user_id, bool full_display) = 0; +}; + +class DefaultECommerceApplet : public ECommerceApplet { +public: + ~DefaultECommerceApplet() override; + + void ShowApplicationInformation(std::function finished, u64 title_id, + std::optional user_id, std::optional full_display, + std::optional extra_parameter) override; + void ShowAddOnContentList(std::function finished, u64 title_id, + std::optional user_id, + std::optional full_display) override; + void ShowSubscriptionList(std::function finished, u64 title_id, + std::optional user_id) override; + void ShowConsumableItemList(std::function finished, u64 title_id, + std::optional user_id) override; + void ShowShopHome(std::function finished, u128 user_id, bool full_display) override; + void ShowSettings(std::function finished, u128 user_id, bool full_display) override; +}; + } // namespace Core::Frontend -- cgit v1.2.3