File indexing completed on 2024-05-19 16:31: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 <KAboutData>
0007 #include <KLocalizedString>
0008 #include <KPluginFactory>
0009 #include <KQuickAddons/ConfigModule>
0010 
0011 #include <CommandOutputContext.h>
0012 
0013 class KCMInterrupts : public KQuickAddons::ConfigModule
0014 {
0015     Q_OBJECT
0016 public:
0017     explicit KCMInterrupts(QObject *parent, const KPluginMetaData &data, const QVariantList &args)
0018         : ConfigModule(parent, data, args)
0019     {
0020         auto outputContext =
0021 #if defined(Q_OS_FREEBSD)
0022             new CommandOutputContext(QStringLiteral("vmstat"), {QStringLiteral("-i")}, parent);
0023 #else
0024             new CommandOutputContext(QStringLiteral("cat"), {QStringLiteral("/proc/interrupts")}, parent);
0025 #endif
0026         qmlRegisterSingletonInstance("org.kde.kinfocenter.interrupts.private", 1, 0, "InfoOutputContext", outputContext);
0027 
0028         auto *about = new KAboutData(QStringLiteral("kcm_interrupts"), i18nc("@label kcm name", "Interrupts"), QStringLiteral("1.0"), QString(), KAboutLicense::GPL);
0029         about->addAuthor(i18n("Harald Sitter"), QString(), QStringLiteral("sitter@kde.org"));
0030         setAboutData(about);
0031     }
0032 };
0033 
0034 K_PLUGIN_CLASS_WITH_JSON(KCMInterrupts, "kcm_interrupts.json")
0035 
0036 #include "main.moc"