File indexing completed on 2024-04-21 04:38:09
0001 /* 0002 SPDX-FileCopyrightText: 2018 Anton Anikin <anton@anikin.xyz> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef KDEVCLAZY_CHECKS_DB_H 0008 #define KDEVCLAZY_CHECKS_DB_H 0009 0010 #include <QMap> 0011 #include <QUrl> 0012 0013 namespace Clazy 0014 { 0015 0016 struct Level; 0017 0018 struct Check 0019 { 0020 const Level* level = nullptr; 0021 QString name; 0022 QString description; 0023 }; 0024 0025 struct Level 0026 { 0027 QString name; 0028 QString displayName; 0029 QString description; 0030 0031 QMap<QString, Check*> checks; 0032 }; 0033 0034 class ChecksDB 0035 { 0036 public: 0037 explicit ChecksDB(const QUrl& docsPath); 0038 ~ChecksDB(); 0039 0040 public: 0041 bool isValid() const; 0042 QString error() const; 0043 0044 const QMap<QString, Level*>& levels() const; 0045 0046 const QMap<QString, Check*>& checks() const; 0047 0048 static QString defaultChecks(); 0049 0050 private: 0051 Q_DISABLE_COPY(ChecksDB) 0052 0053 QString m_error; 0054 0055 QMap<QString, Check*> m_checks; 0056 QMap<QString, Level*> m_levels; 0057 }; 0058 0059 } 0060 0061 #endif