File indexing completed on 2024-05-19 05:29:58

0001 /*
0002     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0003     SPDX-FileCopyrightText: 2021 Harald Sitter <sitter@kde.org>
0004 */
0005 
0006 #include <KPluginFactory>
0007 #include <KQuickConfigModule>
0008 
0009 #include "CommandOutputContext.h"
0010 
0011 class KCMInterrupts : public KQuickConfigModule
0012 {
0013     Q_OBJECT
0014     Q_PROPERTY(CommandOutputContext *infoOutputContext READ outputContext CONSTANT FINAL)
0015 public:
0016     explicit KCMInterrupts(QObject *parent, const KPluginMetaData &data)
0017         : KQuickConfigModule(parent, data)
0018     {
0019         m_outputContext =
0020 #if defined(Q_OS_FREEBSD)
0021             new CommandOutputContext(QStringLiteral("vmstat"), {QStringLiteral("-i")}, parent);
0022 #else
0023             new CommandOutputContext(QStringLiteral("cat"), {QStringLiteral("/proc/interrupts")}, parent);
0024         m_outputContext->setTrimAllowed(false);
0025 #endif
0026     }
0027     CommandOutputContext *outputContext() const
0028     {
0029         return m_outputContext;
0030     }
0031 
0032 private:
0033     CommandOutputContext *m_outputContext;
0034 };
0035 
0036 K_PLUGIN_CLASS_WITH_JSON(KCMInterrupts, "kcm_interrupts.json")
0037 
0038 #include "main.moc"