File indexing completed on 2024-05-12 05:37:19
0001 /* 0002 SPDX-FileCopyrightText: 2012 Gregor Taetzner <gregor@freenet.de> 0003 0004 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 0007 #include "packagekitjob.h" 0008 #include <QDBusConnection> 0009 #include <QDBusMessage> 0010 0011 PackagekitJob::PackagekitJob(const QString &destination, const QString &operation, const QMap<QString, QVariant> ¶meters, QObject *parent) 0012 : ServiceJob(destination, operation, parameters, parent) 0013 { 0014 } 0015 0016 PackagekitJob::~PackagekitJob() 0017 { 0018 } 0019 0020 void PackagekitJob::start() 0021 { 0022 const QString operation = operationName(); 0023 0024 if (operation == QLatin1String("uninstallApplication")) { 0025 QStringList files(parameters()[QStringLiteral("Url")].toString()); 0026 QDBusMessage message = QDBusMessage::createMethodCall(QStringLiteral("org.freedesktop.PackageKit"), 0027 QStringLiteral("/org/freedesktop/PackageKit"), 0028 QStringLiteral("org.freedesktop.PackageKit.Modify"), 0029 QStringLiteral("RemovePackageByFiles")); 0030 message << (uint)0; 0031 message << files; 0032 message << QString(); 0033 0034 QDBusConnection::sessionBus().call(message, QDBus::NoBlock); 0035 setResult(true); 0036 return; 0037 } 0038 0039 setResult(false); 0040 }