summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZach Hilman <zachhilman@gmail.com>2018-11-23 03:00:04 +0100
committerZach Hilman <zachhilman@gmail.com>2018-12-03 23:26:26 +0100
commit58fd0a1c50912f28457eae974dfe928463ceb0c2 (patch)
tree60b676b14a42195010f6125e09205556ffee873a
parentfrontend: Add frontend applet for ProfileSelect (diff)
downloadyuzu-58fd0a1c50912f28457eae974dfe928463ceb0c2.tar
yuzu-58fd0a1c50912f28457eae974dfe928463ceb0c2.tar.gz
yuzu-58fd0a1c50912f28457eae974dfe928463ceb0c2.tar.bz2
yuzu-58fd0a1c50912f28457eae974dfe928463ceb0c2.tar.lz
yuzu-58fd0a1c50912f28457eae974dfe928463ceb0c2.tar.xz
yuzu-58fd0a1c50912f28457eae974dfe928463ceb0c2.tar.zst
yuzu-58fd0a1c50912f28457eae974dfe928463ceb0c2.zip
-rw-r--r--src/core/core.cpp11
-rw-r--r--src/core/core.h5
2 files changed, 16 insertions, 0 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp
index 795fabc65..19b4b97c5 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -97,6 +97,8 @@ struct System::Impl {
virtual_filesystem = std::make_shared<FileSys::RealVfsFilesystem>();
/// Create default implementations of applets if one is not provided.
+ if (profile_selector == nullptr)
+ profile_selector = std::make_unique<Core::Frontend::DefaultProfileSelectApplet>();
if (software_keyboard == nullptr)
software_keyboard = std::make_unique<Core::Frontend::DefaultSoftwareKeyboardApplet>();
@@ -227,6 +229,7 @@ struct System::Impl {
bool is_powered_on = false;
/// Frontend applets
+ std::unique_ptr<Core::Frontend::ProfileSelectApplet> profile_selector;
std::unique_ptr<Core::Frontend::SoftwareKeyboardApplet> software_keyboard;
/// Service manager
@@ -422,6 +425,14 @@ std::shared_ptr<FileSys::VfsFilesystem> System::GetFilesystem() const {
return impl->virtual_filesystem;
}
+void System::SetProfileSelector(std::unique_ptr<Core::Frontend::ProfileSelectApplet> applet) {
+ impl->profile_selector = std::move(applet);
+}
+
+const Core::Frontend::ProfileSelectApplet& System::GetProfileSelector() const {
+ return *impl->profile_selector;
+}
+
void System::SetSoftwareKeyboard(std::unique_ptr<Core::Frontend::SoftwareKeyboardApplet> applet) {
impl->software_keyboard = std::move(applet);
}
diff --git a/src/core/core.h b/src/core/core.h
index be71bd437..21dea051b 100644
--- a/src/core/core.h
+++ b/src/core/core.h
@@ -10,6 +10,7 @@
#include "common/common_types.h"
#include "core/hle/kernel/object.h"
+#include "frontend/applets/profile_select.h"
namespace Core::Frontend {
class EmuWindow;
@@ -237,6 +238,10 @@ public:
std::shared_ptr<FileSys::VfsFilesystem> GetFilesystem() const;
+ void SetProfileSelector(std::unique_ptr<Core::Frontend::ProfileSelectApplet> applet);
+
+ const Core::Frontend::ProfileSelectApplet& GetProfileSelector() const;
+
void SetSoftwareKeyboard(std::unique_ptr<Core::Frontend::SoftwareKeyboardApplet> applet);
const Core::Frontend::SoftwareKeyboardApplet& GetSoftwareKeyboard() const;