File indexing completed on 2024-11-24 04:55:00

0001 /*
0002  *   SPDX-FileCopyrightText: 2017 Aleix Pol Gonzalez <aleixpol@blue-systems.com>
0003  *
0004  *   SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005  */
0006 
0007 #pragma once
0008 
0009 #include <PackageKit/Transaction>
0010 #include <QObject>
0011 #include <QTimer>
0012 #include <QVector>
0013 
0014 class PackageKitBackend;
0015 
0016 class PKResolveTransaction : public QObject
0017 {
0018     Q_OBJECT
0019 public:
0020     PKResolveTransaction(PackageKitBackend *backend);
0021 
0022     void start();
0023     void addPackageNames(const QStringList &packageNames);
0024 
0025 Q_SIGNALS:
0026     void allFinished();
0027     void started();
0028 
0029 private:
0030     void transactionFinished(PackageKit::Transaction::Exit exit);
0031 
0032     QTimer m_floodTimer;
0033     QStringList m_packageNames;
0034     QVector<PackageKit::Transaction *> m_transactions;
0035     PackageKitBackend *const m_backend;
0036 };