summaryrefslogtreecommitdiffstats
path: root/src/core/frontend/applets/error.cpp
blob: f2ec4b10e35dc20e75d5a44da9456323bff9e90e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later

#include "common/logging/log.h"
#include "core/frontend/applets/error.h"

namespace Core::Frontend {

ErrorApplet::~ErrorApplet() = default;

void DefaultErrorApplet::ShowError(ResultCode error, std::function<void()> finished) const {
    LOG_CRITICAL(Service_Fatal, "Application requested error display: {:04}-{:04} (raw={:08X})",
                 error.module.Value(), error.description.Value(), error.raw);
}

void DefaultErrorApplet::ShowErrorWithTimestamp(ResultCode error, std::chrono::seconds time,
                                                std::function<void()> finished) const {
    LOG_CRITICAL(
        Service_Fatal,
        "Application requested error display: {:04X}-{:04X} (raw={:08X}) with timestamp={:016X}",
        error.module.Value(), error.description.Value(), error.raw, time.count());
}

void DefaultErrorApplet::ShowCustomErrorText(ResultCode error, std::string main_text,
                                             std::string detail_text,
                                             std::function<void()> finished) const {
    LOG_CRITICAL(Service_Fatal,
                 "Application requested custom error with error_code={:04X}-{:04X} (raw={:08X})",
                 error.module.Value(), error.description.Value(), error.raw);
    LOG_CRITICAL(Service_Fatal, "    Main Text: {}", main_text);
    LOG_CRITICAL(Service_Fatal, "    Detail Text: {}", detail_text);
}

} // namespace Core::Frontend