frontend: Add frontend applet for ProfileSelect
Responsible for selecting a profile and firing callback upon completion.
This commit is contained in:
parent
877b31b33e
commit
d17f38494b
3 changed files with 48 additions and 0 deletions
|
@ -79,6 +79,8 @@ add_library(core STATIC
|
||||||
file_sys/vfs_vector.h
|
file_sys/vfs_vector.h
|
||||||
file_sys/xts_archive.cpp
|
file_sys/xts_archive.cpp
|
||||||
file_sys/xts_archive.h
|
file_sys/xts_archive.h
|
||||||
|
frontend/applets/profile_select.cpp
|
||||||
|
frontend/applets/profile_select.h
|
||||||
frontend/applets/software_keyboard.cpp
|
frontend/applets/software_keyboard.cpp
|
||||||
frontend/applets/software_keyboard.h
|
frontend/applets/software_keyboard.h
|
||||||
frontend/emu_window.cpp
|
frontend/emu_window.cpp
|
||||||
|
|
19
src/core/frontend/applets/profile_select.cpp
Normal file
19
src/core/frontend/applets/profile_select.cpp
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
// Copyright 2018 yuzu emulator team
|
||||||
|
// Licensed under GPLv2 or any later version
|
||||||
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#include "core/frontend/applets/profile_select.h"
|
||||||
|
#include "core/settings.h"
|
||||||
|
|
||||||
|
namespace Core::Frontend {
|
||||||
|
|
||||||
|
ProfileSelectApplet::~ProfileSelectApplet() = default;
|
||||||
|
|
||||||
|
void DefaultProfileSelectApplet::SelectProfile(
|
||||||
|
std::function<void(std::optional<Service::Account::UUID>)> callback) const {
|
||||||
|
Service::Account::ProfileManager manager;
|
||||||
|
callback(manager.GetUser(Settings::values.current_user).value_or(Service::Account::UUID{}));
|
||||||
|
LOG_INFO(Service_ACC, "called, selecting current user instead of prompting...");
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Core::Frontend
|
27
src/core/frontend/applets/profile_select.h
Normal file
27
src/core/frontend/applets/profile_select.h
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
// Copyright 2018 yuzu emulator team
|
||||||
|
// Licensed under GPLv2 or any later version
|
||||||
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <functional>
|
||||||
|
#include <optional>
|
||||||
|
#include "core/hle/service/acc/profile_manager.h"
|
||||||
|
|
||||||
|
namespace Core::Frontend {
|
||||||
|
|
||||||
|
class ProfileSelectApplet {
|
||||||
|
public:
|
||||||
|
virtual ~ProfileSelectApplet();
|
||||||
|
|
||||||
|
virtual void SelectProfile(
|
||||||
|
std::function<void(std::optional<Service::Account::UUID>)> callback) const = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DefaultProfileSelectApplet final : public ProfileSelectApplet {
|
||||||
|
public:
|
||||||
|
void SelectProfile(
|
||||||
|
std::function<void(std::optional<Service::Account::UUID>)> callback) const override;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Core::Frontend
|
Loading…
Reference in a new issue