/* * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez * * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL */ #pragma once #include #include #include #include class PKTransaction : public Transaction { Q_OBJECT public: explicit PKTransaction(const QVector &resources, Transaction::Role role); PackageKit::Transaction *transaction(); void cancel() override; void proceed() override; public Q_SLOTS: void start(); private: void processProceedFunction(); void statusChanged(); void cleanup(PackageKit::Transaction::Exit, uint); void errorFound(PackageKit::Transaction::Error err, const QString &error); void mediaChange(PackageKit::Transaction::MediaType media, const QString &type, const QString &text); void requireRestart(PackageKit::Transaction::Restart restart, const QString &p); void progressChanged(); void eulaRequired(const QString &eulaID, const QString &packageID, const QString &vendor, const QString &licenseAgreement); void cancellableChanged(); void packageResolved(PackageKit::Transaction::Info info, const QString &packageId); void submitResolve(); void repoSignatureRequired(const QString &packageID, const QString &repoName, const QString &keyUrl, const QString &keyUserid, const QString &keyId, const QString &keyFingerprint, const QString &keyTimestamp, PackageKit::Transaction::SigType type); bool isLocal() const; void trigger(PackageKit::Transaction::TransactionFlags flags); QPointer m_trans; const QVector m_apps; QSet m_pkgnames; QVector> m_proceedFunctions; QMap m_newPackageStates; };