blob: 880b69ad659ede9c939d399aa515485bfd19f815 (
plain) (
tree)
|
|
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include <functional>
#include <optional>
#include "common/uuid.h"
#include "core/frontend/applets/applet.h"
#include "core/hle/service/am/frontend/applet_profile_select.h"
namespace Core::Frontend {
struct ProfileSelectParameters {
Service::AM::Frontend::UiMode mode;
std::array<Common::UUID, 8> invalid_uid_list;
Service::AM::Frontend::UiSettingsDisplayOptions display_options;
Service::AM::Frontend::UserSelectionPurpose purpose;
};
class ProfileSelectApplet : public Applet {
public:
using SelectProfileCallback = std::function<void(std::optional<Common::UUID>)>;
virtual ~ProfileSelectApplet();
virtual void SelectProfile(SelectProfileCallback callback,
const ProfileSelectParameters& parameters) const = 0;
};
class DefaultProfileSelectApplet final : public ProfileSelectApplet {
public:
void Close() const override;
void SelectProfile(SelectProfileCallback callback,
const ProfileSelectParameters& parameters) const override;
};
} // namespace Core::Frontend
|