File indexing completed on 2024-06-23 05:14:10

0001 /* -*- mode: c++; c-basic-offset:4 -*-
0002     selftest/selftest.h
0003 
0004     This file is part of Kleopatra, the KDE keymanager
0005     SPDX-FileCopyrightText: 2008 Klarälvdalens Datakonsult AB
0006 
0007     SPDX-License-Identifier: GPL-2.0-or-later
0008 */
0009 
0010 #pragma once
0011 
0012 class QString;
0013 
0014 namespace Kleo
0015 {
0016 
0017 class SelfTest
0018 {
0019 public:
0020     virtual ~SelfTest();
0021 
0022     virtual QString name() const = 0;
0023     virtual QString shortError() const = 0;
0024     virtual QString longError() const = 0;
0025     virtual QString proposedFix() const = 0;
0026 
0027     virtual bool passed() const = 0;
0028     virtual bool skipped() const = 0;
0029     virtual bool canFixAutomatically() const;
0030     virtual bool fix();
0031 
0032     bool failed() const
0033     {
0034         return !skipped() && !passed();
0035     }
0036 };
0037 
0038 }