error.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. // SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include <chrono>
  5. #include <functional>
  6. #include "core/hle/result.h"
  7. namespace Core::Frontend {
  8. class ErrorApplet {
  9. public:
  10. virtual ~ErrorApplet();
  11. virtual void ShowError(Result error, std::function<void()> finished) const = 0;
  12. virtual void ShowErrorWithTimestamp(Result error, std::chrono::seconds time,
  13. std::function<void()> finished) const = 0;
  14. virtual void ShowCustomErrorText(Result error, std::string dialog_text,
  15. std::string fullscreen_text,
  16. std::function<void()> finished) const = 0;
  17. };
  18. class DefaultErrorApplet final : public ErrorApplet {
  19. public:
  20. void ShowError(Result error, std::function<void()> finished) const override;
  21. void ShowErrorWithTimestamp(Result error, std::chrono::seconds time,
  22. std::function<void()> finished) const override;
  23. void ShowCustomErrorText(Result error, std::string main_text, std::string detail_text,
  24. std::function<void()> finished) const override;
  25. };
  26. } // namespace Core::Frontend