blob: 3a12196ce49677a38e00495b25f277dcd753409b (
plain) (
tree)
|
|
// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include <chrono>
#include <functional>
#include "core/frontend/applets/applet.h"
#include "core/hle/result.h"
namespace Core::Frontend {
class ErrorApplet : public Applet {
public:
using FinishedCallback = std::function<void()>;
virtual ~ErrorApplet();
virtual void ShowError(Result error, FinishedCallback finished) const = 0;
virtual void ShowErrorWithTimestamp(Result error, std::chrono::seconds time,
FinishedCallback finished) const = 0;
virtual void ShowCustomErrorText(Result error, std::string dialog_text,
std::string fullscreen_text,
FinishedCallback finished) const = 0;
};
class DefaultErrorApplet final : public ErrorApplet {
public:
void Close() const override;
void ShowError(Result error, FinishedCallback finished) const override;
void ShowErrorWithTimestamp(Result error, std::chrono::seconds time,
FinishedCallback finished) const override;
void ShowCustomErrorText(Result error, std::string main_text, std::string detail_text,
FinishedCallback finished) const override;
};
} // namespace Core::Frontend
|