File indexing completed on 2024-04-14 05:38:48

0001 /*******************************************************************************
0002  * Copyright (C) 2008-2013 Konstantinos Smanis <konstantinos.smanis@gmail.com> *
0003  *                                                                             *
0004  * This program is free software: you can redistribute it and/or modify it     *
0005  * under the terms of the GNU General Public License as published by the Free  *
0006  * Software Foundation, either version 3 of the License, or (at your option)   *
0007  * any later version.                                                          *
0008  *                                                                             *
0009  * This program is distributed in the hope that it will be useful, but WITHOUT *
0010  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       *
0011  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for    *
0012  * more details.                                                               *
0013  *                                                                             *
0014  * You should have received a copy of the GNU General Public License along     *
0015  * with this program. If not, see <http://www.gnu.org/licenses/>.              *
0016  *******************************************************************************/
0017 
0018 #ifndef QAPTBACKEND_H
0019 #define QAPTBACKEND_H
0020 
0021 //Qt
0022 #include <QStringList>
0023 
0024 //QApt
0025 #include <QApt/Backend>
0026 #include <QApt/Transaction>
0027 
0028 class QAptBackend : public QObject
0029 {
0030     Q_OBJECT
0031 public:
0032     explicit QAptBackend(QObject *parent = 0);
0033     virtual ~QAptBackend();
0034 
0035     QStringList ownerPackage(const QString &fileName);
0036     void markForRemoval(const QString &packageName);
0037     QStringList markedForRemoval() const;
0038     void removePackages();
0039     void undoChanges();
0040 Q_SIGNALS:
0041     void finished(bool success);
0042     void progress(const QString &status, int percentage);
0043 private Q_SLOTS:
0044     void slotUpdateProgress();
0045     void slotTransactionFinished(QApt::ExitStatus status);
0046 private:
0047     QApt::Backend *m_backend;
0048     QApt::ExitStatus m_exitStatus;
0049     QApt::Transaction *m_trans;
0050 };
0051 
0052 #endif