summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/CMakeLists.txt46
-rw-r--r--src/core/core.cpp24
-rw-r--r--src/core/core.h15
-rw-r--r--src/core/frontend/applets/general.cpp (renamed from src/core/frontend/applets/general_frontend.cpp)2
-rw-r--r--src/core/frontend/applets/general.h (renamed from src/core/frontend/applets/general_frontend.h)0
-rw-r--r--src/core/frontend/applets/profile_select.h8
-rw-r--r--src/core/frontend/applets/software_keyboard.cpp12
-rw-r--r--src/core/frontend/applets/software_keyboard.h22
-rw-r--r--src/core/frontend/applets/web_browser.cpp4
-rw-r--r--src/core/frontend/applets/web_browser.h4
-rw-r--r--src/core/hle/service/am/applet_manager.cpp54
-rw-r--r--src/core/hle/service/am/frontend/applet_cabinet.cpp (renamed from src/core/hle/service/am/applets/applet_cabinet.cpp)12
-rw-r--r--src/core/hle/service/am/frontend/applet_cabinet.h (renamed from src/core/hle/service/am/applets/applet_cabinet.h)8
-rw-r--r--src/core/hle/service/am/frontend/applet_controller.cpp (renamed from src/core/hle/service/am/applets/applet_controller.cpp)10
-rw-r--r--src/core/hle/service/am/frontend/applet_controller.h (renamed from src/core/hle/service/am/applets/applet_controller.h)8
-rw-r--r--src/core/hle/service/am/frontend/applet_error.cpp (renamed from src/core/hle/service/am/applets/applet_error.cpp)10
-rw-r--r--src/core/hle/service/am/frontend/applet_error.h (renamed from src/core/hle/service/am/applets/applet_error.h)8
-rw-r--r--src/core/hle/service/am/frontend/applet_general.cpp (renamed from src/core/hle/service/am/applets/applet_general_backend.cpp)20
-rw-r--r--src/core/hle/service/am/frontend/applet_general.h (renamed from src/core/hle/service/am/applets/applet_general_backend.h)12
-rw-r--r--src/core/hle/service/am/frontend/applet_mii_edit.cpp (renamed from src/core/hle/service/am/applets/applet_mii_edit.cpp)8
-rw-r--r--src/core/hle/service/am/frontend/applet_mii_edit.h (renamed from src/core/hle/service/am/applets/applet_mii_edit.h)10
-rw-r--r--src/core/hle/service/am/frontend/applet_mii_edit_types.h (renamed from src/core/hle/service/am/applets/applet_mii_edit_types.h)4
-rw-r--r--src/core/hle/service/am/frontend/applet_profile_select.cpp (renamed from src/core/hle/service/am/applets/applet_profile_select.cpp)10
-rw-r--r--src/core/hle/service/am/frontend/applet_profile_select.h (renamed from src/core/hle/service/am/applets/applet_profile_select.h)8
-rw-r--r--src/core/hle/service/am/frontend/applet_software_keyboard.cpp (renamed from src/core/hle/service/am/applets/applet_software_keyboard.cpp)10
-rw-r--r--src/core/hle/service/am/frontend/applet_software_keyboard.h (renamed from src/core/hle/service/am/applets/applet_software_keyboard.h)10
-rw-r--r--src/core/hle/service/am/frontend/applet_software_keyboard_types.h (renamed from src/core/hle/service/am/applets/applet_software_keyboard_types.h)4
-rw-r--r--src/core/hle/service/am/frontend/applet_web_browser.cpp (renamed from src/core/hle/service/am/applets/applet_web_browser.cpp)10
-rw-r--r--src/core/hle/service/am/frontend/applet_web_browser.h (renamed from src/core/hle/service/am/applets/applet_web_browser.h)10
-rw-r--r--src/core/hle/service/am/frontend/applet_web_browser_types.h (renamed from src/core/hle/service/am/applets/applet_web_browser_types.h)4
-rw-r--r--src/core/hle/service/am/frontend/applets.cpp (renamed from src/core/hle/service/am/applets/applets.cpp)65
-rw-r--r--src/core/hle/service/am/frontend/applets.h (renamed from src/core/hle/service/am/applets/applets.h)125
-rw-r--r--src/core/hle/service/am/library_applet_accessor.cpp2
-rw-r--r--src/core/hle/service/am/library_applet_accessor.h6
-rw-r--r--src/core/hle/service/am/library_applet_creator.cpp10
-rw-r--r--src/core/hle/service/am/library_applet_self_accessor.cpp116
-rw-r--r--src/core/hle/service/am/process_winding_controller.cpp10
-rw-r--r--src/core/hle/service/am/self_controller.cpp4
38 files changed, 312 insertions, 393 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 049946426..5fb0ad822 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -176,8 +176,8 @@ add_library(core STATIC
176 frontend/applets/controller.h 176 frontend/applets/controller.h
177 frontend/applets/error.cpp 177 frontend/applets/error.cpp
178 frontend/applets/error.h 178 frontend/applets/error.h
179 frontend/applets/general_frontend.cpp 179 frontend/applets/general.cpp
180 frontend/applets/general_frontend.h 180 frontend/applets/general.h
181 frontend/applets/mii_edit.cpp 181 frontend/applets/mii_edit.cpp
182 frontend/applets/mii_edit.h 182 frontend/applets/mii_edit.h
183 frontend/applets/profile_select.cpp 183 frontend/applets/profile_select.cpp
@@ -390,6 +390,27 @@ add_library(core STATIC
390 hle/service/acc/errors.h 390 hle/service/acc/errors.h
391 hle/service/acc/profile_manager.cpp 391 hle/service/acc/profile_manager.cpp
392 hle/service/acc/profile_manager.h 392 hle/service/acc/profile_manager.h
393 hle/service/am/frontend/applet_cabinet.cpp
394 hle/service/am/frontend/applet_cabinet.h
395 hle/service/am/frontend/applet_controller.cpp
396 hle/service/am/frontend/applet_controller.h
397 hle/service/am/frontend/applet_error.cpp
398 hle/service/am/frontend/applet_error.h
399 hle/service/am/frontend/applet_general.cpp
400 hle/service/am/frontend/applet_general.h
401 hle/service/am/frontend/applet_mii_edit.cpp
402 hle/service/am/frontend/applet_mii_edit.h
403 hle/service/am/frontend/applet_mii_edit_types.h
404 hle/service/am/frontend/applet_profile_select.cpp
405 hle/service/am/frontend/applet_profile_select.h
406 hle/service/am/frontend/applet_software_keyboard.cpp
407 hle/service/am/frontend/applet_software_keyboard.h
408 hle/service/am/frontend/applet_software_keyboard_types.h
409 hle/service/am/frontend/applet_web_browser.cpp
410 hle/service/am/frontend/applet_web_browser.h
411 hle/service/am/frontend/applet_web_browser_types.h
412 hle/service/am/frontend/applets.cpp
413 hle/service/am/frontend/applets.h
393 hle/service/am/am.cpp 414 hle/service/am/am.cpp
394 hle/service/am/am.h 415 hle/service/am/am.h
395 hle/service/am/am_results.h 416 hle/service/am/am_results.h
@@ -402,27 +423,6 @@ add_library(core STATIC
402 hle/service/am/applet_manager.h 423 hle/service/am/applet_manager.h
403 hle/service/am/applet_oe.cpp 424 hle/service/am/applet_oe.cpp
404 hle/service/am/applet_oe.h 425 hle/service/am/applet_oe.h
405 hle/service/am/applets/applet_cabinet.cpp
406 hle/service/am/applets/applet_cabinet.h
407 hle/service/am/applets/applet_controller.cpp
408 hle/service/am/applets/applet_controller.h
409 hle/service/am/applets/applet_error.cpp
410 hle/service/am/applets/applet_error.h
411 hle/service/am/applets/applet_general_backend.cpp
412 hle/service/am/applets/applet_general_backend.h
413 hle/service/am/applets/applet_mii_edit.cpp
414 hle/service/am/applets/applet_mii_edit.h
415 hle/service/am/applets/applet_mii_edit_types.h
416 hle/service/am/applets/applet_profile_select.cpp
417 hle/service/am/applets/applet_profile_select.h
418 hle/service/am/applets/applet_software_keyboard.cpp
419 hle/service/am/applets/applet_software_keyboard.h
420 hle/service/am/applets/applet_software_keyboard_types.h
421 hle/service/am/applets/applet_web_browser.cpp
422 hle/service/am/applets/applet_web_browser.h
423 hle/service/am/applets/applet_web_browser_types.h
424 hle/service/am/applets/applets.cpp
425 hle/service/am/applets/applets.h
426 hle/service/am/applet_common_functions.cpp 426 hle/service/am/applet_common_functions.cpp
427 hle/service/am/applet_common_functions.h 427 hle/service/am/applet_common_functions.h
428 hle/service/am/applet_message_queue.cpp 428 hle/service/am/applet_message_queue.cpp
diff --git a/src/core/core.cpp b/src/core/core.cpp
index 11bf8d2f6..2bf377b24 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -36,7 +36,7 @@
36#include "core/hle/kernel/kernel.h" 36#include "core/hle/kernel/kernel.h"
37#include "core/hle/kernel/physical_core.h" 37#include "core/hle/kernel/physical_core.h"
38#include "core/hle/service/acc/profile_manager.h" 38#include "core/hle/service/acc/profile_manager.h"
39#include "core/hle/service/am/applets/applets.h" 39#include "core/hle/service/am/frontend/applets.h"
40#include "core/hle/service/apm/apm_controller.h" 40#include "core/hle/service/apm/apm_controller.h"
41#include "core/hle/service/filesystem/filesystem.h" 41#include "core/hle/service/filesystem/filesystem.h"
42#include "core/hle/service/glue/glue_manager.h" 42#include "core/hle/service/glue/glue_manager.h"
@@ -135,8 +135,8 @@ FileSys::VirtualFile GetGameFileFromPath(const FileSys::VirtualFilesystem& vfs,
135 135
136struct System::Impl { 136struct System::Impl {
137 explicit Impl(System& system) 137 explicit Impl(System& system)
138 : kernel{system}, fs_controller{system}, hid_core{}, room_network{}, 138 : kernel{system}, fs_controller{system}, hid_core{}, room_network{}, cpu_manager{system},
139 cpu_manager{system}, reporter{system}, applet_manager{system}, profile_manager{} {} 139 reporter{system}, frontend_applets{system}, profile_manager{} {}
140 140
141 void Initialize(System& system) { 141 void Initialize(System& system) {
142 device_memory = std::make_unique<Core::DeviceMemory>(); 142 device_memory = std::make_unique<Core::DeviceMemory>();
@@ -157,7 +157,7 @@ struct System::Impl {
157 } 157 }
158 158
159 // Create default implementations of applets if one is not provided. 159 // Create default implementations of applets if one is not provided.
160 applet_manager.SetDefaultAppletsIfMissing(); 160 frontend_applets.SetDefaultAppletsIfMissing();
161 161
162 is_async_gpu = Settings::values.use_asynchronous_gpu_emulation.GetValue(); 162 is_async_gpu = Settings::values.use_asynchronous_gpu_emulation.GetValue();
163 163
@@ -567,7 +567,7 @@ struct System::Impl {
567 std::unique_ptr<Tools::RenderdocAPI> renderdoc_api; 567 std::unique_ptr<Tools::RenderdocAPI> renderdoc_api;
568 568
569 /// Frontend applets 569 /// Frontend applets
570 Service::AM::Applets::AppletManager applet_manager; 570 Service::AM::Frontend::FrontendAppletHolder frontend_applets;
571 571
572 /// APM (Performance) services 572 /// APM (Performance) services
573 Service::APM::Controller apm_controller{core_timing}; 573 Service::APM::Controller apm_controller{core_timing};
@@ -871,20 +871,20 @@ void System::RegisterCheatList(const std::vector<Memory::CheatEntry>& list,
871 impl->cheat_engine->SetMainMemoryParameters(main_region_begin, main_region_size); 871 impl->cheat_engine->SetMainMemoryParameters(main_region_begin, main_region_size);
872} 872}
873 873
874void System::SetAppletFrontendSet(Service::AM::Applets::AppletFrontendSet&& set) { 874void System::SetFrontendAppletSet(Service::AM::Frontend::FrontendAppletSet&& set) {
875 impl->applet_manager.SetAppletFrontendSet(std::move(set)); 875 impl->frontend_applets.SetFrontendAppletSet(std::move(set));
876} 876}
877 877
878void System::SetDefaultAppletFrontendSet() { 878void System::SetDefaultAppletFrontendSet() {
879 impl->applet_manager.SetDefaultAppletFrontendSet(); 879 impl->frontend_applets.SetDefaultAppletFrontendSet();
880} 880}
881 881
882Service::AM::Applets::AppletManager& System::GetAppletManager() { 882Service::AM::Frontend::FrontendAppletHolder& System::GetFrontendAppletHolder() {
883 return impl->applet_manager; 883 return impl->frontend_applets;
884} 884}
885 885
886const Service::AM::Applets::AppletManager& System::GetAppletManager() const { 886const Service::AM::Frontend::FrontendAppletHolder& System::GetFrontendAppletHolder() const {
887 return impl->applet_manager; 887 return impl->frontend_applets;
888} 888}
889 889
890void System::SetContentProvider(std::unique_ptr<FileSys::ContentProviderUnion> provider) { 890void System::SetContentProvider(std::unique_ptr<FileSys::ContentProviderUnion> provider) {
diff --git a/src/core/core.h b/src/core/core.h
index d8862e9ce..800e69501 100644
--- a/src/core/core.h
+++ b/src/core/core.h
@@ -50,10 +50,10 @@ namespace Account {
50class ProfileManager; 50class ProfileManager;
51} // namespace Account 51} // namespace Account
52 52
53namespace AM::Applets { 53namespace AM::Frontend {
54struct AppletFrontendSet; 54struct FrontendAppletSet;
55class AppletManager; 55class FrontendAppletHolder;
56} // namespace AM::Applets 56} // namespace AM::Frontend
57 57
58namespace APM { 58namespace APM {
59class Controller; 59class Controller;
@@ -344,11 +344,12 @@ public:
344 const std::array<u8, 0x20>& build_id, u64 main_region_begin, 344 const std::array<u8, 0x20>& build_id, u64 main_region_begin,
345 u64 main_region_size); 345 u64 main_region_size);
346 346
347 void SetAppletFrontendSet(Service::AM::Applets::AppletFrontendSet&& set); 347 void SetFrontendAppletSet(Service::AM::Frontend::FrontendAppletSet&& set);
348 void SetDefaultAppletFrontendSet(); 348 void SetDefaultAppletFrontendSet();
349 349
350 [[nodiscard]] Service::AM::Applets::AppletManager& GetAppletManager(); 350 [[nodiscard]] Service::AM::Frontend::FrontendAppletHolder& GetFrontendAppletHolder();
351 [[nodiscard]] const Service::AM::Applets::AppletManager& GetAppletManager() const; 351 [[nodiscard]] const Service::AM::Frontend::FrontendAppletHolder& GetFrontendAppletHolder()
352 const;
352 353
353 void SetContentProvider(std::unique_ptr<FileSys::ContentProviderUnion> provider); 354 void SetContentProvider(std::unique_ptr<FileSys::ContentProviderUnion> provider);
354 355
diff --git a/src/core/frontend/applets/general_frontend.cpp b/src/core/frontend/applets/general.cpp
index b4b213a31..4c299ee9c 100644
--- a/src/core/frontend/applets/general_frontend.cpp
+++ b/src/core/frontend/applets/general.cpp
@@ -2,7 +2,7 @@
2// SPDX-License-Identifier: GPL-2.0-or-later 2// SPDX-License-Identifier: GPL-2.0-or-later
3 3
4#include "common/logging/log.h" 4#include "common/logging/log.h"
5#include "core/frontend/applets/general_frontend.h" 5#include "core/frontend/applets/general.h"
6 6
7namespace Core::Frontend { 7namespace Core::Frontend {
8 8
diff --git a/src/core/frontend/applets/general_frontend.h b/src/core/frontend/applets/general.h
index 319838ac7..319838ac7 100644
--- a/src/core/frontend/applets/general_frontend.h
+++ b/src/core/frontend/applets/general.h
diff --git a/src/core/frontend/applets/profile_select.h b/src/core/frontend/applets/profile_select.h
index 92e2737ea..880b69ad6 100644
--- a/src/core/frontend/applets/profile_select.h
+++ b/src/core/frontend/applets/profile_select.h
@@ -8,15 +8,15 @@
8 8
9#include "common/uuid.h" 9#include "common/uuid.h"
10#include "core/frontend/applets/applet.h" 10#include "core/frontend/applets/applet.h"
11#include "core/hle/service/am/applets/applet_profile_select.h" 11#include "core/hle/service/am/frontend/applet_profile_select.h"
12 12
13namespace Core::Frontend { 13namespace Core::Frontend {
14 14
15struct ProfileSelectParameters { 15struct ProfileSelectParameters {
16 Service::AM::Applets::UiMode mode; 16 Service::AM::Frontend::UiMode mode;
17 std::array<Common::UUID, 8> invalid_uid_list; 17 std::array<Common::UUID, 8> invalid_uid_list;
18 Service::AM::Applets::UiSettingsDisplayOptions display_options; 18 Service::AM::Frontend::UiSettingsDisplayOptions display_options;
19 Service::AM::Applets::UserSelectionPurpose purpose; 19 Service::AM::Frontend::UserSelectionPurpose purpose;
20}; 20};
21 21
22class ProfileSelectApplet : public Applet { 22class ProfileSelectApplet : public Applet {
diff --git a/src/core/frontend/applets/software_keyboard.cpp b/src/core/frontend/applets/software_keyboard.cpp
index 7655d215b..d00da8ac9 100644
--- a/src/core/frontend/applets/software_keyboard.cpp
+++ b/src/core/frontend/applets/software_keyboard.cpp
@@ -69,7 +69,7 @@ void DefaultSoftwareKeyboardApplet::ShowNormalKeyboard() const {
69} 69}
70 70
71void DefaultSoftwareKeyboardApplet::ShowTextCheckDialog( 71void DefaultSoftwareKeyboardApplet::ShowTextCheckDialog(
72 Service::AM::Applets::SwkbdTextCheckResult text_check_result, 72 Service::AM::Frontend::SwkbdTextCheckResult text_check_result,
73 std::u16string text_check_message) const { 73 std::u16string text_check_message) const {
74 LOG_WARNING(Service_AM, "(STUBBED) called, backend requested to show the text check dialog."); 74 LOG_WARNING(Service_AM, "(STUBBED) called, backend requested to show the text check dialog.");
75} 75}
@@ -118,7 +118,7 @@ void DefaultSoftwareKeyboardApplet::InlineTextChanged(InlineTextParameters text_
118 "\ncursor_position={}", 118 "\ncursor_position={}",
119 Common::UTF16ToUTF8(text_parameters.input_text), text_parameters.cursor_position); 119 Common::UTF16ToUTF8(text_parameters.input_text), text_parameters.cursor_position);
120 120
121 submit_inline_callback(Service::AM::Applets::SwkbdReplyType::ChangedString, 121 submit_inline_callback(Service::AM::Frontend::SwkbdReplyType::ChangedString,
122 text_parameters.input_text, text_parameters.cursor_position); 122 text_parameters.input_text, text_parameters.cursor_position);
123} 123}
124 124
@@ -127,22 +127,22 @@ void DefaultSoftwareKeyboardApplet::ExitKeyboard() const {
127} 127}
128 128
129void DefaultSoftwareKeyboardApplet::SubmitNormalText(std::u16string text) const { 129void DefaultSoftwareKeyboardApplet::SubmitNormalText(std::u16string text) const {
130 submit_normal_callback(Service::AM::Applets::SwkbdResult::Ok, text, true); 130 submit_normal_callback(Service::AM::Frontend::SwkbdResult::Ok, text, true);
131} 131}
132 132
133void DefaultSoftwareKeyboardApplet::SubmitInlineText(std::u16string_view text) const { 133void DefaultSoftwareKeyboardApplet::SubmitInlineText(std::u16string_view text) const {
134 std::this_thread::sleep_for(std::chrono::milliseconds(500)); 134 std::this_thread::sleep_for(std::chrono::milliseconds(500));
135 135
136 for (std::size_t index = 0; index < text.size(); ++index) { 136 for (std::size_t index = 0; index < text.size(); ++index) {
137 submit_inline_callback(Service::AM::Applets::SwkbdReplyType::ChangedString, 137 submit_inline_callback(Service::AM::Frontend::SwkbdReplyType::ChangedString,
138 std::u16string(text.data(), text.data() + index + 1), 138 std::u16string(text.data(), text.data() + index + 1),
139 static_cast<s32>(index) + 1); 139 static_cast<s32>(index) + 1);
140 140
141 std::this_thread::sleep_for(std::chrono::milliseconds(250)); 141 std::this_thread::sleep_for(std::chrono::milliseconds(250));
142 } 142 }
143 143
144 submit_inline_callback(Service::AM::Applets::SwkbdReplyType::DecidedEnter, std::u16string(text), 144 submit_inline_callback(Service::AM::Frontend::SwkbdReplyType::DecidedEnter,
145 static_cast<s32>(text.size())); 145 std::u16string(text), static_cast<s32>(text.size()));
146} 146}
147 147
148} // namespace Core::Frontend 148} // namespace Core::Frontend
diff --git a/src/core/frontend/applets/software_keyboard.h b/src/core/frontend/applets/software_keyboard.h
index 8ed96da24..a32a98e4c 100644
--- a/src/core/frontend/applets/software_keyboard.h
+++ b/src/core/frontend/applets/software_keyboard.h
@@ -8,7 +8,7 @@
8#include "common/common_types.h" 8#include "common/common_types.h"
9 9
10#include "core/frontend/applets/applet.h" 10#include "core/frontend/applets/applet.h"
11#include "core/hle/service/am/applets/applet_software_keyboard_types.h" 11#include "core/hle/service/am/frontend/applet_software_keyboard_types.h"
12 12
13namespace Core::Frontend { 13namespace Core::Frontend {
14 14
@@ -23,10 +23,10 @@ struct KeyboardInitializeParameters {
23 u32 max_text_length; 23 u32 max_text_length;
24 u32 min_text_length; 24 u32 min_text_length;
25 s32 initial_cursor_position; 25 s32 initial_cursor_position;
26 Service::AM::Applets::SwkbdType type; 26 Service::AM::Frontend::SwkbdType type;
27 Service::AM::Applets::SwkbdPasswordMode password_mode; 27 Service::AM::Frontend::SwkbdPasswordMode password_mode;
28 Service::AM::Applets::SwkbdTextDrawType text_draw_type; 28 Service::AM::Frontend::SwkbdTextDrawType text_draw_type;
29 Service::AM::Applets::SwkbdKeyDisableFlags key_disable_flags; 29 Service::AM::Frontend::SwkbdKeyDisableFlags key_disable_flags;
30 bool use_blur_background; 30 bool use_blur_background;
31 bool enable_backspace_button; 31 bool enable_backspace_button;
32 bool enable_return_button; 32 bool enable_return_button;
@@ -40,8 +40,8 @@ struct InlineAppearParameters {
40 f32 key_top_scale_y; 40 f32 key_top_scale_y;
41 f32 key_top_translate_x; 41 f32 key_top_translate_x;
42 f32 key_top_translate_y; 42 f32 key_top_translate_y;
43 Service::AM::Applets::SwkbdType type; 43 Service::AM::Frontend::SwkbdType type;
44 Service::AM::Applets::SwkbdKeyDisableFlags key_disable_flags; 44 Service::AM::Frontend::SwkbdKeyDisableFlags key_disable_flags;
45 bool key_top_as_floating; 45 bool key_top_as_floating;
46 bool enable_backspace_button; 46 bool enable_backspace_button;
47 bool enable_return_button; 47 bool enable_return_button;
@@ -56,9 +56,9 @@ struct InlineTextParameters {
56class SoftwareKeyboardApplet : public Applet { 56class SoftwareKeyboardApplet : public Applet {
57public: 57public:
58 using SubmitInlineCallback = 58 using SubmitInlineCallback =
59 std::function<void(Service::AM::Applets::SwkbdReplyType, std::u16string, s32)>; 59 std::function<void(Service::AM::Frontend::SwkbdReplyType, std::u16string, s32)>;
60 using SubmitNormalCallback = 60 using SubmitNormalCallback =
61 std::function<void(Service::AM::Applets::SwkbdResult, std::u16string, bool)>; 61 std::function<void(Service::AM::Frontend::SwkbdResult, std::u16string, bool)>;
62 62
63 virtual ~SoftwareKeyboardApplet(); 63 virtual ~SoftwareKeyboardApplet();
64 64
@@ -69,7 +69,7 @@ public:
69 69
70 virtual void ShowNormalKeyboard() const = 0; 70 virtual void ShowNormalKeyboard() const = 0;
71 71
72 virtual void ShowTextCheckDialog(Service::AM::Applets::SwkbdTextCheckResult text_check_result, 72 virtual void ShowTextCheckDialog(Service::AM::Frontend::SwkbdTextCheckResult text_check_result,
73 std::u16string text_check_message) const = 0; 73 std::u16string text_check_message) const = 0;
74 74
75 virtual void ShowInlineKeyboard(InlineAppearParameters appear_parameters) const = 0; 75 virtual void ShowInlineKeyboard(InlineAppearParameters appear_parameters) const = 0;
@@ -93,7 +93,7 @@ public:
93 93
94 void ShowNormalKeyboard() const override; 94 void ShowNormalKeyboard() const override;
95 95
96 void ShowTextCheckDialog(Service::AM::Applets::SwkbdTextCheckResult text_check_result, 96 void ShowTextCheckDialog(Service::AM::Frontend::SwkbdTextCheckResult text_check_result,
97 std::u16string text_check_message) const override; 97 std::u16string text_check_message) const override;
98 98
99 void ShowInlineKeyboard(InlineAppearParameters appear_parameters) const override; 99 void ShowInlineKeyboard(InlineAppearParameters appear_parameters) const override;
diff --git a/src/core/frontend/applets/web_browser.cpp b/src/core/frontend/applets/web_browser.cpp
index 6e703ef06..eca8d6d98 100644
--- a/src/core/frontend/applets/web_browser.cpp
+++ b/src/core/frontend/applets/web_browser.cpp
@@ -18,7 +18,7 @@ void DefaultWebBrowserApplet::OpenLocalWebPage(const std::string& local_url,
18 LOG_WARNING(Service_AM, "(STUBBED) called, backend requested to open local web page at {}", 18 LOG_WARNING(Service_AM, "(STUBBED) called, backend requested to open local web page at {}",
19 local_url); 19 local_url);
20 20
21 callback(Service::AM::Applets::WebExitReason::WindowClosed, "http://localhost/"); 21 callback(Service::AM::Frontend::WebExitReason::WindowClosed, "http://localhost/");
22} 22}
23 23
24void DefaultWebBrowserApplet::OpenExternalWebPage(const std::string& external_url, 24void DefaultWebBrowserApplet::OpenExternalWebPage(const std::string& external_url,
@@ -26,7 +26,7 @@ void DefaultWebBrowserApplet::OpenExternalWebPage(const std::string& external_ur
26 LOG_WARNING(Service_AM, "(STUBBED) called, backend requested to open external web page at {}", 26 LOG_WARNING(Service_AM, "(STUBBED) called, backend requested to open external web page at {}",
27 external_url); 27 external_url);
28 28
29 callback(Service::AM::Applets::WebExitReason::WindowClosed, "http://localhost/"); 29 callback(Service::AM::Frontend::WebExitReason::WindowClosed, "http://localhost/");
30} 30}
31 31
32} // namespace Core::Frontend 32} // namespace Core::Frontend
diff --git a/src/core/frontend/applets/web_browser.h b/src/core/frontend/applets/web_browser.h
index 178bbdd3f..b70856a22 100644
--- a/src/core/frontend/applets/web_browser.h
+++ b/src/core/frontend/applets/web_browser.h
@@ -6,7 +6,7 @@
6#include <functional> 6#include <functional>
7 7
8#include "core/frontend/applets/applet.h" 8#include "core/frontend/applets/applet.h"
9#include "core/hle/service/am/applets/applet_web_browser_types.h" 9#include "core/hle/service/am/frontend/applet_web_browser_types.h"
10 10
11namespace Core::Frontend { 11namespace Core::Frontend {
12 12
@@ -14,7 +14,7 @@ class WebBrowserApplet : public Applet {
14public: 14public:
15 using ExtractROMFSCallback = std::function<void()>; 15 using ExtractROMFSCallback = std::function<void()>;
16 using OpenWebPageCallback = 16 using OpenWebPageCallback =
17 std::function<void(Service::AM::Applets::WebExitReason, std::string)>; 17 std::function<void(Service::AM::Frontend::WebExitReason, std::string)>;
18 18
19 virtual ~WebBrowserApplet(); 19 virtual ~WebBrowserApplet();
20 20
diff --git a/src/core/hle/service/am/applet_manager.cpp b/src/core/hle/service/am/applet_manager.cpp
index 9f7ccfbf2..4aac5dba7 100644
--- a/src/core/hle/service/am/applet_manager.cpp
+++ b/src/core/hle/service/am/applet_manager.cpp
@@ -7,10 +7,10 @@
7#include "core/core_timing.h" 7#include "core/core_timing.h"
8#include "core/hle/service/acc/profile_manager.h" 8#include "core/hle/service/acc/profile_manager.h"
9#include "core/hle/service/am/applet_manager.h" 9#include "core/hle/service/am/applet_manager.h"
10#include "core/hle/service/am/applets/applet_cabinet.h" 10#include "core/hle/service/am/frontend/applet_cabinet.h"
11#include "core/hle/service/am/applets/applet_controller.h" 11#include "core/hle/service/am/frontend/applet_controller.h"
12#include "core/hle/service/am/applets/applet_mii_edit_types.h" 12#include "core/hle/service/am/frontend/applet_mii_edit_types.h"
13#include "core/hle/service/am/applets/applet_software_keyboard_types.h" 13#include "core/hle/service/am/frontend/applet_software_keyboard_types.h"
14#include "hid_core/hid_types.h" 14#include "hid_core/hid_types.h"
15 15
16namespace Service::AM { 16namespace Service::AM {
@@ -54,13 +54,13 @@ void PushInShowController(Core::System& system, AppletStorageChannel& channel) {
54 const CommonArguments common_args = { 54 const CommonArguments common_args = {
55 .arguments_version = CommonArgumentVersion::Version3, 55 .arguments_version = CommonArgumentVersion::Version3,
56 .size = CommonArgumentSize::Version3, 56 .size = CommonArgumentSize::Version3,
57 .library_version = static_cast<u32>(Applets::ControllerAppletVersion::Version8), 57 .library_version = static_cast<u32>(Frontend::ControllerAppletVersion::Version8),
58 .theme_color = ThemeColor::BasicBlack, 58 .theme_color = ThemeColor::BasicBlack,
59 .play_startup_sound = true, 59 .play_startup_sound = true,
60 .system_tick = system.CoreTiming().GetClockTicks(), 60 .system_tick = system.CoreTiming().GetClockTicks(),
61 }; 61 };
62 62
63 Applets::ControllerSupportArgNew user_args = { 63 Frontend::ControllerSupportArgNew user_args = {
64 .header = {.player_count_min = 1, 64 .header = {.player_count_min = 1,
65 .player_count_max = 4, 65 .player_count_max = 4,
66 .enable_take_over_connection = true, 66 .enable_take_over_connection = true,
@@ -73,13 +73,13 @@ void PushInShowController(Core::System& system, AppletStorageChannel& channel) {
73 .explain_text = {}, 73 .explain_text = {},
74 }; 74 };
75 75
76 Applets::ControllerSupportArgPrivate private_args = { 76 Frontend::ControllerSupportArgPrivate private_args = {
77 .arg_private_size = sizeof(Applets::ControllerSupportArgPrivate), 77 .arg_private_size = sizeof(Frontend::ControllerSupportArgPrivate),
78 .arg_size = sizeof(Applets::ControllerSupportArgNew), 78 .arg_size = sizeof(Frontend::ControllerSupportArgNew),
79 .is_home_menu = true, 79 .is_home_menu = true,
80 .flag_1 = true, 80 .flag_1 = true,
81 .mode = Applets::ControllerSupportMode::ShowControllerSupport, 81 .mode = Frontend::ControllerSupportMode::ShowControllerSupport,
82 .caller = Applets::ControllerSupportCaller:: 82 .caller = Frontend::ControllerSupportCaller::
83 Application, // switchbrew: Always zero except with 83 Application, // switchbrew: Always zero except with
84 // ShowControllerFirmwareUpdateForSystem/ShowControllerKeyRemappingForSystem, 84 // ShowControllerFirmwareUpdateForSystem/ShowControllerKeyRemappingForSystem,
85 // which sets this to the input param 85 // which sets this to the input param
@@ -103,16 +103,16 @@ void PushInShowCabinetData(Core::System& system, AppletStorageChannel& channel)
103 const CommonArguments arguments{ 103 const CommonArguments arguments{
104 .arguments_version = CommonArgumentVersion::Version3, 104 .arguments_version = CommonArgumentVersion::Version3,
105 .size = CommonArgumentSize::Version3, 105 .size = CommonArgumentSize::Version3,
106 .library_version = static_cast<u32>(Applets::CabinetAppletVersion::Version1), 106 .library_version = static_cast<u32>(Frontend::CabinetAppletVersion::Version1),
107 .theme_color = ThemeColor::BasicBlack, 107 .theme_color = ThemeColor::BasicBlack,
108 .play_startup_sound = true, 108 .play_startup_sound = true,
109 .system_tick = system.CoreTiming().GetClockTicks(), 109 .system_tick = system.CoreTiming().GetClockTicks(),
110 }; 110 };
111 111
112 const Applets::StartParamForAmiiboSettings amiibo_settings{ 112 const Frontend::StartParamForAmiiboSettings amiibo_settings{
113 .param_1 = 0, 113 .param_1 = 0,
114 .applet_mode = system.GetAppletManager().GetCabinetMode(), 114 .applet_mode = system.GetFrontendAppletHolder().GetCabinetMode(),
115 .flags = Applets::CabinetFlags::None, 115 .flags = Frontend::CabinetFlags::None,
116 .amiibo_settings_1 = 0, 116 .amiibo_settings_1 = 0,
117 .device_handle = 0, 117 .device_handle = 0,
118 .tag_info{}, 118 .tag_info{},
@@ -130,16 +130,16 @@ void PushInShowCabinetData(Core::System& system, AppletStorageChannel& channel)
130 130
131void PushInShowMiiEditData(Core::System& system, AppletStorageChannel& channel) { 131void PushInShowMiiEditData(Core::System& system, AppletStorageChannel& channel) {
132 struct MiiEditV3 { 132 struct MiiEditV3 {
133 Applets::MiiEditAppletInputCommon common; 133 Frontend::MiiEditAppletInputCommon common;
134 Applets::MiiEditAppletInputV3 input; 134 Frontend::MiiEditAppletInputV3 input;
135 }; 135 };
136 static_assert(sizeof(MiiEditV3) == 0x100, "MiiEditV3 has incorrect size."); 136 static_assert(sizeof(MiiEditV3) == 0x100, "MiiEditV3 has incorrect size.");
137 137
138 MiiEditV3 mii_arguments{ 138 MiiEditV3 mii_arguments{
139 .common = 139 .common =
140 { 140 {
141 .version = Applets::MiiEditAppletVersion::Version3, 141 .version = Frontend::MiiEditAppletVersion::Version3,
142 .applet_mode = Applets::MiiEditAppletMode::ShowMiiEdit, 142 .applet_mode = Frontend::MiiEditAppletMode::ShowMiiEdit,
143 }, 143 },
144 .input{}, 144 .input{},
145 }; 145 };
@@ -154,7 +154,7 @@ void PushInShowSoftwareKeyboard(Core::System& system, AppletStorageChannel& chan
154 const CommonArguments arguments{ 154 const CommonArguments arguments{
155 .arguments_version = CommonArgumentVersion::Version3, 155 .arguments_version = CommonArgumentVersion::Version3,
156 .size = CommonArgumentSize::Version3, 156 .size = CommonArgumentSize::Version3,
157 .library_version = static_cast<u32>(Applets::SwkbdAppletVersion::Version524301), 157 .library_version = static_cast<u32>(Frontend::SwkbdAppletVersion::Version524301),
158 .theme_color = ThemeColor::BasicBlack, 158 .theme_color = ThemeColor::BasicBlack,
159 .play_startup_sound = true, 159 .play_startup_sound = true,
160 .system_tick = system.CoreTiming().GetClockTicks(), 160 .system_tick = system.CoreTiming().GetClockTicks(),
@@ -162,21 +162,21 @@ void PushInShowSoftwareKeyboard(Core::System& system, AppletStorageChannel& chan
162 162
163 std::vector<char16_t> initial_string(0); 163 std::vector<char16_t> initial_string(0);
164 164
165 const Applets::SwkbdConfigCommon swkbd_config{ 165 const Frontend::SwkbdConfigCommon swkbd_config{
166 .type = Applets::SwkbdType::Qwerty, 166 .type = Frontend::SwkbdType::Qwerty,
167 .ok_text{}, 167 .ok_text{},
168 .left_optional_symbol_key{}, 168 .left_optional_symbol_key{},
169 .right_optional_symbol_key{}, 169 .right_optional_symbol_key{},
170 .use_prediction = false, 170 .use_prediction = false,
171 .key_disable_flags{}, 171 .key_disable_flags{},
172 .initial_cursor_position = Applets::SwkbdInitialCursorPosition::Start, 172 .initial_cursor_position = Frontend::SwkbdInitialCursorPosition::Start,
173 .header_text{}, 173 .header_text{},
174 .sub_text{}, 174 .sub_text{},
175 .guide_text{}, 175 .guide_text{},
176 .max_text_length = 500, 176 .max_text_length = 500,
177 .min_text_length = 0, 177 .min_text_length = 0,
178 .password_mode = Applets::SwkbdPasswordMode::Disabled, 178 .password_mode = Frontend::SwkbdPasswordMode::Disabled,
179 .text_draw_type = Applets::SwkbdTextDrawType::Box, 179 .text_draw_type = Frontend::SwkbdTextDrawType::Box,
180 .enable_return_button = true, 180 .enable_return_button = true,
181 .use_utf8 = false, 181 .use_utf8 = false,
182 .use_blur_background = true, 182 .use_blur_background = true,
@@ -187,7 +187,7 @@ void PushInShowSoftwareKeyboard(Core::System& system, AppletStorageChannel& chan
187 .use_text_check = false, 187 .use_text_check = false,
188 }; 188 };
189 189
190 Applets::SwkbdConfigNew swkbd_config_new{}; 190 Frontend::SwkbdConfigNew swkbd_config_new{};
191 191
192 std::vector<u8> argument_data(sizeof(arguments)); 192 std::vector<u8> argument_data(sizeof(arguments));
193 std::vector<u8> swkbd_data(sizeof(swkbd_config) + sizeof(swkbd_config_new)); 193 std::vector<u8> swkbd_data(sizeof(swkbd_config) + sizeof(swkbd_config_new));
@@ -196,7 +196,7 @@ void PushInShowSoftwareKeyboard(Core::System& system, AppletStorageChannel& chan
196 std::memcpy(argument_data.data(), &arguments, sizeof(arguments)); 196 std::memcpy(argument_data.data(), &arguments, sizeof(arguments));
197 std::memcpy(swkbd_data.data(), &swkbd_config, sizeof(swkbd_config)); 197 std::memcpy(swkbd_data.data(), &swkbd_config, sizeof(swkbd_config));
198 std::memcpy(swkbd_data.data() + sizeof(swkbd_config), &swkbd_config_new, 198 std::memcpy(swkbd_data.data() + sizeof(swkbd_config), &swkbd_config_new,
199 sizeof(Applets::SwkbdConfigNew)); 199 sizeof(Frontend::SwkbdConfigNew));
200 std::memcpy(work_buffer.data(), initial_string.data(), 200 std::memcpy(work_buffer.data(), initial_string.data(),
201 swkbd_config.initial_string_length * sizeof(char16_t)); 201 swkbd_config.initial_string_length * sizeof(char16_t));
202 202
diff --git a/src/core/hle/service/am/applets/applet_cabinet.cpp b/src/core/hle/service/am/frontend/applet_cabinet.cpp
index 1b756fbd7..f1f49e83b 100644
--- a/src/core/hle/service/am/applets/applet_cabinet.cpp
+++ b/src/core/hle/service/am/frontend/applet_cabinet.cpp
@@ -8,18 +8,18 @@
8#include "core/hle/kernel/k_event.h" 8#include "core/hle/kernel/k_event.h"
9#include "core/hle/kernel/k_readable_event.h" 9#include "core/hle/kernel/k_readable_event.h"
10#include "core/hle/service/am/am.h" 10#include "core/hle/service/am/am.h"
11#include "core/hle/service/am/applets/applet_cabinet.h" 11#include "core/hle/service/am/frontend/applet_cabinet.h"
12#include "core/hle/service/am/storage.h" 12#include "core/hle/service/am/storage.h"
13#include "core/hle/service/mii/mii_manager.h" 13#include "core/hle/service/mii/mii_manager.h"
14#include "core/hle/service/nfc/common/device.h" 14#include "core/hle/service/nfc/common/device.h"
15#include "hid_core/hid_core.h" 15#include "hid_core/hid_core.h"
16 16
17namespace Service::AM::Applets { 17namespace Service::AM::Frontend {
18 18
19Cabinet::Cabinet(Core::System& system_, LibraryAppletMode applet_mode_, 19Cabinet::Cabinet(Core::System& system_, LibraryAppletMode applet_mode_,
20 const Core::Frontend::CabinetApplet& frontend_) 20 const Core::Frontend::CabinetApplet& frontend_)
21 : Applet{system_, applet_mode_}, frontend{frontend_}, system{system_}, 21 : FrontendApplet{system_, applet_mode_}, frontend{frontend_},
22 service_context{system_, "CabinetApplet"} { 22 system{system_}, service_context{system_, "CabinetApplet"} {
23 23
24 availability_change_event = 24 availability_change_event =
25 service_context.CreateEvent("CabinetApplet:AvailabilityChangeEvent"); 25 service_context.CreateEvent("CabinetApplet:AvailabilityChangeEvent");
@@ -30,7 +30,7 @@ Cabinet::~Cabinet() {
30}; 30};
31 31
32void Cabinet::Initialize() { 32void Cabinet::Initialize() {
33 Applet::Initialize(); 33 FrontendApplet::Initialize();
34 34
35 LOG_INFO(Service_HID, "Initializing Cabinet Applet."); 35 LOG_INFO(Service_HID, "Initializing Cabinet Applet.");
36 36
@@ -184,4 +184,4 @@ Result Cabinet::RequestExit() {
184 R_SUCCEED(); 184 R_SUCCEED();
185} 185}
186 186
187} // namespace Service::AM::Applets 187} // namespace Service::AM::Frontend
diff --git a/src/core/hle/service/am/applets/applet_cabinet.h b/src/core/hle/service/am/frontend/applet_cabinet.h
index f498796f7..85d25bcb3 100644
--- a/src/core/hle/service/am/applets/applet_cabinet.h
+++ b/src/core/hle/service/am/frontend/applet_cabinet.h
@@ -6,7 +6,7 @@
6#include <array> 6#include <array>
7 7
8#include "core/hle/result.h" 8#include "core/hle/result.h"
9#include "core/hle/service/am/applets/applets.h" 9#include "core/hle/service/am/frontend/applets.h"
10#include "core/hle/service/kernel_helpers.h" 10#include "core/hle/service/kernel_helpers.h"
11#include "core/hle/service/nfp/nfp_types.h" 11#include "core/hle/service/nfp/nfp_types.h"
12 12
@@ -23,7 +23,7 @@ namespace Service::NFC {
23class NfcDevice; 23class NfcDevice;
24} 24}
25 25
26namespace Service::AM::Applets { 26namespace Service::AM::Frontend {
27 27
28enum class CabinetAppletVersion : u32 { 28enum class CabinetAppletVersion : u32 {
29 Version1 = 0x1, 29 Version1 = 0x1,
@@ -84,7 +84,7 @@ static_assert(sizeof(ReturnValueForAmiiboSettings) == 0x188,
84 "ReturnValueForAmiiboSettings is an invalid size"); 84 "ReturnValueForAmiiboSettings is an invalid size");
85#pragma pack(pop) 85#pragma pack(pop)
86 86
87class Cabinet final : public Applet { 87class Cabinet final : public FrontendApplet {
88public: 88public:
89 explicit Cabinet(Core::System& system_, LibraryAppletMode applet_mode_, 89 explicit Cabinet(Core::System& system_, LibraryAppletMode applet_mode_,
90 const Core::Frontend::CabinetApplet& frontend_); 90 const Core::Frontend::CabinetApplet& frontend_);
@@ -111,4 +111,4 @@ private:
111 StartParamForAmiiboSettings applet_input_common{}; 111 StartParamForAmiiboSettings applet_input_common{};
112}; 112};
113 113
114} // namespace Service::AM::Applets 114} // namespace Service::AM::Frontend
diff --git a/src/core/hle/service/am/applets/applet_controller.cpp b/src/core/hle/service/am/frontend/applet_controller.cpp
index bc8de6b60..b4114f6a3 100644
--- a/src/core/hle/service/am/applets/applet_controller.cpp
+++ b/src/core/hle/service/am/frontend/applet_controller.cpp
@@ -11,14 +11,14 @@
11#include "core/frontend/applets/controller.h" 11#include "core/frontend/applets/controller.h"
12#include "core/hle/result.h" 12#include "core/hle/result.h"
13#include "core/hle/service/am/am.h" 13#include "core/hle/service/am/am.h"
14#include "core/hle/service/am/applets/applet_controller.h" 14#include "core/hle/service/am/frontend/applet_controller.h"
15#include "core/hle/service/am/storage.h" 15#include "core/hle/service/am/storage.h"
16#include "hid_core/frontend/emulated_controller.h" 16#include "hid_core/frontend/emulated_controller.h"
17#include "hid_core/hid_core.h" 17#include "hid_core/hid_core.h"
18#include "hid_core/hid_types.h" 18#include "hid_core/hid_types.h"
19#include "hid_core/resources/npad/npad.h" 19#include "hid_core/resources/npad/npad.h"
20 20
21namespace Service::AM::Applets { 21namespace Service::AM::Frontend {
22 22
23[[maybe_unused]] constexpr Result ResultControllerSupportCanceled{ErrorModule::HID, 3101}; 23[[maybe_unused]] constexpr Result ResultControllerSupportCanceled{ErrorModule::HID, 3101};
24[[maybe_unused]] constexpr Result ResultControllerSupportNotSupportedNpadStyle{ErrorModule::HID, 24[[maybe_unused]] constexpr Result ResultControllerSupportNotSupportedNpadStyle{ErrorModule::HID,
@@ -49,12 +49,12 @@ static Core::Frontend::ControllerParameters ConvertToFrontendParameters(
49 49
50Controller::Controller(Core::System& system_, LibraryAppletMode applet_mode_, 50Controller::Controller(Core::System& system_, LibraryAppletMode applet_mode_,
51 const Core::Frontend::ControllerApplet& frontend_) 51 const Core::Frontend::ControllerApplet& frontend_)
52 : Applet{system_, applet_mode_}, frontend{frontend_}, system{system_} {} 52 : FrontendApplet{system_, applet_mode_}, frontend{frontend_}, system{system_} {}
53 53
54Controller::~Controller() = default; 54Controller::~Controller() = default;
55 55
56void Controller::Initialize() { 56void Controller::Initialize() {
57 Applet::Initialize(); 57 FrontendApplet::Initialize();
58 58
59 LOG_INFO(Service_HID, "Initializing Controller Applet."); 59 LOG_INFO(Service_HID, "Initializing Controller Applet.");
60 60
@@ -270,4 +270,4 @@ Result Controller::RequestExit() {
270 R_SUCCEED(); 270 R_SUCCEED();
271} 271}
272 272
273} // namespace Service::AM::Applets 273} // namespace Service::AM::Frontend
diff --git a/src/core/hle/service/am/applets/applet_controller.h b/src/core/hle/service/am/frontend/applet_controller.h
index 9f839f3d7..bf2bed332 100644
--- a/src/core/hle/service/am/applets/applet_controller.h
+++ b/src/core/hle/service/am/frontend/applet_controller.h
@@ -9,7 +9,7 @@
9#include "common/common_funcs.h" 9#include "common/common_funcs.h"
10#include "common/common_types.h" 10#include "common/common_types.h"
11#include "core/hle/result.h" 11#include "core/hle/result.h"
12#include "core/hle/service/am/applets/applets.h" 12#include "core/hle/service/am/frontend/applets.h"
13 13
14namespace Core { 14namespace Core {
15class System; 15class System;
@@ -19,7 +19,7 @@ namespace Core::HID {
19enum class NpadStyleSet : u32; 19enum class NpadStyleSet : u32;
20} 20}
21 21
22namespace Service::AM::Applets { 22namespace Service::AM::Frontend {
23 23
24using IdentificationColor = std::array<u8, 4>; 24using IdentificationColor = std::array<u8, 4>;
25using ExplainText = std::array<char, 0x81>; 25using ExplainText = std::array<char, 0x81>;
@@ -122,7 +122,7 @@ struct ControllerSupportResultInfo {
122static_assert(sizeof(ControllerSupportResultInfo) == 0xC, 122static_assert(sizeof(ControllerSupportResultInfo) == 0xC,
123 "ControllerSupportResultInfo has incorrect size."); 123 "ControllerSupportResultInfo has incorrect size.");
124 124
125class Controller final : public Applet { 125class Controller final : public FrontendApplet {
126public: 126public:
127 explicit Controller(Core::System& system_, LibraryAppletMode applet_mode_, 127 explicit Controller(Core::System& system_, LibraryAppletMode applet_mode_,
128 const Core::Frontend::ControllerApplet& frontend_); 128 const Core::Frontend::ControllerApplet& frontend_);
@@ -154,4 +154,4 @@ private:
154 std::vector<u8> out_data; 154 std::vector<u8> out_data;
155}; 155};
156 156
157} // namespace Service::AM::Applets 157} // namespace Service::AM::Frontend
diff --git a/src/core/hle/service/am/applets/applet_error.cpp b/src/core/hle/service/am/frontend/applet_error.cpp
index 96126832c..48be77da2 100644
--- a/src/core/hle/service/am/applets/applet_error.cpp
+++ b/src/core/hle/service/am/frontend/applet_error.cpp
@@ -9,11 +9,11 @@
9#include "core/core.h" 9#include "core/core.h"
10#include "core/frontend/applets/error.h" 10#include "core/frontend/applets/error.h"
11#include "core/hle/service/am/am.h" 11#include "core/hle/service/am/am.h"
12#include "core/hle/service/am/applets/applet_error.h" 12#include "core/hle/service/am/frontend/applet_error.h"
13#include "core/hle/service/am/storage.h" 13#include "core/hle/service/am/storage.h"
14#include "core/reporter.h" 14#include "core/reporter.h"
15 15
16namespace Service::AM::Applets { 16namespace Service::AM::Frontend {
17 17
18struct ErrorCode { 18struct ErrorCode {
19 u32 error_category{}; 19 u32 error_category{};
@@ -106,12 +106,12 @@ Result Decode64BitError(u64 error) {
106 106
107Error::Error(Core::System& system_, LibraryAppletMode applet_mode_, 107Error::Error(Core::System& system_, LibraryAppletMode applet_mode_,
108 const Core::Frontend::ErrorApplet& frontend_) 108 const Core::Frontend::ErrorApplet& frontend_)
109 : Applet{system_, applet_mode_}, frontend{frontend_}, system{system_} {} 109 : FrontendApplet{system_, applet_mode_}, frontend{frontend_}, system{system_} {}
110 110
111Error::~Error() = default; 111Error::~Error() = default;
112 112
113void Error::Initialize() { 113void Error::Initialize() {
114 Applet::Initialize(); 114 FrontendApplet::Initialize();
115 args = std::make_unique<ErrorArguments>(); 115 args = std::make_unique<ErrorArguments>();
116 complete = false; 116 complete = false;
117 117
@@ -220,4 +220,4 @@ Result Error::RequestExit() {
220 R_SUCCEED(); 220 R_SUCCEED();
221} 221}
222 222
223} // namespace Service::AM::Applets 223} // namespace Service::AM::Frontend
diff --git a/src/core/hle/service/am/applets/applet_error.h b/src/core/hle/service/am/frontend/applet_error.h
index d822a32bb..639e3c224 100644
--- a/src/core/hle/service/am/applets/applet_error.h
+++ b/src/core/hle/service/am/frontend/applet_error.h
@@ -4,13 +4,13 @@
4#pragma once 4#pragma once
5 5
6#include "core/hle/result.h" 6#include "core/hle/result.h"
7#include "core/hle/service/am/applets/applets.h" 7#include "core/hle/service/am/frontend/applets.h"
8 8
9namespace Core { 9namespace Core {
10class System; 10class System;
11} 11}
12 12
13namespace Service::AM::Applets { 13namespace Service::AM::Frontend {
14 14
15enum class ErrorAppletMode : u8 { 15enum class ErrorAppletMode : u8 {
16 ShowError = 0, 16 ShowError = 0,
@@ -22,7 +22,7 @@ enum class ErrorAppletMode : u8 {
22 ShowUpdateEula = 8, 22 ShowUpdateEula = 8,
23}; 23};
24 24
25class Error final : public Applet { 25class Error final : public FrontendApplet {
26public: 26public:
27 explicit Error(Core::System& system_, LibraryAppletMode applet_mode_, 27 explicit Error(Core::System& system_, LibraryAppletMode applet_mode_,
28 const Core::Frontend::ErrorApplet& frontend_); 28 const Core::Frontend::ErrorApplet& frontend_);
@@ -50,4 +50,4 @@ private:
50 Core::System& system; 50 Core::System& system;
51}; 51};
52 52
53} // namespace Service::AM::Applets 53} // namespace Service::AM::Frontend
diff --git a/src/core/hle/service/am/applets/applet_general_backend.cpp b/src/core/hle/service/am/frontend/applet_general.cpp
index c010c78e2..e51171525 100644
--- a/src/core/hle/service/am/applets/applet_general_backend.cpp
+++ b/src/core/hle/service/am/frontend/applet_general.cpp
@@ -5,14 +5,14 @@
5#include "common/hex_util.h" 5#include "common/hex_util.h"
6#include "common/logging/log.h" 6#include "common/logging/log.h"
7#include "core/core.h" 7#include "core/core.h"
8#include "core/frontend/applets/general_frontend.h" 8#include "core/frontend/applets/general.h"
9#include "core/hle/result.h" 9#include "core/hle/result.h"
10#include "core/hle/service/am/am.h" 10#include "core/hle/service/am/am.h"
11#include "core/hle/service/am/applets/applet_general_backend.h" 11#include "core/hle/service/am/frontend/applet_general.h"
12#include "core/hle/service/am/storage.h" 12#include "core/hle/service/am/storage.h"
13#include "core/reporter.h" 13#include "core/reporter.h"
14 14
15namespace Service::AM::Applets { 15namespace Service::AM::Frontend {
16 16
17constexpr Result ERROR_INVALID_PIN{ErrorModule::PCTL, 221}; 17constexpr Result ERROR_INVALID_PIN{ErrorModule::PCTL, 221};
18 18
@@ -36,12 +36,12 @@ static void LogCurrentStorage(AppletDataBroker& broker, std::string_view prefix)
36 36
37Auth::Auth(Core::System& system_, LibraryAppletMode applet_mode_, 37Auth::Auth(Core::System& system_, LibraryAppletMode applet_mode_,
38 Core::Frontend::ParentalControlsApplet& frontend_) 38 Core::Frontend::ParentalControlsApplet& frontend_)
39 : Applet{system_, applet_mode_}, frontend{frontend_}, system{system_} {} 39 : FrontendApplet{system_, applet_mode_}, frontend{frontend_}, system{system_} {}
40 40
41Auth::~Auth() = default; 41Auth::~Auth() = default;
42 42
43void Auth::Initialize() { 43void Auth::Initialize() {
44 Applet::Initialize(); 44 FrontendApplet::Initialize();
45 complete = false; 45 complete = false;
46 46
47 const auto storage = broker.PopNormalDataToApplet(); 47 const auto storage = broker.PopNormalDataToApplet();
@@ -158,12 +158,12 @@ Result Auth::RequestExit() {
158 158
159PhotoViewer::PhotoViewer(Core::System& system_, LibraryAppletMode applet_mode_, 159PhotoViewer::PhotoViewer(Core::System& system_, LibraryAppletMode applet_mode_,
160 const Core::Frontend::PhotoViewerApplet& frontend_) 160 const Core::Frontend::PhotoViewerApplet& frontend_)
161 : Applet{system_, applet_mode_}, frontend{frontend_}, system{system_} {} 161 : FrontendApplet{system_, applet_mode_}, frontend{frontend_}, system{system_} {}
162 162
163PhotoViewer::~PhotoViewer() = default; 163PhotoViewer::~PhotoViewer() = default;
164 164
165void PhotoViewer::Initialize() { 165void PhotoViewer::Initialize() {
166 Applet::Initialize(); 166 FrontendApplet::Initialize();
167 complete = false; 167 complete = false;
168 168
169 const auto storage = broker.PopNormalDataToApplet(); 169 const auto storage = broker.PopNormalDataToApplet();
@@ -214,13 +214,13 @@ Result PhotoViewer::RequestExit() {
214} 214}
215 215
216StubApplet::StubApplet(Core::System& system_, AppletId id_, LibraryAppletMode applet_mode_) 216StubApplet::StubApplet(Core::System& system_, AppletId id_, LibraryAppletMode applet_mode_)
217 : Applet{system_, applet_mode_}, id{id_}, system{system_} {} 217 : FrontendApplet{system_, applet_mode_}, id{id_}, system{system_} {}
218 218
219StubApplet::~StubApplet() = default; 219StubApplet::~StubApplet() = default;
220 220
221void StubApplet::Initialize() { 221void StubApplet::Initialize() {
222 LOG_WARNING(Service_AM, "called (STUBBED)"); 222 LOG_WARNING(Service_AM, "called (STUBBED)");
223 Applet::Initialize(); 223 FrontendApplet::Initialize();
224 224
225 const auto data = broker.PeekDataToAppletForDebug(); 225 const auto data = broker.PeekDataToAppletForDebug();
226 system.GetReporter().SaveUnimplementedAppletReport( 226 system.GetReporter().SaveUnimplementedAppletReport(
@@ -266,4 +266,4 @@ Result StubApplet::RequestExit() {
266 R_SUCCEED(); 266 R_SUCCEED();
267} 267}
268 268
269} // namespace Service::AM::Applets 269} // namespace Service::AM::Frontend
diff --git a/src/core/hle/service/am/applets/applet_general_backend.h b/src/core/hle/service/am/frontend/applet_general.h
index 34ecaebb9..b39a9a3f1 100644
--- a/src/core/hle/service/am/applets/applet_general_backend.h
+++ b/src/core/hle/service/am/frontend/applet_general.h
@@ -3,13 +3,13 @@
3 3
4#pragma once 4#pragma once
5 5
6#include "core/hle/service/am/applets/applets.h" 6#include "core/hle/service/am/frontend/applets.h"
7 7
8namespace Core { 8namespace Core {
9class System; 9class System;
10} 10}
11 11
12namespace Service::AM::Applets { 12namespace Service::AM::Frontend {
13 13
14enum class AuthAppletType : u32 { 14enum class AuthAppletType : u32 {
15 ShowParentalAuthentication, 15 ShowParentalAuthentication,
@@ -17,7 +17,7 @@ enum class AuthAppletType : u32 {
17 ChangeParentalPasscode, 17 ChangeParentalPasscode,
18}; 18};
19 19
20class Auth final : public Applet { 20class Auth final : public FrontendApplet {
21public: 21public:
22 explicit Auth(Core::System& system_, LibraryAppletMode applet_mode_, 22 explicit Auth(Core::System& system_, LibraryAppletMode applet_mode_,
23 Core::Frontend::ParentalControlsApplet& frontend_); 23 Core::Frontend::ParentalControlsApplet& frontend_);
@@ -49,7 +49,7 @@ enum class PhotoViewerAppletMode : u8 {
49 AllApps = 1, 49 AllApps = 1,
50}; 50};
51 51
52class PhotoViewer final : public Applet { 52class PhotoViewer final : public FrontendApplet {
53public: 53public:
54 explicit PhotoViewer(Core::System& system_, LibraryAppletMode applet_mode_, 54 explicit PhotoViewer(Core::System& system_, LibraryAppletMode applet_mode_,
55 const Core::Frontend::PhotoViewerApplet& frontend_); 55 const Core::Frontend::PhotoViewerApplet& frontend_);
@@ -71,7 +71,7 @@ private:
71 Core::System& system; 71 Core::System& system;
72}; 72};
73 73
74class StubApplet final : public Applet { 74class StubApplet final : public FrontendApplet {
75public: 75public:
76 explicit StubApplet(Core::System& system_, AppletId id_, LibraryAppletMode applet_mode_); 76 explicit StubApplet(Core::System& system_, AppletId id_, LibraryAppletMode applet_mode_);
77 ~StubApplet() override; 77 ~StubApplet() override;
@@ -89,4 +89,4 @@ private:
89 Core::System& system; 89 Core::System& system;
90}; 90};
91 91
92} // namespace Service::AM::Applets 92} // namespace Service::AM::Frontend
diff --git a/src/core/hle/service/am/applets/applet_mii_edit.cpp b/src/core/hle/service/am/frontend/applet_mii_edit.cpp
index 1576b45c4..6203ebd2e 100644
--- a/src/core/hle/service/am/applets/applet_mii_edit.cpp
+++ b/src/core/hle/service/am/frontend/applet_mii_edit.cpp
@@ -6,17 +6,17 @@
6#include "core/core.h" 6#include "core/core.h"
7#include "core/frontend/applets/mii_edit.h" 7#include "core/frontend/applets/mii_edit.h"
8#include "core/hle/service/am/am.h" 8#include "core/hle/service/am/am.h"
9#include "core/hle/service/am/applets/applet_mii_edit.h" 9#include "core/hle/service/am/frontend/applet_mii_edit.h"
10#include "core/hle/service/am/storage.h" 10#include "core/hle/service/am/storage.h"
11#include "core/hle/service/mii/mii.h" 11#include "core/hle/service/mii/mii.h"
12#include "core/hle/service/mii/mii_manager.h" 12#include "core/hle/service/mii/mii_manager.h"
13#include "core/hle/service/sm/sm.h" 13#include "core/hle/service/sm/sm.h"
14 14
15namespace Service::AM::Applets { 15namespace Service::AM::Frontend {
16 16
17MiiEdit::MiiEdit(Core::System& system_, LibraryAppletMode applet_mode_, 17MiiEdit::MiiEdit(Core::System& system_, LibraryAppletMode applet_mode_,
18 const Core::Frontend::MiiEditApplet& frontend_) 18 const Core::Frontend::MiiEditApplet& frontend_)
19 : Applet{system_, applet_mode_}, frontend{frontend_}, system{system_} {} 19 : FrontendApplet{system_, applet_mode_}, frontend{frontend_}, system{system_} {}
20 20
21MiiEdit::~MiiEdit() = default; 21MiiEdit::~MiiEdit() = default;
22 22
@@ -178,4 +178,4 @@ Result MiiEdit::RequestExit() {
178 R_SUCCEED(); 178 R_SUCCEED();
179} 179}
180 180
181} // namespace Service::AM::Applets 181} // namespace Service::AM::Frontend
diff --git a/src/core/hle/service/am/applets/applet_mii_edit.h b/src/core/hle/service/am/frontend/applet_mii_edit.h
index 7ff34af49..ebde37028 100644
--- a/src/core/hle/service/am/applets/applet_mii_edit.h
+++ b/src/core/hle/service/am/frontend/applet_mii_edit.h
@@ -4,8 +4,8 @@
4#pragma once 4#pragma once
5 5
6#include "core/hle/result.h" 6#include "core/hle/result.h"
7#include "core/hle/service/am/applets/applet_mii_edit_types.h" 7#include "core/hle/service/am/frontend/applet_mii_edit_types.h"
8#include "core/hle/service/am/applets/applets.h" 8#include "core/hle/service/am/frontend/applets.h"
9 9
10namespace Core { 10namespace Core {
11class System; 11class System;
@@ -16,9 +16,9 @@ struct DatabaseSessionMetadata;
16class MiiManager; 16class MiiManager;
17} // namespace Service::Mii 17} // namespace Service::Mii
18 18
19namespace Service::AM::Applets { 19namespace Service::AM::Frontend {
20 20
21class MiiEdit final : public Applet { 21class MiiEdit final : public FrontendApplet {
22public: 22public:
23 explicit MiiEdit(Core::System& system_, LibraryAppletMode applet_mode_, 23 explicit MiiEdit(Core::System& system_, LibraryAppletMode applet_mode_,
24 const Core::Frontend::MiiEditApplet& frontend_); 24 const Core::Frontend::MiiEditApplet& frontend_);
@@ -49,4 +49,4 @@ private:
49 Mii::DatabaseSessionMetadata metadata{}; 49 Mii::DatabaseSessionMetadata metadata{};
50}; 50};
51 51
52} // namespace Service::AM::Applets 52} // namespace Service::AM::Frontend
diff --git a/src/core/hle/service/am/applets/applet_mii_edit_types.h b/src/core/hle/service/am/frontend/applet_mii_edit_types.h
index f3d764073..23d9d7a69 100644
--- a/src/core/hle/service/am/applets/applet_mii_edit_types.h
+++ b/src/core/hle/service/am/frontend/applet_mii_edit_types.h
@@ -10,7 +10,7 @@
10#include "common/uuid.h" 10#include "common/uuid.h"
11#include "core/hle/service/mii/types/char_info.h" 11#include "core/hle/service/mii/types/char_info.h"
12 12
13namespace Service::AM::Applets { 13namespace Service::AM::Frontend {
14 14
15enum class MiiEditAppletVersion : s32 { 15enum class MiiEditAppletVersion : s32 {
16 Version3 = 0x3, // 1.0.0 - 10.1.1 16 Version3 = 0x3, // 1.0.0 - 10.1.1
@@ -80,4 +80,4 @@ struct MiiEditAppletOutputForCharInfoEditing {
80static_assert(sizeof(MiiEditAppletOutputForCharInfoEditing) == 0x80, 80static_assert(sizeof(MiiEditAppletOutputForCharInfoEditing) == 0x80,
81 "MiiEditAppletOutputForCharInfoEditing has incorrect size."); 81 "MiiEditAppletOutputForCharInfoEditing has incorrect size.");
82 82
83} // namespace Service::AM::Applets 83} // namespace Service::AM::Frontend
diff --git a/src/core/hle/service/am/applets/applet_profile_select.cpp b/src/core/hle/service/am/frontend/applet_profile_select.cpp
index f32db6842..5d71f985e 100644
--- a/src/core/hle/service/am/applets/applet_profile_select.cpp
+++ b/src/core/hle/service/am/frontend/applet_profile_select.cpp
@@ -9,14 +9,14 @@
9#include "core/frontend/applets/profile_select.h" 9#include "core/frontend/applets/profile_select.h"
10#include "core/hle/service/acc/errors.h" 10#include "core/hle/service/acc/errors.h"
11#include "core/hle/service/am/am.h" 11#include "core/hle/service/am/am.h"
12#include "core/hle/service/am/applets/applet_profile_select.h" 12#include "core/hle/service/am/frontend/applet_profile_select.h"
13#include "core/hle/service/am/storage.h" 13#include "core/hle/service/am/storage.h"
14 14
15namespace Service::AM::Applets { 15namespace Service::AM::Frontend {
16 16
17ProfileSelect::ProfileSelect(Core::System& system_, LibraryAppletMode applet_mode_, 17ProfileSelect::ProfileSelect(Core::System& system_, LibraryAppletMode applet_mode_,
18 const Core::Frontend::ProfileSelectApplet& frontend_) 18 const Core::Frontend::ProfileSelectApplet& frontend_)
19 : Applet{system_, applet_mode_}, frontend{frontend_}, system{system_} {} 19 : FrontendApplet{system_, applet_mode_}, frontend{frontend_}, system{system_} {}
20 20
21ProfileSelect::~ProfileSelect() = default; 21ProfileSelect::~ProfileSelect() = default;
22 22
@@ -25,7 +25,7 @@ void ProfileSelect::Initialize() {
25 status = ResultSuccess; 25 status = ResultSuccess;
26 final_data.clear(); 26 final_data.clear();
27 27
28 Applet::Initialize(); 28 FrontendApplet::Initialize();
29 profile_select_version = ProfileSelectAppletVersion{common_args.library_version}; 29 profile_select_version = ProfileSelectAppletVersion{common_args.library_version};
30 30
31 const auto user_config_storage = broker.PopNormalDataToApplet(); 31 const auto user_config_storage = broker.PopNormalDataToApplet();
@@ -121,4 +121,4 @@ Result ProfileSelect::RequestExit() {
121 R_SUCCEED(); 121 R_SUCCEED();
122} 122}
123 123
124} // namespace Service::AM::Applets 124} // namespace Service::AM::Frontend
diff --git a/src/core/hle/service/am/applets/applet_profile_select.h b/src/core/hle/service/am/frontend/applet_profile_select.h
index 673eed516..43ec67c8e 100644
--- a/src/core/hle/service/am/applets/applet_profile_select.h
+++ b/src/core/hle/service/am/frontend/applet_profile_select.h
@@ -8,13 +8,13 @@
8#include "common/common_funcs.h" 8#include "common/common_funcs.h"
9#include "common/uuid.h" 9#include "common/uuid.h"
10#include "core/hle/result.h" 10#include "core/hle/result.h"
11#include "core/hle/service/am/applets/applets.h" 11#include "core/hle/service/am/frontend/applets.h"
12 12
13namespace Core { 13namespace Core {
14class System; 14class System;
15} 15}
16 16
17namespace Service::AM::Applets { 17namespace Service::AM::Frontend {
18 18
19enum class ProfileSelectAppletVersion : u32 { 19enum class ProfileSelectAppletVersion : u32 {
20 Version1 = 0x1, // 1.0.0+ 20 Version1 = 0x1, // 1.0.0+
@@ -111,7 +111,7 @@ struct UiReturnArg {
111}; 111};
112static_assert(sizeof(UiReturnArg) == 0x18, "UiReturnArg has incorrect size."); 112static_assert(sizeof(UiReturnArg) == 0x18, "UiReturnArg has incorrect size.");
113 113
114class ProfileSelect final : public Applet { 114class ProfileSelect final : public FrontendApplet {
115public: 115public:
116 explicit ProfileSelect(Core::System& system_, LibraryAppletMode applet_mode_, 116 explicit ProfileSelect(Core::System& system_, LibraryAppletMode applet_mode_,
117 const Core::Frontend::ProfileSelectApplet& frontend_); 117 const Core::Frontend::ProfileSelectApplet& frontend_);
@@ -140,4 +140,4 @@ private:
140 Core::System& system; 140 Core::System& system;
141}; 141};
142 142
143} // namespace Service::AM::Applets 143} // namespace Service::AM::Frontend
diff --git a/src/core/hle/service/am/applets/applet_software_keyboard.cpp b/src/core/hle/service/am/frontend/applet_software_keyboard.cpp
index a6a07cef3..7974995cc 100644
--- a/src/core/hle/service/am/applets/applet_software_keyboard.cpp
+++ b/src/core/hle/service/am/frontend/applet_software_keyboard.cpp
@@ -5,10 +5,10 @@
5#include "core/core.h" 5#include "core/core.h"
6#include "core/frontend/applets/software_keyboard.h" 6#include "core/frontend/applets/software_keyboard.h"
7#include "core/hle/service/am/am.h" 7#include "core/hle/service/am/am.h"
8#include "core/hle/service/am/applets/applet_software_keyboard.h" 8#include "core/hle/service/am/frontend/applet_software_keyboard.h"
9#include "core/hle/service/am/storage.h" 9#include "core/hle/service/am/storage.h"
10 10
11namespace Service::AM::Applets { 11namespace Service::AM::Frontend {
12 12
13namespace { 13namespace {
14 14
@@ -44,12 +44,12 @@ void SetReplyBase(std::vector<u8>& reply, SwkbdState state, SwkbdReplyType reply
44 44
45SoftwareKeyboard::SoftwareKeyboard(Core::System& system_, LibraryAppletMode applet_mode_, 45SoftwareKeyboard::SoftwareKeyboard(Core::System& system_, LibraryAppletMode applet_mode_,
46 Core::Frontend::SoftwareKeyboardApplet& frontend_) 46 Core::Frontend::SoftwareKeyboardApplet& frontend_)
47 : Applet{system_, applet_mode_}, frontend{frontend_}, system{system_} {} 47 : FrontendApplet{system_, applet_mode_}, frontend{frontend_}, system{system_} {}
48 48
49SoftwareKeyboard::~SoftwareKeyboard() = default; 49SoftwareKeyboard::~SoftwareKeyboard() = default;
50 50
51void SoftwareKeyboard::Initialize() { 51void SoftwareKeyboard::Initialize() {
52 Applet::Initialize(); 52 FrontendApplet::Initialize();
53 53
54 LOG_INFO(Service_AM, "Initializing Software Keyboard Applet with LibraryAppletMode={}", 54 LOG_INFO(Service_AM, "Initializing Software Keyboard Applet with LibraryAppletMode={}",
55 applet_mode); 55 applet_mode);
@@ -1274,4 +1274,4 @@ void SoftwareKeyboard::ReplyMovedCursorUtf8V2() {
1274 broker.PushInteractiveDataFromApplet(std::make_shared<IStorage>(system, std::move(reply))); 1274 broker.PushInteractiveDataFromApplet(std::make_shared<IStorage>(system, std::move(reply)));
1275} 1275}
1276 1276
1277} // namespace Service::AM::Applets 1277} // namespace Service::AM::Frontend
diff --git a/src/core/hle/service/am/applets/applet_software_keyboard.h b/src/core/hle/service/am/frontend/applet_software_keyboard.h
index 2e919811b..00ad0add3 100644
--- a/src/core/hle/service/am/applets/applet_software_keyboard.h
+++ b/src/core/hle/service/am/frontend/applet_software_keyboard.h
@@ -5,8 +5,8 @@
5 5
6#include "common/common_types.h" 6#include "common/common_types.h"
7#include "core/hle/result.h" 7#include "core/hle/result.h"
8#include "core/hle/service/am/applets/applet_software_keyboard_types.h" 8#include "core/hle/service/am/frontend/applet_software_keyboard_types.h"
9#include "core/hle/service/am/applets/applets.h" 9#include "core/hle/service/am/frontend/applets.h"
10 10
11namespace Core { 11namespace Core {
12class System; 12class System;
@@ -17,9 +17,9 @@ struct KeyboardInitializeParameters;
17struct InlineAppearParameters; 17struct InlineAppearParameters;
18} // namespace Core::Frontend 18} // namespace Core::Frontend
19 19
20namespace Service::AM::Applets { 20namespace Service::AM::Frontend {
21 21
22class SoftwareKeyboard final : public Applet { 22class SoftwareKeyboard final : public FrontendApplet {
23public: 23public:
24 explicit SoftwareKeyboard(Core::System& system_, LibraryAppletMode applet_mode_, 24 explicit SoftwareKeyboard(Core::System& system_, LibraryAppletMode applet_mode_,
25 Core::Frontend::SoftwareKeyboardApplet& frontend_); 25 Core::Frontend::SoftwareKeyboardApplet& frontend_);
@@ -184,4 +184,4 @@ private:
184 Result status{ResultSuccess}; 184 Result status{ResultSuccess};
185}; 185};
186 186
187} // namespace Service::AM::Applets 187} // namespace Service::AM::Frontend
diff --git a/src/core/hle/service/am/applets/applet_software_keyboard_types.h b/src/core/hle/service/am/frontend/applet_software_keyboard_types.h
index 1f696900e..a25ff2a6d 100644
--- a/src/core/hle/service/am/applets/applet_software_keyboard_types.h
+++ b/src/core/hle/service/am/frontend/applet_software_keyboard_types.h
@@ -11,7 +11,7 @@
11#include "common/swap.h" 11#include "common/swap.h"
12#include "common/uuid.h" 12#include "common/uuid.h"
13 13
14namespace Service::AM::Applets { 14namespace Service::AM::Frontend {
15 15
16constexpr std::size_t MAX_OK_TEXT_LENGTH = 8; 16constexpr std::size_t MAX_OK_TEXT_LENGTH = 8;
17constexpr std::size_t MAX_HEADER_TEXT_LENGTH = 64; 17constexpr std::size_t MAX_HEADER_TEXT_LENGTH = 64;
@@ -351,4 +351,4 @@ struct SwkbdDecidedEnterArg {
351}; 351};
352static_assert(sizeof(SwkbdDecidedEnterArg) == 0x4, "SwkbdDecidedEnterArg has incorrect size."); 352static_assert(sizeof(SwkbdDecidedEnterArg) == 0x4, "SwkbdDecidedEnterArg has incorrect size.");
353 353
354} // namespace Service::AM::Applets 354} // namespace Service::AM::Frontend
diff --git a/src/core/hle/service/am/applets/applet_web_browser.cpp b/src/core/hle/service/am/frontend/applet_web_browser.cpp
index 871737b3e..28a20c72b 100644
--- a/src/core/hle/service/am/applets/applet_web_browser.cpp
+++ b/src/core/hle/service/am/frontend/applet_web_browser.cpp
@@ -19,13 +19,13 @@
19#include "core/frontend/applets/web_browser.h" 19#include "core/frontend/applets/web_browser.h"
20#include "core/hle/result.h" 20#include "core/hle/result.h"
21#include "core/hle/service/am/am.h" 21#include "core/hle/service/am/am.h"
22#include "core/hle/service/am/applets/applet_web_browser.h" 22#include "core/hle/service/am/frontend/applet_web_browser.h"
23#include "core/hle/service/am/storage.h" 23#include "core/hle/service/am/storage.h"
24#include "core/hle/service/filesystem/filesystem.h" 24#include "core/hle/service/filesystem/filesystem.h"
25#include "core/hle/service/ns/iplatform_service_manager.h" 25#include "core/hle/service/ns/iplatform_service_manager.h"
26#include "core/loader/loader.h" 26#include "core/loader/loader.h"
27 27
28namespace Service::AM::Applets { 28namespace Service::AM::Frontend {
29 29
30namespace { 30namespace {
31 31
@@ -226,12 +226,12 @@ void ExtractSharedFonts(Core::System& system) {
226 226
227WebBrowser::WebBrowser(Core::System& system_, LibraryAppletMode applet_mode_, 227WebBrowser::WebBrowser(Core::System& system_, LibraryAppletMode applet_mode_,
228 const Core::Frontend::WebBrowserApplet& frontend_) 228 const Core::Frontend::WebBrowserApplet& frontend_)
229 : Applet{system_, applet_mode_}, frontend(frontend_), system{system_} {} 229 : FrontendApplet{system_, applet_mode_}, frontend(frontend_), system{system_} {}
230 230
231WebBrowser::~WebBrowser() = default; 231WebBrowser::~WebBrowser() = default;
232 232
233void WebBrowser::Initialize() { 233void WebBrowser::Initialize() {
234 Applet::Initialize(); 234 FrontendApplet::Initialize();
235 235
236 LOG_INFO(Service_AM, "Initializing Web Browser Applet."); 236 LOG_INFO(Service_AM, "Initializing Web Browser Applet.");
237 237
@@ -505,4 +505,4 @@ void WebBrowser::ExecuteLobby() {
505 LOG_WARNING(Service_AM, "(STUBBED) called, Lobby Applet is not implemented"); 505 LOG_WARNING(Service_AM, "(STUBBED) called, Lobby Applet is not implemented");
506 WebBrowserExit(WebExitReason::EndButtonPressed); 506 WebBrowserExit(WebExitReason::EndButtonPressed);
507} 507}
508} // namespace Service::AM::Applets 508} // namespace Service::AM::Frontend
diff --git a/src/core/hle/service/am/applets/applet_web_browser.h b/src/core/hle/service/am/frontend/applet_web_browser.h
index 36adb2510..613d8e9ea 100644
--- a/src/core/hle/service/am/applets/applet_web_browser.h
+++ b/src/core/hle/service/am/frontend/applet_web_browser.h
@@ -9,8 +9,8 @@
9#include "common/common_types.h" 9#include "common/common_types.h"
10#include "core/file_sys/vfs/vfs_types.h" 10#include "core/file_sys/vfs/vfs_types.h"
11#include "core/hle/result.h" 11#include "core/hle/result.h"
12#include "core/hle/service/am/applets/applet_web_browser_types.h" 12#include "core/hle/service/am/frontend/applet_web_browser_types.h"
13#include "core/hle/service/am/applets/applets.h" 13#include "core/hle/service/am/frontend/applets.h"
14 14
15namespace Core { 15namespace Core {
16class System; 16class System;
@@ -20,9 +20,9 @@ namespace FileSys {
20enum class ContentRecordType : u8; 20enum class ContentRecordType : u8;
21} 21}
22 22
23namespace Service::AM::Applets { 23namespace Service::AM::Frontend {
24 24
25class WebBrowser final : public Applet { 25class WebBrowser final : public FrontendApplet {
26public: 26public:
27 WebBrowser(Core::System& system_, LibraryAppletMode applet_mode_, 27 WebBrowser(Core::System& system_, LibraryAppletMode applet_mode_,
28 const Core::Frontend::WebBrowserApplet& frontend_); 28 const Core::Frontend::WebBrowserApplet& frontend_);
@@ -84,4 +84,4 @@ private:
84 Core::System& system; 84 Core::System& system;
85}; 85};
86 86
87} // namespace Service::AM::Applets 87} // namespace Service::AM::Frontend
diff --git a/src/core/hle/service/am/applets/applet_web_browser_types.h b/src/core/hle/service/am/frontend/applet_web_browser_types.h
index c522c5c1a..2f7c05c24 100644
--- a/src/core/hle/service/am/applets/applet_web_browser_types.h
+++ b/src/core/hle/service/am/frontend/applet_web_browser_types.h
@@ -11,7 +11,7 @@
11#include "common/common_types.h" 11#include "common/common_types.h"
12#include "common/swap.h" 12#include "common/swap.h"
13 13
14namespace Service::AM::Applets { 14namespace Service::AM::Frontend {
15 15
16enum class WebAppletVersion : u32_le { 16enum class WebAppletVersion : u32_le {
17 Version0 = 0x0, // Only used by WifiWebAuthApplet 17 Version0 = 0x0, // Only used by WifiWebAuthApplet
@@ -174,4 +174,4 @@ static_assert(sizeof(WebCommonReturnValue) == 0x1010, "WebCommonReturnValue has
174 174
175using WebArgInputTLVMap = std::unordered_map<WebArgInputTLVType, std::vector<u8>>; 175using WebArgInputTLVMap = std::unordered_map<WebArgInputTLVType, std::vector<u8>>;
176 176
177} // namespace Service::AM::Applets 177} // namespace Service::AM::Frontend
diff --git a/src/core/hle/service/am/applets/applets.cpp b/src/core/hle/service/am/frontend/applets.cpp
index 6a47f4b7a..4e8f806d7 100644
--- a/src/core/hle/service/am/applets/applets.cpp
+++ b/src/core/hle/service/am/frontend/applets.cpp
@@ -8,7 +8,7 @@
8#include "core/frontend/applets/cabinet.h" 8#include "core/frontend/applets/cabinet.h"
9#include "core/frontend/applets/controller.h" 9#include "core/frontend/applets/controller.h"
10#include "core/frontend/applets/error.h" 10#include "core/frontend/applets/error.h"
11#include "core/frontend/applets/general_frontend.h" 11#include "core/frontend/applets/general.h"
12#include "core/frontend/applets/mii_edit.h" 12#include "core/frontend/applets/mii_edit.h"
13#include "core/frontend/applets/profile_select.h" 13#include "core/frontend/applets/profile_select.h"
14#include "core/frontend/applets/software_keyboard.h" 14#include "core/frontend/applets/software_keyboard.h"
@@ -18,19 +18,19 @@
18#include "core/hle/service/am/applet_ae.h" 18#include "core/hle/service/am/applet_ae.h"
19#include "core/hle/service/am/applet_message_queue.h" 19#include "core/hle/service/am/applet_message_queue.h"
20#include "core/hle/service/am/applet_oe.h" 20#include "core/hle/service/am/applet_oe.h"
21#include "core/hle/service/am/applets/applet_cabinet.h" 21#include "core/hle/service/am/frontend/applet_cabinet.h"
22#include "core/hle/service/am/applets/applet_controller.h" 22#include "core/hle/service/am/frontend/applet_controller.h"
23#include "core/hle/service/am/applets/applet_error.h" 23#include "core/hle/service/am/frontend/applet_error.h"
24#include "core/hle/service/am/applets/applet_general_backend.h" 24#include "core/hle/service/am/frontend/applet_general.h"
25#include "core/hle/service/am/applets/applet_mii_edit.h" 25#include "core/hle/service/am/frontend/applet_mii_edit.h"
26#include "core/hle/service/am/applets/applet_profile_select.h" 26#include "core/hle/service/am/frontend/applet_profile_select.h"
27#include "core/hle/service/am/applets/applet_software_keyboard.h" 27#include "core/hle/service/am/frontend/applet_software_keyboard.h"
28#include "core/hle/service/am/applets/applet_web_browser.h" 28#include "core/hle/service/am/frontend/applet_web_browser.h"
29#include "core/hle/service/am/applets/applets.h" 29#include "core/hle/service/am/frontend/applets.h"
30#include "core/hle/service/am/storage.h" 30#include "core/hle/service/am/storage.h"
31#include "core/hle/service/sm/sm.h" 31#include "core/hle/service/sm/sm.h"
32 32
33namespace Service::AM::Applets { 33namespace Service::AM::Frontend {
34 34
35AppletDataBroker::AppletDataBroker(Core::System& system_, LibraryAppletMode applet_mode_) 35AppletDataBroker::AppletDataBroker(Core::System& system_, LibraryAppletMode applet_mode_)
36 : system{system_}, applet_mode{applet_mode_}, 36 : system{system_}, applet_mode{applet_mode_},
@@ -156,12 +156,12 @@ Kernel::KReadableEvent& AppletDataBroker::GetStateChangedEvent() {
156 return state_changed_event->GetReadableEvent(); 156 return state_changed_event->GetReadableEvent();
157} 157}
158 158
159Applet::Applet(Core::System& system_, LibraryAppletMode applet_mode_) 159FrontendApplet::FrontendApplet(Core::System& system_, LibraryAppletMode applet_mode_)
160 : broker{system_, applet_mode_}, applet_mode{applet_mode_} {} 160 : broker{system_, applet_mode_}, applet_mode{applet_mode_} {}
161 161
162Applet::~Applet() = default; 162FrontendApplet::~FrontendApplet() = default;
163 163
164void Applet::Initialize() { 164void FrontendApplet::Initialize() {
165 const auto common = broker.PopNormalDataToApplet(); 165 const auto common = broker.PopNormalDataToApplet();
166 ASSERT(common != nullptr); 166 ASSERT(common != nullptr);
167 167
@@ -173,9 +173,9 @@ void Applet::Initialize() {
173 initialized = true; 173 initialized = true;
174} 174}
175 175
176AppletFrontendSet::AppletFrontendSet() = default; 176FrontendAppletSet::FrontendAppletSet() = default;
177 177
178AppletFrontendSet::AppletFrontendSet(CabinetApplet cabinet_applet, 178FrontendAppletSet::FrontendAppletSet(CabinetApplet cabinet_applet,
179 ControllerApplet controller_applet, ErrorApplet error_applet, 179 ControllerApplet controller_applet, ErrorApplet error_applet,
180 MiiEdit mii_edit_, 180 MiiEdit mii_edit_,
181 ParentalControlsApplet parental_controls_applet, 181 ParentalControlsApplet parental_controls_applet,
@@ -187,29 +187,29 @@ AppletFrontendSet::AppletFrontendSet(CabinetApplet cabinet_applet,
187 photo_viewer{std::move(photo_viewer_)}, profile_select{std::move(profile_select_)}, 187 photo_viewer{std::move(photo_viewer_)}, profile_select{std::move(profile_select_)},
188 software_keyboard{std::move(software_keyboard_)}, web_browser{std::move(web_browser_)} {} 188 software_keyboard{std::move(software_keyboard_)}, web_browser{std::move(web_browser_)} {}
189 189
190AppletFrontendSet::~AppletFrontendSet() = default; 190FrontendAppletSet::~FrontendAppletSet() = default;
191 191
192AppletFrontendSet::AppletFrontendSet(AppletFrontendSet&&) noexcept = default; 192FrontendAppletSet::FrontendAppletSet(FrontendAppletSet&&) noexcept = default;
193 193
194AppletFrontendSet& AppletFrontendSet::operator=(AppletFrontendSet&&) noexcept = default; 194FrontendAppletSet& FrontendAppletSet::operator=(FrontendAppletSet&&) noexcept = default;
195 195
196AppletManager::AppletManager(Core::System& system_) : system{system_} {} 196FrontendAppletHolder::FrontendAppletHolder(Core::System& system_) : system{system_} {}
197 197
198AppletManager::~AppletManager() = default; 198FrontendAppletHolder::~FrontendAppletHolder() = default;
199 199
200const AppletFrontendSet& AppletManager::GetAppletFrontendSet() const { 200const FrontendAppletSet& FrontendAppletHolder::GetFrontendAppletSet() const {
201 return frontend; 201 return frontend;
202} 202}
203 203
204NFP::CabinetMode AppletManager::GetCabinetMode() const { 204NFP::CabinetMode FrontendAppletHolder::GetCabinetMode() const {
205 return cabinet_mode; 205 return cabinet_mode;
206} 206}
207 207
208AppletId AppletManager::GetCurrentAppletId() const { 208AppletId FrontendAppletHolder::GetCurrentAppletId() const {
209 return current_applet_id; 209 return current_applet_id;
210} 210}
211 211
212void AppletManager::SetAppletFrontendSet(AppletFrontendSet set) { 212void FrontendAppletHolder::SetFrontendAppletSet(FrontendAppletSet set) {
213 if (set.cabinet != nullptr) { 213 if (set.cabinet != nullptr) {
214 frontend.cabinet = std::move(set.cabinet); 214 frontend.cabinet = std::move(set.cabinet);
215 } 215 }
@@ -247,20 +247,20 @@ void AppletManager::SetAppletFrontendSet(AppletFrontendSet set) {
247 } 247 }
248} 248}
249 249
250void AppletManager::SetCabinetMode(NFP::CabinetMode mode) { 250void FrontendAppletHolder::SetCabinetMode(NFP::CabinetMode mode) {
251 cabinet_mode = mode; 251 cabinet_mode = mode;
252} 252}
253 253
254void AppletManager::SetCurrentAppletId(AppletId applet_id) { 254void FrontendAppletHolder::SetCurrentAppletId(AppletId applet_id) {
255 current_applet_id = applet_id; 255 current_applet_id = applet_id;
256} 256}
257 257
258void AppletManager::SetDefaultAppletFrontendSet() { 258void FrontendAppletHolder::SetDefaultAppletFrontendSet() {
259 ClearAll(); 259 ClearAll();
260 SetDefaultAppletsIfMissing(); 260 SetDefaultAppletsIfMissing();
261} 261}
262 262
263void AppletManager::SetDefaultAppletsIfMissing() { 263void FrontendAppletHolder::SetDefaultAppletsIfMissing() {
264 if (frontend.cabinet == nullptr) { 264 if (frontend.cabinet == nullptr) {
265 frontend.cabinet = std::make_unique<Core::Frontend::DefaultCabinetApplet>(); 265 frontend.cabinet = std::make_unique<Core::Frontend::DefaultCabinetApplet>();
266 } 266 }
@@ -301,11 +301,12 @@ void AppletManager::SetDefaultAppletsIfMissing() {
301 } 301 }
302} 302}
303 303
304void AppletManager::ClearAll() { 304void FrontendAppletHolder::ClearAll() {
305 frontend = {}; 305 frontend = {};
306} 306}
307 307
308std::shared_ptr<Applet> AppletManager::GetApplet(AppletId id, LibraryAppletMode mode) const { 308std::shared_ptr<FrontendApplet> FrontendAppletHolder::GetApplet(AppletId id,
309 LibraryAppletMode mode) const {
309 switch (id) { 310 switch (id) {
310 case AppletId::Auth: 311 case AppletId::Auth:
311 return std::make_shared<Auth>(system, mode, *frontend.parental_controls); 312 return std::make_shared<Auth>(system, mode, *frontend.parental_controls);
@@ -337,4 +338,4 @@ std::shared_ptr<Applet> AppletManager::GetApplet(AppletId id, LibraryAppletMode
337 } 338 }
338} 339}
339 340
340} // namespace Service::AM::Applets 341} // namespace Service::AM::Frontend
diff --git a/src/core/hle/service/am/applets/applets.h b/src/core/hle/service/am/frontend/applets.h
index 0bf2598b7..f58147955 100644
--- a/src/core/hle/service/am/applets/applets.h
+++ b/src/core/hle/service/am/frontend/applets.h
@@ -7,7 +7,7 @@
7#include <queue> 7#include <queue>
8 8
9#include "common/swap.h" 9#include "common/swap.h"
10#include "core/hle/service/kernel_helpers.h" 10#include "core/hle/service/am/applet.h"
11 11
12union Result; 12union Result;
13 13
@@ -42,90 +42,7 @@ namespace Service::AM {
42 42
43class IStorage; 43class IStorage;
44 44
45namespace Applets { 45namespace Frontend {
46
47enum class AppletId : u32 {
48 None = 0x00,
49 Application = 0x01,
50 OverlayDisplay = 0x02,
51 QLaunch = 0x03,
52 Starter = 0x04,
53 Auth = 0x0A,
54 Cabinet = 0x0B,
55 Controller = 0x0C,
56 DataErase = 0x0D,
57 Error = 0x0E,
58 NetConnect = 0x0F,
59 ProfileSelect = 0x10,
60 SoftwareKeyboard = 0x11,
61 MiiEdit = 0x12,
62 Web = 0x13,
63 Shop = 0x14,
64 PhotoViewer = 0x15,
65 Settings = 0x16,
66 OfflineWeb = 0x17,
67 LoginShare = 0x18,
68 WebAuth = 0x19,
69 MyPage = 0x1A,
70};
71
72enum class AppletProgramId : u64 {
73 QLaunch = 0x0100000000001000ull,
74 Auth = 0x0100000000001001ull,
75 Cabinet = 0x0100000000001002ull,
76 Controller = 0x0100000000001003ull,
77 DataErase = 0x0100000000001004ull,
78 Error = 0x0100000000001005ull,
79 NetConnect = 0x0100000000001006ull,
80 ProfileSelect = 0x0100000000001007ull,
81 SoftwareKeyboard = 0x0100000000001008ull,
82 MiiEdit = 0x0100000000001009ull,
83 Web = 0x010000000000100Aull,
84 Shop = 0x010000000000100Bull,
85 OverlayDisplay = 0x010000000000100Cull,
86 PhotoViewer = 0x010000000000100Dull,
87 Settings = 0x010000000000100Eull,
88 OfflineWeb = 0x010000000000100Full,
89 LoginShare = 0x0100000000001010ull,
90 WebAuth = 0x0100000000001011ull,
91 Starter = 0x0100000000001012ull,
92 MyPage = 0x0100000000001013ull,
93 MaxProgramId = 0x0100000000001FFFull,
94};
95
96enum class LibraryAppletMode : u32 {
97 AllForeground = 0,
98 Background = 1,
99 NoUI = 2,
100 BackgroundIndirectDisplay = 3,
101 AllForegroundInitiallyHidden = 4,
102};
103
104enum class CommonArgumentVersion : u32 {
105 Version0,
106 Version1,
107 Version2,
108 Version3,
109};
110
111enum class CommonArgumentSize : u32 {
112 Version3 = 0x20,
113};
114
115enum class ThemeColor : u32 {
116 BasicWhite = 0,
117 BasicBlack = 3,
118};
119
120struct CommonArguments {
121 CommonArgumentVersion arguments_version;
122 CommonArgumentSize size;
123 u32 library_version;
124 ThemeColor theme_color;
125 bool play_startup_sound;
126 u64_le system_tick;
127};
128static_assert(sizeof(CommonArguments) == 0x20, "CommonArguments has incorrect size.");
129 46
130class AppletDataBroker final { 47class AppletDataBroker final {
131public: 48public:
@@ -187,10 +104,10 @@ private:
187 Kernel::KEvent* pop_interactive_out_data_event; 104 Kernel::KEvent* pop_interactive_out_data_event;
188}; 105};
189 106
190class Applet { 107class FrontendApplet {
191public: 108public:
192 explicit Applet(Core::System& system_, LibraryAppletMode applet_mode_); 109 explicit FrontendApplet(Core::System& system_, LibraryAppletMode applet_mode_);
193 virtual ~Applet(); 110 virtual ~FrontendApplet();
194 111
195 virtual void Initialize(); 112 virtual void Initialize();
196 113
@@ -223,7 +140,7 @@ protected:
223 bool initialized = false; 140 bool initialized = false;
224}; 141};
225 142
226struct AppletFrontendSet { 143struct FrontendAppletSet {
227 using CabinetApplet = std::unique_ptr<Core::Frontend::CabinetApplet>; 144 using CabinetApplet = std::unique_ptr<Core::Frontend::CabinetApplet>;
228 using ControllerApplet = std::unique_ptr<Core::Frontend::ControllerApplet>; 145 using ControllerApplet = std::unique_ptr<Core::Frontend::ControllerApplet>;
229 using ErrorApplet = std::unique_ptr<Core::Frontend::ErrorApplet>; 146 using ErrorApplet = std::unique_ptr<Core::Frontend::ErrorApplet>;
@@ -234,19 +151,19 @@ struct AppletFrontendSet {
234 using SoftwareKeyboard = std::unique_ptr<Core::Frontend::SoftwareKeyboardApplet>; 151 using SoftwareKeyboard = std::unique_ptr<Core::Frontend::SoftwareKeyboardApplet>;
235 using WebBrowser = std::unique_ptr<Core::Frontend::WebBrowserApplet>; 152 using WebBrowser = std::unique_ptr<Core::Frontend::WebBrowserApplet>;
236 153
237 AppletFrontendSet(); 154 FrontendAppletSet();
238 AppletFrontendSet(CabinetApplet cabinet_applet, ControllerApplet controller_applet, 155 FrontendAppletSet(CabinetApplet cabinet_applet, ControllerApplet controller_applet,
239 ErrorApplet error_applet, MiiEdit mii_edit_, 156 ErrorApplet error_applet, MiiEdit mii_edit_,
240 ParentalControlsApplet parental_controls_applet, PhotoViewer photo_viewer_, 157 ParentalControlsApplet parental_controls_applet, PhotoViewer photo_viewer_,
241 ProfileSelect profile_select_, SoftwareKeyboard software_keyboard_, 158 ProfileSelect profile_select_, SoftwareKeyboard software_keyboard_,
242 WebBrowser web_browser_); 159 WebBrowser web_browser_);
243 ~AppletFrontendSet(); 160 ~FrontendAppletSet();
244 161
245 AppletFrontendSet(const AppletFrontendSet&) = delete; 162 FrontendAppletSet(const FrontendAppletSet&) = delete;
246 AppletFrontendSet& operator=(const AppletFrontendSet&) = delete; 163 FrontendAppletSet& operator=(const FrontendAppletSet&) = delete;
247 164
248 AppletFrontendSet(AppletFrontendSet&&) noexcept; 165 FrontendAppletSet(FrontendAppletSet&&) noexcept;
249 AppletFrontendSet& operator=(AppletFrontendSet&&) noexcept; 166 FrontendAppletSet& operator=(FrontendAppletSet&&) noexcept;
250 167
251 CabinetApplet cabinet; 168 CabinetApplet cabinet;
252 ControllerApplet controller; 169 ControllerApplet controller;
@@ -259,31 +176,31 @@ struct AppletFrontendSet {
259 WebBrowser web_browser; 176 WebBrowser web_browser;
260}; 177};
261 178
262class AppletManager { 179class FrontendAppletHolder {
263public: 180public:
264 explicit AppletManager(Core::System& system_); 181 explicit FrontendAppletHolder(Core::System& system_);
265 ~AppletManager(); 182 ~FrontendAppletHolder();
266 183
267 const AppletFrontendSet& GetAppletFrontendSet() const; 184 const FrontendAppletSet& GetFrontendAppletSet() const;
268 NFP::CabinetMode GetCabinetMode() const; 185 NFP::CabinetMode GetCabinetMode() const;
269 AppletId GetCurrentAppletId() const; 186 AppletId GetCurrentAppletId() const;
270 187
271 void SetAppletFrontendSet(AppletFrontendSet set); 188 void SetFrontendAppletSet(FrontendAppletSet set);
272 void SetCabinetMode(NFP::CabinetMode mode); 189 void SetCabinetMode(NFP::CabinetMode mode);
273 void SetCurrentAppletId(AppletId applet_id); 190 void SetCurrentAppletId(AppletId applet_id);
274 void SetDefaultAppletFrontendSet(); 191 void SetDefaultAppletFrontendSet();
275 void SetDefaultAppletsIfMissing(); 192 void SetDefaultAppletsIfMissing();
276 void ClearAll(); 193 void ClearAll();
277 194
278 std::shared_ptr<Applet> GetApplet(AppletId id, LibraryAppletMode mode) const; 195 std::shared_ptr<FrontendApplet> GetApplet(AppletId id, LibraryAppletMode mode) const;
279 196
280private: 197private:
281 AppletId current_applet_id{}; 198 AppletId current_applet_id{};
282 NFP::CabinetMode cabinet_mode{}; 199 NFP::CabinetMode cabinet_mode{};
283 200
284 AppletFrontendSet frontend; 201 FrontendAppletSet frontend;
285 Core::System& system; 202 Core::System& system;
286}; 203};
287 204
288} // namespace Applets 205} // namespace Frontend
289} // namespace Service::AM 206} // namespace Service::AM
diff --git a/src/core/hle/service/am/library_applet_accessor.cpp b/src/core/hle/service/am/library_applet_accessor.cpp
index 1cccdfcf2..dabbd6dbe 100644
--- a/src/core/hle/service/am/library_applet_accessor.cpp
+++ b/src/core/hle/service/am/library_applet_accessor.cpp
@@ -9,7 +9,7 @@
9namespace Service::AM { 9namespace Service::AM {
10 10
11ILibraryAppletAccessor::ILibraryAppletAccessor(Core::System& system_, 11ILibraryAppletAccessor::ILibraryAppletAccessor(Core::System& system_,
12 std::shared_ptr<Applets::Applet> applet_) 12 std::shared_ptr<Frontend::FrontendApplet> applet_)
13 : ServiceFramework{system_, "ILibraryAppletAccessor"}, applet{std::move(applet_)} { 13 : ServiceFramework{system_, "ILibraryAppletAccessor"}, applet{std::move(applet_)} {
14 // clang-format off 14 // clang-format off
15 static const FunctionInfo functions[] = { 15 static const FunctionInfo functions[] = {
diff --git a/src/core/hle/service/am/library_applet_accessor.h b/src/core/hle/service/am/library_applet_accessor.h
index 698467233..77f62906c 100644
--- a/src/core/hle/service/am/library_applet_accessor.h
+++ b/src/core/hle/service/am/library_applet_accessor.h
@@ -3,7 +3,7 @@
3 3
4#pragma once 4#pragma once
5 5
6#include "core/hle/service/am/applets/applets.h" 6#include "core/hle/service/am/frontend/applets.h"
7#include "core/hle/service/service.h" 7#include "core/hle/service/service.h"
8 8
9namespace Service::AM { 9namespace Service::AM {
@@ -11,7 +11,7 @@ namespace Service::AM {
11class ILibraryAppletAccessor final : public ServiceFramework<ILibraryAppletAccessor> { 11class ILibraryAppletAccessor final : public ServiceFramework<ILibraryAppletAccessor> {
12public: 12public:
13 explicit ILibraryAppletAccessor(Core::System& system_, 13 explicit ILibraryAppletAccessor(Core::System& system_,
14 std::shared_ptr<Applets::Applet> applet_); 14 std::shared_ptr<Frontend::FrontendApplet> applet_);
15 15
16private: 16private:
17 void GetAppletStateChangedEvent(HLERequestContext& ctx); 17 void GetAppletStateChangedEvent(HLERequestContext& ctx);
@@ -28,7 +28,7 @@ private:
28 void GetPopInteractiveOutDataEvent(HLERequestContext& ctx); 28 void GetPopInteractiveOutDataEvent(HLERequestContext& ctx);
29 void GetIndirectLayerConsumerHandle(HLERequestContext& ctx); 29 void GetIndirectLayerConsumerHandle(HLERequestContext& ctx);
30 30
31 std::shared_ptr<Applets::Applet> applet; 31 std::shared_ptr<Frontend::FrontendApplet> applet;
32}; 32};
33 33
34} // namespace Service::AM 34} // namespace Service::AM
diff --git a/src/core/hle/service/am/library_applet_creator.cpp b/src/core/hle/service/am/library_applet_creator.cpp
index c33f50a40..f80887517 100644
--- a/src/core/hle/service/am/library_applet_creator.cpp
+++ b/src/core/hle/service/am/library_applet_creator.cpp
@@ -2,7 +2,7 @@
2// SPDX-License-Identifier: GPL-2.0-or-later 2// SPDX-License-Identifier: GPL-2.0-or-later
3 3
4#include "core/hle/kernel/k_transfer_memory.h" 4#include "core/hle/kernel/k_transfer_memory.h"
5#include "core/hle/service/am/applets/applets.h" 5#include "core/hle/service/am/frontend/applets.h"
6#include "core/hle/service/am/library_applet_accessor.h" 6#include "core/hle/service/am/library_applet_accessor.h"
7#include "core/hle/service/am/library_applet_creator.h" 7#include "core/hle/service/am/library_applet_creator.h"
8#include "core/hle/service/am/storage.h" 8#include "core/hle/service/am/storage.h"
@@ -28,14 +28,14 @@ ILibraryAppletCreator::~ILibraryAppletCreator() = default;
28void ILibraryAppletCreator::CreateLibraryApplet(HLERequestContext& ctx) { 28void ILibraryAppletCreator::CreateLibraryApplet(HLERequestContext& ctx) {
29 IPC::RequestParser rp{ctx}; 29 IPC::RequestParser rp{ctx};
30 30
31 const auto applet_id = rp.PopRaw<Applets::AppletId>(); 31 const auto applet_id = rp.PopRaw<AppletId>();
32 const auto applet_mode = rp.PopRaw<Applets::LibraryAppletMode>(); 32 const auto applet_mode = rp.PopRaw<LibraryAppletMode>();
33 33
34 LOG_DEBUG(Service_AM, "called with applet_id={:08X}, applet_mode={:08X}", applet_id, 34 LOG_DEBUG(Service_AM, "called with applet_id={:08X}, applet_mode={:08X}", applet_id,
35 applet_mode); 35 applet_mode);
36 36
37 const auto& applet_manager{system.GetAppletManager()}; 37 const auto& holder{system.GetFrontendAppletHolder()};
38 const auto applet = applet_manager.GetApplet(applet_id, applet_mode); 38 const auto applet = holder.GetApplet(applet_id, applet_mode);
39 39
40 if (applet == nullptr) { 40 if (applet == nullptr) {
41 LOG_ERROR(Service_AM, "Applet doesn't exist! applet_id={}", applet_id); 41 LOG_ERROR(Service_AM, "Applet doesn't exist! applet_id={}", applet_id);
diff --git a/src/core/hle/service/am/library_applet_self_accessor.cpp b/src/core/hle/service/am/library_applet_self_accessor.cpp
index 0a12afbbd..c36f141f4 100644
--- a/src/core/hle/service/am/library_applet_self_accessor.cpp
+++ b/src/core/hle/service/am/library_applet_self_accessor.cpp
@@ -4,11 +4,11 @@
4#include "core/core_timing.h" 4#include "core/core_timing.h"
5#include "core/hle/service/acc/profile_manager.h" 5#include "core/hle/service/acc/profile_manager.h"
6#include "core/hle/service/am/am_results.h" 6#include "core/hle/service/am/am_results.h"
7#include "core/hle/service/am/applets/applet_cabinet.h" 7#include "core/hle/service/am/frontend/applet_cabinet.h"
8#include "core/hle/service/am/applets/applet_controller.h" 8#include "core/hle/service/am/frontend/applet_controller.h"
9#include "core/hle/service/am/applets/applet_mii_edit_types.h" 9#include "core/hle/service/am/frontend/applet_mii_edit_types.h"
10#include "core/hle/service/am/applets/applet_software_keyboard_types.h" 10#include "core/hle/service/am/frontend/applet_software_keyboard_types.h"
11#include "core/hle/service/am/applets/applets.h" 11#include "core/hle/service/am/frontend/applets.h"
12#include "core/hle/service/am/library_applet_self_accessor.h" 12#include "core/hle/service/am/library_applet_self_accessor.h"
13#include "core/hle/service/am/storage.h" 13#include "core/hle/service/am/storage.h"
14#include "core/hle/service/ipc_helpers.h" 14#include "core/hle/service/ipc_helpers.h"
@@ -59,20 +59,20 @@ ILibraryAppletSelfAccessor::ILibraryAppletSelfAccessor(Core::System& system_)
59 // clang-format on 59 // clang-format on
60 RegisterHandlers(functions); 60 RegisterHandlers(functions);
61 61
62 switch (system.GetAppletManager().GetCurrentAppletId()) { 62 switch (system.GetFrontendAppletHolder().GetCurrentAppletId()) {
63 case Applets::AppletId::Cabinet: 63 case AppletId::Cabinet:
64 PushInShowCabinetData(); 64 PushInShowCabinetData();
65 break; 65 break;
66 case Applets::AppletId::MiiEdit: 66 case AppletId::MiiEdit:
67 PushInShowMiiEditData(); 67 PushInShowMiiEditData();
68 break; 68 break;
69 case Applets::AppletId::PhotoViewer: 69 case AppletId::PhotoViewer:
70 PushInShowAlbum(); 70 PushInShowAlbum();
71 break; 71 break;
72 case Applets::AppletId::SoftwareKeyboard: 72 case AppletId::SoftwareKeyboard:
73 PushInShowSoftwareKeyboard(); 73 PushInShowSoftwareKeyboard();
74 break; 74 break;
75 case Applets::AppletId::Controller: 75 case AppletId::Controller:
76 PushInShowController(); 76 PushInShowController();
77 break; 77 break;
78 default: 78 default:
@@ -117,15 +117,15 @@ void ILibraryAppletSelfAccessor::ExitProcessAndReturn(HLERequestContext& ctx) {
117 117
118void ILibraryAppletSelfAccessor::GetLibraryAppletInfo(HLERequestContext& ctx) { 118void ILibraryAppletSelfAccessor::GetLibraryAppletInfo(HLERequestContext& ctx) {
119 struct LibraryAppletInfo { 119 struct LibraryAppletInfo {
120 Applets::AppletId applet_id; 120 AppletId applet_id;
121 Applets::LibraryAppletMode library_applet_mode; 121 LibraryAppletMode library_applet_mode;
122 }; 122 };
123 123
124 LOG_WARNING(Service_AM, "(STUBBED) called"); 124 LOG_WARNING(Service_AM, "(STUBBED) called");
125 125
126 const LibraryAppletInfo applet_info{ 126 const LibraryAppletInfo applet_info{
127 .applet_id = system.GetAppletManager().GetCurrentAppletId(), 127 .applet_id = system.GetFrontendAppletHolder().GetCurrentAppletId(),
128 .library_applet_mode = Applets::LibraryAppletMode::AllForeground, 128 .library_applet_mode = LibraryAppletMode::AllForeground,
129 }; 129 };
130 130
131 IPC::ResponseBuilder rb{ctx, 4}; 131 IPC::ResponseBuilder rb{ctx, 4};
@@ -135,7 +135,7 @@ void ILibraryAppletSelfAccessor::GetLibraryAppletInfo(HLERequestContext& ctx) {
135 135
136void ILibraryAppletSelfAccessor::GetMainAppletIdentityInfo(HLERequestContext& ctx) { 136void ILibraryAppletSelfAccessor::GetMainAppletIdentityInfo(HLERequestContext& ctx) {
137 struct AppletIdentityInfo { 137 struct AppletIdentityInfo {
138 Applets::AppletId applet_id; 138 AppletId applet_id;
139 INSERT_PADDING_BYTES(0x4); 139 INSERT_PADDING_BYTES(0x4);
140 u64 application_id; 140 u64 application_id;
141 }; 141 };
@@ -144,7 +144,7 @@ void ILibraryAppletSelfAccessor::GetMainAppletIdentityInfo(HLERequestContext& ct
144 LOG_WARNING(Service_AM, "(STUBBED) called"); 144 LOG_WARNING(Service_AM, "(STUBBED) called");
145 145
146 const AppletIdentityInfo applet_info{ 146 const AppletIdentityInfo applet_info{
147 .applet_id = Applets::AppletId::QLaunch, 147 .applet_id = AppletId::QLaunch,
148 .application_id = 0x0100000000001000ull, 148 .application_id = 0x0100000000001000ull,
149 }; 149 };
150 150
@@ -155,7 +155,7 @@ void ILibraryAppletSelfAccessor::GetMainAppletIdentityInfo(HLERequestContext& ct
155 155
156void ILibraryAppletSelfAccessor::GetCallerAppletIdentityInfo(HLERequestContext& ctx) { 156void ILibraryAppletSelfAccessor::GetCallerAppletIdentityInfo(HLERequestContext& ctx) {
157 struct AppletIdentityInfo { 157 struct AppletIdentityInfo {
158 Applets::AppletId applet_id; 158 AppletId applet_id;
159 INSERT_PADDING_BYTES(0x4); 159 INSERT_PADDING_BYTES(0x4);
160 u64 application_id; 160 u64 application_id;
161 }; 161 };
@@ -163,7 +163,7 @@ void ILibraryAppletSelfAccessor::GetCallerAppletIdentityInfo(HLERequestContext&
163 LOG_WARNING(Service_AM, "(STUBBED) called"); 163 LOG_WARNING(Service_AM, "(STUBBED) called");
164 164
165 const AppletIdentityInfo applet_info{ 165 const AppletIdentityInfo applet_info{
166 .applet_id = Applets::AppletId::QLaunch, 166 .applet_id = AppletId::QLaunch,
167 .application_id = 0x0100000000001000ull, 167 .application_id = 0x0100000000001000ull,
168 }; 168 };
169 169
@@ -208,11 +208,11 @@ void ILibraryAppletSelfAccessor::ShouldSetGpuTimeSliceManually(HLERequestContext
208} 208}
209 209
210void ILibraryAppletSelfAccessor::PushInShowAlbum() { 210void ILibraryAppletSelfAccessor::PushInShowAlbum() {
211 const Applets::CommonArguments arguments{ 211 const CommonArguments arguments{
212 .arguments_version = Applets::CommonArgumentVersion::Version3, 212 .arguments_version = CommonArgumentVersion::Version3,
213 .size = Applets::CommonArgumentSize::Version3, 213 .size = CommonArgumentSize::Version3,
214 .library_version = 1, 214 .library_version = 1,
215 .theme_color = Applets::ThemeColor::BasicBlack, 215 .theme_color = ThemeColor::BasicBlack,
216 .play_startup_sound = true, 216 .play_startup_sound = true,
217 .system_tick = system.CoreTiming().GetClockTicks(), 217 .system_tick = system.CoreTiming().GetClockTicks(),
218 }; 218 };
@@ -225,16 +225,16 @@ void ILibraryAppletSelfAccessor::PushInShowAlbum() {
225} 225}
226 226
227void ILibraryAppletSelfAccessor::PushInShowController() { 227void ILibraryAppletSelfAccessor::PushInShowController() {
228 const Applets::CommonArguments common_args = { 228 const CommonArguments common_args = {
229 .arguments_version = Applets::CommonArgumentVersion::Version3, 229 .arguments_version = CommonArgumentVersion::Version3,
230 .size = Applets::CommonArgumentSize::Version3, 230 .size = CommonArgumentSize::Version3,
231 .library_version = static_cast<u32>(Applets::ControllerAppletVersion::Version8), 231 .library_version = static_cast<u32>(Frontend::ControllerAppletVersion::Version8),
232 .theme_color = Applets::ThemeColor::BasicBlack, 232 .theme_color = ThemeColor::BasicBlack,
233 .play_startup_sound = true, 233 .play_startup_sound = true,
234 .system_tick = system.CoreTiming().GetClockTicks(), 234 .system_tick = system.CoreTiming().GetClockTicks(),
235 }; 235 };
236 236
237 Applets::ControllerSupportArgNew user_args = { 237 Frontend::ControllerSupportArgNew user_args = {
238 .header = {.player_count_min = 1, 238 .header = {.player_count_min = 1,
239 .player_count_max = 4, 239 .player_count_max = 4,
240 .enable_take_over_connection = true, 240 .enable_take_over_connection = true,
@@ -247,13 +247,13 @@ void ILibraryAppletSelfAccessor::PushInShowController() {
247 .explain_text = {}, 247 .explain_text = {},
248 }; 248 };
249 249
250 Applets::ControllerSupportArgPrivate private_args = { 250 Frontend::ControllerSupportArgPrivate private_args = {
251 .arg_private_size = sizeof(Applets::ControllerSupportArgPrivate), 251 .arg_private_size = sizeof(Frontend::ControllerSupportArgPrivate),
252 .arg_size = sizeof(Applets::ControllerSupportArgNew), 252 .arg_size = sizeof(Frontend::ControllerSupportArgNew),
253 .is_home_menu = true, 253 .is_home_menu = true,
254 .flag_1 = true, 254 .flag_1 = true,
255 .mode = Applets::ControllerSupportMode::ShowControllerSupport, 255 .mode = Frontend::ControllerSupportMode::ShowControllerSupport,
256 .caller = Applets::ControllerSupportCaller:: 256 .caller = Frontend::ControllerSupportCaller::
257 Application, // switchbrew: Always zero except with 257 Application, // switchbrew: Always zero except with
258 // ShowControllerFirmwareUpdateForSystem/ShowControllerKeyRemappingForSystem, 258 // ShowControllerFirmwareUpdateForSystem/ShowControllerKeyRemappingForSystem,
259 // which sets this to the input param 259 // which sets this to the input param
@@ -274,19 +274,19 @@ void ILibraryAppletSelfAccessor::PushInShowController() {
274} 274}
275 275
276void ILibraryAppletSelfAccessor::PushInShowCabinetData() { 276void ILibraryAppletSelfAccessor::PushInShowCabinetData() {
277 const Applets::CommonArguments arguments{ 277 const CommonArguments arguments{
278 .arguments_version = Applets::CommonArgumentVersion::Version3, 278 .arguments_version = CommonArgumentVersion::Version3,
279 .size = Applets::CommonArgumentSize::Version3, 279 .size = CommonArgumentSize::Version3,
280 .library_version = static_cast<u32>(Applets::CabinetAppletVersion::Version1), 280 .library_version = static_cast<u32>(Frontend::CabinetAppletVersion::Version1),
281 .theme_color = Applets::ThemeColor::BasicBlack, 281 .theme_color = ThemeColor::BasicBlack,
282 .play_startup_sound = true, 282 .play_startup_sound = true,
283 .system_tick = system.CoreTiming().GetClockTicks(), 283 .system_tick = system.CoreTiming().GetClockTicks(),
284 }; 284 };
285 285
286 const Applets::StartParamForAmiiboSettings amiibo_settings{ 286 const Frontend::StartParamForAmiiboSettings amiibo_settings{
287 .param_1 = 0, 287 .param_1 = 0,
288 .applet_mode = system.GetAppletManager().GetCabinetMode(), 288 .applet_mode = system.GetFrontendAppletHolder().GetCabinetMode(),
289 .flags = Applets::CabinetFlags::None, 289 .flags = Frontend::CabinetFlags::None,
290 .amiibo_settings_1 = 0, 290 .amiibo_settings_1 = 0,
291 .device_handle = 0, 291 .device_handle = 0,
292 .tag_info{}, 292 .tag_info{},
@@ -304,16 +304,16 @@ void ILibraryAppletSelfAccessor::PushInShowCabinetData() {
304 304
305void ILibraryAppletSelfAccessor::PushInShowMiiEditData() { 305void ILibraryAppletSelfAccessor::PushInShowMiiEditData() {
306 struct MiiEditV3 { 306 struct MiiEditV3 {
307 Applets::MiiEditAppletInputCommon common; 307 Frontend::MiiEditAppletInputCommon common;
308 Applets::MiiEditAppletInputV3 input; 308 Frontend::MiiEditAppletInputV3 input;
309 }; 309 };
310 static_assert(sizeof(MiiEditV3) == 0x100, "MiiEditV3 has incorrect size."); 310 static_assert(sizeof(MiiEditV3) == 0x100, "MiiEditV3 has incorrect size.");
311 311
312 MiiEditV3 mii_arguments{ 312 MiiEditV3 mii_arguments{
313 .common = 313 .common =
314 { 314 {
315 .version = Applets::MiiEditAppletVersion::Version3, 315 .version = Frontend::MiiEditAppletVersion::Version3,
316 .applet_mode = Applets::MiiEditAppletMode::ShowMiiEdit, 316 .applet_mode = Frontend::MiiEditAppletMode::ShowMiiEdit,
317 }, 317 },
318 .input{}, 318 .input{},
319 }; 319 };
@@ -325,32 +325,32 @@ void ILibraryAppletSelfAccessor::PushInShowMiiEditData() {
325} 325}
326 326
327void ILibraryAppletSelfAccessor::PushInShowSoftwareKeyboard() { 327void ILibraryAppletSelfAccessor::PushInShowSoftwareKeyboard() {
328 const Applets::CommonArguments arguments{ 328 const CommonArguments arguments{
329 .arguments_version = Applets::CommonArgumentVersion::Version3, 329 .arguments_version = CommonArgumentVersion::Version3,
330 .size = Applets::CommonArgumentSize::Version3, 330 .size = CommonArgumentSize::Version3,
331 .library_version = static_cast<u32>(Applets::SwkbdAppletVersion::Version524301), 331 .library_version = static_cast<u32>(Frontend::SwkbdAppletVersion::Version524301),
332 .theme_color = Applets::ThemeColor::BasicBlack, 332 .theme_color = ThemeColor::BasicBlack,
333 .play_startup_sound = true, 333 .play_startup_sound = true,
334 .system_tick = system.CoreTiming().GetClockTicks(), 334 .system_tick = system.CoreTiming().GetClockTicks(),
335 }; 335 };
336 336
337 std::vector<char16_t> initial_string(0); 337 std::vector<char16_t> initial_string(0);
338 338
339 const Applets::SwkbdConfigCommon swkbd_config{ 339 const Frontend::SwkbdConfigCommon swkbd_config{
340 .type = Applets::SwkbdType::Qwerty, 340 .type = Frontend::SwkbdType::Qwerty,
341 .ok_text{}, 341 .ok_text{},
342 .left_optional_symbol_key{}, 342 .left_optional_symbol_key{},
343 .right_optional_symbol_key{}, 343 .right_optional_symbol_key{},
344 .use_prediction = false, 344 .use_prediction = false,
345 .key_disable_flags{}, 345 .key_disable_flags{},
346 .initial_cursor_position = Applets::SwkbdInitialCursorPosition::Start, 346 .initial_cursor_position = Frontend::SwkbdInitialCursorPosition::Start,
347 .header_text{}, 347 .header_text{},
348 .sub_text{}, 348 .sub_text{},
349 .guide_text{}, 349 .guide_text{},
350 .max_text_length = 500, 350 .max_text_length = 500,
351 .min_text_length = 0, 351 .min_text_length = 0,
352 .password_mode = Applets::SwkbdPasswordMode::Disabled, 352 .password_mode = Frontend::SwkbdPasswordMode::Disabled,
353 .text_draw_type = Applets::SwkbdTextDrawType::Box, 353 .text_draw_type = Frontend::SwkbdTextDrawType::Box,
354 .enable_return_button = true, 354 .enable_return_button = true,
355 .use_utf8 = false, 355 .use_utf8 = false,
356 .use_blur_background = true, 356 .use_blur_background = true,
@@ -361,7 +361,7 @@ void ILibraryAppletSelfAccessor::PushInShowSoftwareKeyboard() {
361 .use_text_check = false, 361 .use_text_check = false,
362 }; 362 };
363 363
364 Applets::SwkbdConfigNew swkbd_config_new{}; 364 Frontend::SwkbdConfigNew swkbd_config_new{};
365 365
366 std::vector<u8> argument_data(sizeof(arguments)); 366 std::vector<u8> argument_data(sizeof(arguments));
367 std::vector<u8> swkbd_data(sizeof(swkbd_config) + sizeof(swkbd_config_new)); 367 std::vector<u8> swkbd_data(sizeof(swkbd_config) + sizeof(swkbd_config_new));
@@ -370,7 +370,7 @@ void ILibraryAppletSelfAccessor::PushInShowSoftwareKeyboard() {
370 std::memcpy(argument_data.data(), &arguments, sizeof(arguments)); 370 std::memcpy(argument_data.data(), &arguments, sizeof(arguments));
371 std::memcpy(swkbd_data.data(), &swkbd_config, sizeof(swkbd_config)); 371 std::memcpy(swkbd_data.data(), &swkbd_config, sizeof(swkbd_config));
372 std::memcpy(swkbd_data.data() + sizeof(swkbd_config), &swkbd_config_new, 372 std::memcpy(swkbd_data.data() + sizeof(swkbd_config), &swkbd_config_new,
373 sizeof(Applets::SwkbdConfigNew)); 373 sizeof(Frontend::SwkbdConfigNew));
374 std::memcpy(work_buffer.data(), initial_string.data(), 374 std::memcpy(work_buffer.data(), initial_string.data(),
375 swkbd_config.initial_string_length * sizeof(char16_t)); 375 swkbd_config.initial_string_length * sizeof(char16_t));
376 376
diff --git a/src/core/hle/service/am/process_winding_controller.cpp b/src/core/hle/service/am/process_winding_controller.cpp
index 7b3ab157f..7954abd7a 100644
--- a/src/core/hle/service/am/process_winding_controller.cpp
+++ b/src/core/hle/service/am/process_winding_controller.cpp
@@ -1,7 +1,7 @@
1// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project 1// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
2// SPDX-License-Identifier: GPL-2.0-or-later 2// SPDX-License-Identifier: GPL-2.0-or-later
3 3
4#include "core/hle/service/am/applets/applets.h" 4#include "core/hle/service/am/frontend/applets.h"
5#include "core/hle/service/am/library_applet_accessor.h" 5#include "core/hle/service/am/library_applet_accessor.h"
6#include "core/hle/service/am/process_winding_controller.h" 6#include "core/hle/service/am/process_winding_controller.h"
7#include "core/hle/service/ipc_helpers.h" 7#include "core/hle/service/ipc_helpers.h"
@@ -48,14 +48,14 @@ void IProcessWindingController::GetLaunchReason(HLERequestContext& ctx) {
48} 48}
49 49
50void IProcessWindingController::OpenCallingLibraryApplet(HLERequestContext& ctx) { 50void IProcessWindingController::OpenCallingLibraryApplet(HLERequestContext& ctx) {
51 const auto applet_id = system.GetAppletManager().GetCurrentAppletId(); 51 const auto applet_id = system.GetFrontendAppletHolder().GetCurrentAppletId();
52 const auto applet_mode = Applets::LibraryAppletMode::AllForeground; 52 const auto applet_mode = LibraryAppletMode::AllForeground;
53 53
54 LOG_WARNING(Service_AM, "(STUBBED) called with applet_id={:08X}, applet_mode={:08X}", applet_id, 54 LOG_WARNING(Service_AM, "(STUBBED) called with applet_id={:08X}, applet_mode={:08X}", applet_id,
55 applet_mode); 55 applet_mode);
56 56
57 const auto& applet_manager{system.GetAppletManager()}; 57 const auto& holder{system.GetFrontendAppletHolder()};
58 const auto applet = applet_manager.GetApplet(applet_id, applet_mode); 58 const auto applet = holder.GetApplet(applet_id, applet_mode);
59 59
60 if (applet == nullptr) { 60 if (applet == nullptr) {
61 LOG_ERROR(Service_AM, "Applet doesn't exist! applet_id={}", applet_id); 61 LOG_ERROR(Service_AM, "Applet doesn't exist! applet_id={}", applet_id);
diff --git a/src/core/hle/service/am/self_controller.cpp b/src/core/hle/service/am/self_controller.cpp
index 0f495c871..d5de1bb2f 100644
--- a/src/core/hle/service/am/self_controller.cpp
+++ b/src/core/hle/service/am/self_controller.cpp
@@ -1,7 +1,7 @@
1// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project 1// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
2// SPDX-License-Identifier: GPL-2.0-or-later 2// SPDX-License-Identifier: GPL-2.0-or-later
3 3
4#include "core/hle/service/am/applets/applets.h" 4#include "core/hle/service/am/frontend/applets.h"
5#include "core/hle/service/am/self_controller.h" 5#include "core/hle/service/am/self_controller.h"
6#include "core/hle/service/caps/caps_su.h" 6#include "core/hle/service/caps/caps_su.h"
7#include "core/hle/service/ipc_helpers.h" 7#include "core/hle/service/ipc_helpers.h"
@@ -271,7 +271,7 @@ Result ISelfController::EnsureBufferSharingEnabled(Kernel::KProcess* process) {
271 return ResultSuccess; 271 return ResultSuccess;
272 } 272 }
273 273
274 if (system.GetAppletManager().GetCurrentAppletId() <= Applets::AppletId::Application) { 274 if (system.GetFrontendAppletHolder().GetCurrentAppletId() <= AppletId::Application) {
275 return VI::ResultOperationFailed; 275 return VI::ResultOperationFailed;
276 } 276 }
277 277