From 20b9f2b42a3b58b6081af271774fbcc34025dccb Mon Sep 17 00:00:00 2001 From: Petr Mrázek Date: Sun, 25 Jul 2021 19:11:59 +0200 Subject: NOISSUE Flatten gui and logic libraries into MultiMC --- launcher/ProblemProvider.h | 47 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 launcher/ProblemProvider.h (limited to 'launcher/ProblemProvider.h') diff --git a/launcher/ProblemProvider.h b/launcher/ProblemProvider.h new file mode 100644 index 00000000..cd4745fa --- /dev/null +++ b/launcher/ProblemProvider.h @@ -0,0 +1,47 @@ +#pragma once + +enum class ProblemSeverity +{ + None, + Warning, + Error +}; + +struct PatchProblem +{ + ProblemSeverity m_severity; + QString m_description; +}; + +class ProblemProvider +{ +public: + virtual ~ProblemProvider() {}; + virtual const QList getProblems() const = 0; + virtual ProblemSeverity getProblemSeverity() const = 0; +}; + +class ProblemContainer : public ProblemProvider +{ +public: + const QList getProblems() const override + { + return m_problems; + } + ProblemSeverity getProblemSeverity() const override + { + return m_problemSeverity; + } + virtual void addProblem(ProblemSeverity severity, const QString &description) + { + if(severity > m_problemSeverity) + { + m_problemSeverity = severity; + } + m_problems.append({severity, description}); + } + +private: + QList m_problems; + ProblemSeverity m_problemSeverity = ProblemSeverity::None; +}; -- cgit