File indexing completed on 2024-12-01 08:20:36

0001 /*
0002     SPDX-FileCopyrightText: 2018 Andrius Štikonas <andrius@stikonas.eu>
0003     SPDX-FileCopyrightText: 2019 Shubham Jangra <aryan100jangid@gmail.com>
0004     SPDX-FileCopyrightText: 2019 Albert Astals Cid <aacid@kde.org>
0005 
0006     SPDX-License-Identifier: GPL-3.0-or-later
0007 */
0008 
0009 
0010 #include "helpers.h"
0011 #include "backend/corebackendmanager.h"
0012 #include "util/externalcommand.h"
0013 
0014 #include <QCoreApplication>
0015 #include <QDebug>
0016 #include <QThread>
0017 
0018 class runcmd : public QThread
0019 {
0020     public:
0021     void run() override
0022     {
0023         ExternalCommand blkidCmd(QStringLiteral("blkid"), {});
0024 
0025         // ExternalCommadHelper will refuse to run this or any other command which is not whitelisted.
0026         // See src/util/externalcommand_whitelist.h for whitelisted commands.
0027         blkidCmd.run();
0028         qDebug().noquote() << blkidCmd.output();
0029     }
0030 };
0031 
0032 class runcmd2 : public QThread
0033 {
0034     public:
0035     void run() override
0036     {
0037         ExternalCommand lsblkCmd(QStringLiteral("lsblk"), { QStringLiteral("--nodeps"), QStringLiteral("--json") });
0038         lsblkCmd.run();
0039         qDebug().noquote() << lsblkCmd.output();
0040     }
0041 };
0042 
0043 
0044 int main( int argc, char **argv )
0045 {
0046     QCoreApplication app(argc, argv);
0047     KPMCoreInitializer i(QStringLiteral("pmsfdiskbackendplugin"));
0048 
0049     runcmd a;
0050     runcmd2 b;
0051 
0052     a.start();
0053     a.wait();
0054 
0055     b.start();
0056     b.wait();
0057 
0058     return 0;
0059 }