general_frontend: Add documentation for parental controls and ecommerce applets
This commit is contained in:
parent
73dcb13619
commit
01ff38cca8
5 changed files with 55 additions and 27 deletions
|
@ -103,6 +103,17 @@ enum class ShimKind : u32 {
|
|||
Lobby = 7,
|
||||
};
|
||||
|
||||
enum class ShopWebTarget {
|
||||
ApplicationInfo,
|
||||
AddOnContentList,
|
||||
SubscriptionList,
|
||||
ConsumableItemList,
|
||||
Home,
|
||||
Settings,
|
||||
};
|
||||
|
||||
namespace {
|
||||
|
||||
constexpr std::size_t SHIM_KIND_COUNT = 0x8;
|
||||
|
||||
struct WebArgHeader {
|
||||
|
@ -148,31 +159,20 @@ enum class OfflineWebSource : u32 {
|
|||
SystemDataPage = 0x3,
|
||||
};
|
||||
|
||||
enum class ShopWebTarget {
|
||||
ApplicationInfo,
|
||||
AddOnContentList,
|
||||
SubscriptionList,
|
||||
ConsumableItemList,
|
||||
Home,
|
||||
Settings,
|
||||
};
|
||||
|
||||
namespace {
|
||||
|
||||
std::map<WebArgTLVType, std::vector<u8>> GetWebArguments(const std::vector<u8>& arg) {
|
||||
WebArgHeader header{};
|
||||
if (arg.size() < sizeof(WebArgHeader))
|
||||
return {};
|
||||
|
||||
WebArgHeader header{};
|
||||
std::memcpy(&header, arg.data(), sizeof(WebArgHeader));
|
||||
|
||||
std::map<WebArgTLVType, std::vector<u8>> out;
|
||||
u64 offset = sizeof(WebArgHeader);
|
||||
for (std::size_t i = 0; i < header.count; ++i) {
|
||||
WebArgTLV tlv{};
|
||||
if (arg.size() < (offset + sizeof(WebArgTLV)))
|
||||
return out;
|
||||
|
||||
WebArgTLV tlv{};
|
||||
std::memcpy(&tlv, arg.data() + offset, sizeof(WebArgTLV));
|
||||
offset += sizeof(WebArgTLV);
|
||||
|
||||
|
@ -392,7 +392,7 @@ void WebBrowser::InitializeShop() {
|
|||
return;
|
||||
}
|
||||
|
||||
const std::map<std::string, ShopWebTarget> target_map{
|
||||
const std::map<std::string, ShopWebTarget, std::less<>> target_map{
|
||||
{"product_detail", ShopWebTarget::ApplicationInfo},
|
||||
{"aocs", ShopWebTarget::AddOnContentList},
|
||||
{"subscriptions", ShopWebTarget::SubscriptionList},
|
||||
|
@ -480,7 +480,7 @@ void WebBrowser::InitializeOffline() {
|
|||
|
||||
std::string path_additional_directory;
|
||||
if (source == OfflineWebSource::OfflineHtmlPage) {
|
||||
path_additional_directory = std::string(DIR_SEP) + "html-document";
|
||||
path_additional_directory = std::string(DIR_SEP).append("html-document");
|
||||
}
|
||||
|
||||
filename =
|
||||
|
|
|
@ -67,7 +67,7 @@ private:
|
|||
std::string filename;
|
||||
|
||||
ShopWebTarget shop_web_target;
|
||||
std::map<std::string, std::string> shop_query;
|
||||
std::map<std::string, std::string, std::less<>> shop_query;
|
||||
std::optional<u64> title_id = 0;
|
||||
std::optional<u128> user_id;
|
||||
std::optional<bool> shop_full_display;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue