File indexing completed on 2022-11-23 12:34:59

0001 /*
0002     SPDX-FileCopyrightText: 2019-2022 Laurent Montel <montel@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 
0006 */
0007 
0008 #pragma once
0009 
0010 #include "libkdebugsettings_export.h"
0011 #include "loggingcategory.h"
0012 #include <QString>
0013 #include <QStringList>
0014 
0015 class LIBKDEBUGSETTINGS_EXPORT ChangeDebugModeJob
0016 {
0017 public:
0018     ChangeDebugModeJob();
0019     ~ChangeDebugModeJob();
0020 
0021     Q_REQUIRED_RESULT bool start();
0022 
0023     void setDebugMode(const QString &mode);
0024     Q_REQUIRED_RESULT QString debugMode() const;
0025 
0026     Q_REQUIRED_RESULT QStringList loggingCategoriesName() const;
0027     void setLoggingCategoriesName(const QStringList &loggingCategoriesName);
0028 
0029     Q_REQUIRED_RESULT bool canStart() const;
0030     Q_REQUIRED_RESULT bool debugModeIsValid(const QString &value) const;
0031     Q_REQUIRED_RESULT LoggingCategory::LoggingType convertDebugModeToLoggingType(const QString &value);
0032     void setWithoutArguments(bool b);
0033     Q_REQUIRED_RESULT bool withoutArguments() const;
0034 
0035 private:
0036     QString mDebugMode;
0037     QStringList mLoggingCategoriesName;
0038     bool mWithoutArguments = false;
0039 };