summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Zach Hilman2018-11-22 20:58:51 -0500
committerGravatar Zach Hilman2018-12-03 17:26:26 -0500
commitd17f38494b8d64c16ac718c660a57cd89ab48b6f (patch)
treed735e186b018ed98b7d5e223846d646be0fd9682 /src
parentsoftware_keyboard: Signal state changed event upon construction (diff)
downloadyuzu-d17f38494b8d64c16ac718c660a57cd89ab48b6f.tar.gz
yuzu-d17f38494b8d64c16ac718c660a57cd89ab48b6f.tar.xz
yuzu-d17f38494b8d64c16ac718c660a57cd89ab48b6f.zip
frontend: Add frontend applet for ProfileSelect
Responsible for selecting a profile and firing callback upon completion.
Diffstat (limited to 'src')
-rw-r--r--src/core/CMakeLists.txt2
-rw-r--r--src/core/frontend/applets/profile_select.cpp19
-rw-r--r--src/core/frontend/applets/profile_select.h27
3 files changed, 48 insertions, 0 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 73aec8ab0..4b51943ab 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -79,6 +79,8 @@ add_library(core STATIC
79 file_sys/vfs_vector.h 79 file_sys/vfs_vector.h
80 file_sys/xts_archive.cpp 80 file_sys/xts_archive.cpp
81 file_sys/xts_archive.h 81 file_sys/xts_archive.h
82 frontend/applets/profile_select.cpp
83 frontend/applets/profile_select.h
82 frontend/applets/software_keyboard.cpp 84 frontend/applets/software_keyboard.cpp
83 frontend/applets/software_keyboard.h 85 frontend/applets/software_keyboard.h
84 frontend/emu_window.cpp 86 frontend/emu_window.cpp
diff --git a/src/core/frontend/applets/profile_select.cpp b/src/core/frontend/applets/profile_select.cpp
new file mode 100644
index 000000000..fbf5f2a9e
--- /dev/null
+++ b/src/core/frontend/applets/profile_select.cpp
@@ -0,0 +1,19 @@
1// Copyright 2018 yuzu emulator team
2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included.
4
5#include "core/frontend/applets/profile_select.h"
6#include "core/settings.h"
7
8namespace Core::Frontend {
9
10ProfileSelectApplet::~ProfileSelectApplet() = default;
11
12void DefaultProfileSelectApplet::SelectProfile(
13 std::function<void(std::optional<Service::Account::UUID>)> callback) const {
14 Service::Account::ProfileManager manager;
15 callback(manager.GetUser(Settings::values.current_user).value_or(Service::Account::UUID{}));
16 LOG_INFO(Service_ACC, "called, selecting current user instead of prompting...");
17}
18
19} // namespace Core::Frontend
diff --git a/src/core/frontend/applets/profile_select.h b/src/core/frontend/applets/profile_select.h
new file mode 100644
index 000000000..fc8f7ae94
--- /dev/null
+++ b/src/core/frontend/applets/profile_select.h
@@ -0,0 +1,27 @@
1// Copyright 2018 yuzu emulator team
2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included.
4
5#pragma once
6
7#include <functional>
8#include <optional>
9#include "core/hle/service/acc/profile_manager.h"
10
11namespace Core::Frontend {
12
13class ProfileSelectApplet {
14public:
15 virtual ~ProfileSelectApplet();
16
17 virtual void SelectProfile(
18 std::function<void(std::optional<Service::Account::UUID>)> callback) const = 0;
19};
20
21class DefaultProfileSelectApplet final : public ProfileSelectApplet {
22public:
23 void SelectProfile(
24 std::function<void(std::optional<Service::Account::UUID>)> callback) const override;
25};
26
27} // namespace Core::Frontend