diff options
| author | 2019-06-06 18:40:59 -0400 | |
|---|---|---|
| committer | 2019-06-24 20:05:11 -0400 | |
| commit | 01ff38cca80c5cf7e64494b129dde8d7c8ebbee5 (patch) | |
| tree | 1bcb28a01c067abe641fe167e99416217fba0f5c /src/core/hle/service | |
| parent | web_browser: Only delete temporary directory if it was created (diff) | |
| download | yuzu-01ff38cca80c5cf7e64494b129dde8d7c8ebbee5.tar.gz yuzu-01ff38cca80c5cf7e64494b129dde8d7c8ebbee5.tar.xz yuzu-01ff38cca80c5cf7e64494b129dde8d7c8ebbee5.zip | |
general_frontend: Add documentation for parental controls and ecommerce applets
Diffstat (limited to 'src/core/hle/service')
| -rw-r--r-- | src/core/hle/service/am/applets/web_browser.cpp | 30 | ||||
| -rw-r--r-- | src/core/hle/service/am/applets/web_browser.h | 2 |
2 files changed, 16 insertions, 16 deletions
diff --git a/src/core/hle/service/am/applets/web_browser.cpp b/src/core/hle/service/am/applets/web_browser.cpp index 3c3af476c..3aa8f2468 100644 --- a/src/core/hle/service/am/applets/web_browser.cpp +++ b/src/core/hle/service/am/applets/web_browser.cpp | |||
| @@ -103,6 +103,17 @@ enum class ShimKind : u32 { | |||
| 103 | Lobby = 7, | 103 | Lobby = 7, |
| 104 | }; | 104 | }; |
| 105 | 105 | ||
| 106 | enum class ShopWebTarget { | ||
| 107 | ApplicationInfo, | ||
| 108 | AddOnContentList, | ||
| 109 | SubscriptionList, | ||
| 110 | ConsumableItemList, | ||
| 111 | Home, | ||
| 112 | Settings, | ||
| 113 | }; | ||
| 114 | |||
| 115 | namespace { | ||
| 116 | |||
| 106 | constexpr std::size_t SHIM_KIND_COUNT = 0x8; | 117 | constexpr std::size_t SHIM_KIND_COUNT = 0x8; |
| 107 | 118 | ||
| 108 | struct WebArgHeader { | 119 | struct WebArgHeader { |
| @@ -148,31 +159,20 @@ enum class OfflineWebSource : u32 { | |||
| 148 | SystemDataPage = 0x3, | 159 | SystemDataPage = 0x3, |
| 149 | }; | 160 | }; |
| 150 | 161 | ||
| 151 | enum class ShopWebTarget { | ||
| 152 | ApplicationInfo, | ||
| 153 | AddOnContentList, | ||
| 154 | SubscriptionList, | ||
| 155 | ConsumableItemList, | ||
| 156 | Home, | ||
| 157 | Settings, | ||
| 158 | }; | ||
| 159 | |||
| 160 | namespace { | ||
| 161 | |||
| 162 | std::map<WebArgTLVType, std::vector<u8>> GetWebArguments(const std::vector<u8>& arg) { | 162 | std::map<WebArgTLVType, std::vector<u8>> GetWebArguments(const std::vector<u8>& arg) { |
| 163 | WebArgHeader header{}; | ||
| 164 | if (arg.size() < sizeof(WebArgHeader)) | 163 | if (arg.size() < sizeof(WebArgHeader)) |
| 165 | return {}; | 164 | return {}; |
| 166 | 165 | ||
| 166 | WebArgHeader header{}; | ||
| 167 | std::memcpy(&header, arg.data(), sizeof(WebArgHeader)); | 167 | std::memcpy(&header, arg.data(), sizeof(WebArgHeader)); |
| 168 | 168 | ||
| 169 | std::map<WebArgTLVType, std::vector<u8>> out; | 169 | std::map<WebArgTLVType, std::vector<u8>> out; |
| 170 | u64 offset = sizeof(WebArgHeader); | 170 | u64 offset = sizeof(WebArgHeader); |
| 171 | for (std::size_t i = 0; i < header.count; ++i) { | 171 | for (std::size_t i = 0; i < header.count; ++i) { |
| 172 | WebArgTLV tlv{}; | ||
| 173 | if (arg.size() < (offset + sizeof(WebArgTLV))) | 172 | if (arg.size() < (offset + sizeof(WebArgTLV))) |
| 174 | return out; | 173 | return out; |
| 175 | 174 | ||
| 175 | WebArgTLV tlv{}; | ||
| 176 | std::memcpy(&tlv, arg.data() + offset, sizeof(WebArgTLV)); | 176 | std::memcpy(&tlv, arg.data() + offset, sizeof(WebArgTLV)); |
| 177 | offset += sizeof(WebArgTLV); | 177 | offset += sizeof(WebArgTLV); |
| 178 | 178 | ||
| @@ -392,7 +392,7 @@ void WebBrowser::InitializeShop() { | |||
| 392 | return; | 392 | return; |
| 393 | } | 393 | } |
| 394 | 394 | ||
| 395 | const std::map<std::string, ShopWebTarget> target_map{ | 395 | const std::map<std::string, ShopWebTarget, std::less<>> target_map{ |
| 396 | {"product_detail", ShopWebTarget::ApplicationInfo}, | 396 | {"product_detail", ShopWebTarget::ApplicationInfo}, |
| 397 | {"aocs", ShopWebTarget::AddOnContentList}, | 397 | {"aocs", ShopWebTarget::AddOnContentList}, |
| 398 | {"subscriptions", ShopWebTarget::SubscriptionList}, | 398 | {"subscriptions", ShopWebTarget::SubscriptionList}, |
| @@ -480,7 +480,7 @@ void WebBrowser::InitializeOffline() { | |||
| 480 | 480 | ||
| 481 | std::string path_additional_directory; | 481 | std::string path_additional_directory; |
| 482 | if (source == OfflineWebSource::OfflineHtmlPage) { | 482 | if (source == OfflineWebSource::OfflineHtmlPage) { |
| 483 | path_additional_directory = std::string(DIR_SEP) + "html-document"; | 483 | path_additional_directory = std::string(DIR_SEP).append("html-document"); |
| 484 | } | 484 | } |
| 485 | 485 | ||
| 486 | filename = | 486 | filename = |
diff --git a/src/core/hle/service/am/applets/web_browser.h b/src/core/hle/service/am/applets/web_browser.h index 42f0a3e8a..9667dcf6f 100644 --- a/src/core/hle/service/am/applets/web_browser.h +++ b/src/core/hle/service/am/applets/web_browser.h | |||
| @@ -67,7 +67,7 @@ private: | |||
| 67 | std::string filename; | 67 | std::string filename; |
| 68 | 68 | ||
| 69 | ShopWebTarget shop_web_target; | 69 | ShopWebTarget shop_web_target; |
| 70 | std::map<std::string, std::string> shop_query; | 70 | std::map<std::string, std::string, std::less<>> shop_query; |
| 71 | std::optional<u64> title_id = 0; | 71 | std::optional<u64> title_id = 0; |
| 72 | std::optional<u128> user_id; | 72 | std::optional<u128> user_id; |
| 73 | std::optional<bool> shop_full_display; | 73 | std::optional<bool> shop_full_display; |