1 /* 2 * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez <aleixpol@blue-systems.com> 3 * 4 * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 5 */ 6 7 #ifndef SNAPTRANSACTION_H 8 #define SNAPTRANSACTION_H 9 10 #include <QPointer> 11 #include <Transaction/Transaction.h> 12 #include <resources/AbstractResource.h> 13 14 class SnapResource; 15 class QSnapdRequest; 16 class QSnapdClient; 17 18 class SnapTransaction : public Transaction 19 { 20 Q_OBJECT 21 public: 22 SnapTransaction(QSnapdClient *client, SnapResource *app, Role role, AbstractResource::State newState); 23 24 void cancel() override; 25 void proceed() override; 26 27 private Q_SLOTS: 28 void finishTransaction(); 29 30 private: 31 void setRequest(QSnapdRequest *req); 32 void progressed(); 33 34 QSnapdClient *const m_client; 35 SnapResource *const m_app; 36 QScopedPointer<QSnapdRequest> m_request; 37 const AbstractResource::State m_newState; 38 }; 39 40 #endif // SNAPTRANSACTION_H 41