diff options
Diffstat (limited to 'api/logic/ProblemProvider.h')
-rw-r--r-- | api/logic/ProblemProvider.h | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/api/logic/ProblemProvider.h b/api/logic/ProblemProvider.h index 64a31c59..b30e1776 100644 --- a/api/logic/ProblemProvider.h +++ b/api/logic/ProblemProvider.h @@ -31,10 +31,21 @@ private: class ProblemProvider { public: - virtual const QList<PatchProblem>& getProblems() + virtual const QList<PatchProblem> getProblems() = 0; + virtual ProblemSeverity getProblemSeverity() = 0; +}; + +class ProblemContainer : public ProblemProvider +{ +public: + const QList<PatchProblem> getProblems() override { return m_problems; } + ProblemSeverity getProblemSeverity() override + { + return m_problemSeverity; + } virtual void addProblem(ProblemSeverity severity, const QString &description) { if(severity > m_problemSeverity) @@ -43,10 +54,6 @@ public: } m_problems.append(PatchProblem(severity, description)); } - virtual ProblemSeverity getProblemSeverity() - { - return m_problemSeverity; - } private: QList<PatchProblem> m_problems; |