diff options
| author | 2018-11-22 20:58:51 -0500 | |
|---|---|---|
| committer | 2018-12-03 17:26:26 -0500 | |
| commit | d17f38494b8d64c16ac718c660a57cd89ab48b6f (patch) | |
| tree | d735e186b018ed98b7d5e223846d646be0fd9682 /src/core/frontend/applets | |
| parent | software_keyboard: Signal state changed event upon construction (diff) | |
| download | yuzu-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/core/frontend/applets')
| -rw-r--r-- | src/core/frontend/applets/profile_select.cpp | 19 | ||||
| -rw-r--r-- | src/core/frontend/applets/profile_select.h | 27 |
2 files changed, 46 insertions, 0 deletions
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 | |||
| 8 | namespace Core::Frontend { | ||
| 9 | |||
| 10 | ProfileSelectApplet::~ProfileSelectApplet() = default; | ||
| 11 | |||
| 12 | void 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 | |||
| 11 | namespace Core::Frontend { | ||
| 12 | |||
| 13 | class ProfileSelectApplet { | ||
| 14 | public: | ||
| 15 | virtual ~ProfileSelectApplet(); | ||
| 16 | |||
| 17 | virtual void SelectProfile( | ||
| 18 | std::function<void(std::optional<Service::Account::UUID>)> callback) const = 0; | ||
| 19 | }; | ||
| 20 | |||
| 21 | class DefaultProfileSelectApplet final : public ProfileSelectApplet { | ||
| 22 | public: | ||
| 23 | void SelectProfile( | ||
| 24 | std::function<void(std::optional<Service::Account::UUID>)> callback) const override; | ||
| 25 | }; | ||
| 26 | |||
| 27 | } // namespace Core::Frontend | ||