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-2022 Harald Sitter <sitter@kde.org>
0004 */
0005 
0006 #include <KAboutData>
0007 #include <KLocalizedString>
0008 #include <KPackage/PackageLoader>
0009 #include <KPluginFactory>
0010 #include <KQuickAddons/ConfigModule>
0011 
0012 #include <CommandOutputContext.h>
0013 
0014 class KCMFirmwareSecurity : public KQuickAddons::ConfigModule
0015 {
0016     Q_OBJECT
0017 public:
0018     explicit KCMFirmwareSecurity(QObject *parent, const KPluginMetaData &data, const QVariantList &args)
0019         : ConfigModule(parent, data, args)
0020     {
0021         auto *about = new KAboutData(QStringLiteral("kcm_firmware_security"),
0022                                      i18nc("@label kcm name", "Firmware Security"),
0023                                      QStringLiteral("1.0"),
0024                                      QString(),
0025                                      KAboutLicense::GPL);
0026         about->addAuthor(i18n("Harald Sitter"), QString(), QStringLiteral("sitter@kde.org"));
0027         setAboutData(about);
0028 
0029         KPackage::Package package = KPackage::PackageLoader::self()->loadPackage(QStringLiteral("KPackage/GenericQML"));
0030         package.setDefaultPackageRoot(QStringLiteral("kpackage/kcms"));
0031         package.setPath(about->componentName());
0032 
0033         auto outputContext = new CommandOutputContext({QStringLiteral("fwupdmgr"), QStringLiteral("aha")},
0034                                                       QStringLiteral("/bin/sh"),
0035                                                       {package.path() + QStringLiteral("contents/code/fwupdmgr.sh")},
0036                                                       parent);
0037         qmlRegisterSingletonInstance("org.kde.kinfocenter.firmware_security.private", 1, 0, "InfoOutputContext", outputContext);
0038     }
0039 };
0040 
0041 K_PLUGIN_CLASS_WITH_JSON(KCMFirmwareSecurity, "kcm_firmware_security.json")
0042 
0043 #include "main.moc"