|
|
@ -31,7 +31,9 @@
|
|
|
|
#include "core/loader/loader.h"
|
|
|
|
#include "core/loader/loader.h"
|
|
|
|
#include "core/perf_stats.h"
|
|
|
|
#include "core/perf_stats.h"
|
|
|
|
#include "core/telemetry_session.h"
|
|
|
|
#include "core/telemetry_session.h"
|
|
|
|
|
|
|
|
#include "frontend/applets/profile_select.h"
|
|
|
|
#include "frontend/applets/software_keyboard.h"
|
|
|
|
#include "frontend/applets/software_keyboard.h"
|
|
|
|
|
|
|
|
#include "frontend/applets/web_browser.h"
|
|
|
|
#include "video_core/debug_utils/debug_utils.h"
|
|
|
|
#include "video_core/debug_utils/debug_utils.h"
|
|
|
|
#include "video_core/gpu.h"
|
|
|
|
#include "video_core/gpu.h"
|
|
|
|
#include "video_core/renderer_base.h"
|
|
|
|
#include "video_core/renderer_base.h"
|
|
|
@ -103,6 +105,8 @@ struct System::Impl {
|
|
|
|
profile_selector = std::make_unique<Core::Frontend::DefaultProfileSelectApplet>();
|
|
|
|
profile_selector = std::make_unique<Core::Frontend::DefaultProfileSelectApplet>();
|
|
|
|
if (software_keyboard == nullptr)
|
|
|
|
if (software_keyboard == nullptr)
|
|
|
|
software_keyboard = std::make_unique<Core::Frontend::DefaultSoftwareKeyboardApplet>();
|
|
|
|
software_keyboard = std::make_unique<Core::Frontend::DefaultSoftwareKeyboardApplet>();
|
|
|
|
|
|
|
|
if (web_browser == nullptr)
|
|
|
|
|
|
|
|
web_browser = std::make_unique<Core::Frontend::DefaultWebBrowserApplet>();
|
|
|
|
|
|
|
|
|
|
|
|
auto main_process = Kernel::Process::Create(kernel, "main");
|
|
|
|
auto main_process = Kernel::Process::Create(kernel, "main");
|
|
|
|
kernel.MakeCurrentProcess(main_process.get());
|
|
|
|
kernel.MakeCurrentProcess(main_process.get());
|
|
|
@ -233,6 +237,7 @@ struct System::Impl {
|
|
|
|
/// Frontend applets
|
|
|
|
/// Frontend applets
|
|
|
|
std::unique_ptr<Core::Frontend::ProfileSelectApplet> profile_selector;
|
|
|
|
std::unique_ptr<Core::Frontend::ProfileSelectApplet> profile_selector;
|
|
|
|
std::unique_ptr<Core::Frontend::SoftwareKeyboardApplet> software_keyboard;
|
|
|
|
std::unique_ptr<Core::Frontend::SoftwareKeyboardApplet> software_keyboard;
|
|
|
|
|
|
|
|
std::unique_ptr<Core::Frontend::WebBrowserApplet> web_browser;
|
|
|
|
|
|
|
|
|
|
|
|
/// Service manager
|
|
|
|
/// Service manager
|
|
|
|
std::shared_ptr<Service::SM::ServiceManager> service_manager;
|
|
|
|
std::shared_ptr<Service::SM::ServiceManager> service_manager;
|
|
|
@ -443,6 +448,14 @@ const Core::Frontend::SoftwareKeyboardApplet& System::GetSoftwareKeyboard() cons
|
|
|
|
return *impl->software_keyboard;
|
|
|
|
return *impl->software_keyboard;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void System::SetWebBrowser(std::unique_ptr<Core::Frontend::WebBrowserApplet> applet) {
|
|
|
|
|
|
|
|
impl->web_browser = std::move(applet);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const Core::Frontend::WebBrowserApplet& System::GetWebBrowser() const {
|
|
|
|
|
|
|
|
return *impl->web_browser;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
System::ResultStatus System::Init(Frontend::EmuWindow& emu_window) {
|
|
|
|
System::ResultStatus System::Init(Frontend::EmuWindow& emu_window) {
|
|
|
|
return impl->Init(*this, emu_window);
|
|
|
|
return impl->Init(*this, emu_window);
|
|
|
|
}
|
|
|
|
}
|
|
|
|