File indexing completed on 2024-06-02 05:34:33

0001 /*
0002  *   SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez <aleixpol@blue-systems.com>
0003  *   SPDX-FileCopyrightText: 2018 Abhijeet Sharma <sharma.abhijeet2096@gmail.com>
0004  *
0005  *   SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0006  */
0007 
0008 #pragma once
0009 
0010 #include "FwupdBackend.h"
0011 #include "FwupdResource.h"
0012 #include <Transaction/Transaction.h>
0013 
0014 class FwupdResource;
0015 class FwupdTransaction : public Transaction
0016 {
0017     Q_OBJECT
0018 public:
0019     FwupdTransaction(FwupdResource *app, FwupdBackend *backend);
0020     ~FwupdTransaction();
0021     void cancel() override;
0022     void proceed() override;
0023 
0024 private Q_SLOTS:
0025     void updateProgress();
0026     void finishTransaction();
0027     void fwupdInstall(const QString &file);
0028 
0029 private:
0030     void install();
0031 
0032     FwupdResource *const m_app;
0033     FwupdBackend *const m_backend;
0034 };