plasma-workspace/dataengines/packagekit/packagekitjob.cpp

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

41 lines
1.3 KiB
C++
Raw Normal View History

2021-11-09 21:04:31 +08:00
/*
2022-10-31 20:30:06 +08:00
SPDX-FileCopyrightText: 2012 Gregor Taetzner <gregor@freenet.de>
SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
*/
2021-11-09 21:04:31 +08:00
#include "packagekitjob.h"
#include <QDBusConnection>
2022-10-31 20:30:06 +08:00
#include <QDBusMessage>
2021-11-09 21:04:31 +08:00
2022-10-31 20:30:06 +08:00
PackagekitJob::PackagekitJob(const QString &destination, const QString &operation, const QMap<QString, QVariant> &parameters, QObject *parent)
: ServiceJob(destination, operation, parameters, parent)
2021-11-09 21:04:31 +08:00
{
}
PackagekitJob::~PackagekitJob()
{
}
void PackagekitJob::start()
{
const QString operation = operationName();
if (operation == QLatin1String("uninstallApplication")) {
QStringList files(parameters()[QStringLiteral("Url")].toString());
QDBusMessage message = QDBusMessage::createMethodCall(QStringLiteral("org.freedesktop.PackageKit"),
2022-10-31 20:30:06 +08:00
QStringLiteral("/org/freedesktop/PackageKit"),
QStringLiteral("org.freedesktop.PackageKit.Modify"),
QStringLiteral("RemovePackageByFiles"));
message << (uint)0;
2021-11-09 21:04:31 +08:00
message << files;
message << QString();
QDBusConnection::sessionBus().call(message, QDBus::NoBlock);
setResult(true);
return;
}
setResult(false);
}