File indexing completed on 2024-03-24 05:49:42
0001 /* 0002 Copyright © 2017 Harald Sitter <sitter@kde.org> 0003 0004 This library is free software; you can redistribute it and/or 0005 modify it under the terms of the GNU Lesser General Public 0006 License as published by the Free Software Foundation; either 0007 version 2.1 of the License, or (at your option) version 3, or any 0008 later version accepted by the membership of KDE e.V. (or its 0009 successor approved by the membership of KDE e.V.), which shall 0010 act as a proxy defined in Section 6 of version 3 of the license. 0011 0012 This library is distributed in the hope that it will be useful, 0013 but WITHOUT ANY WARRANTY; without even the implied warranty of 0014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 0015 Lesser General Public License for more details. 0016 0017 You should have received a copy of the GNU Lesser General Public 0018 License along with this library. If not, see <http://www.gnu.org/licenses/>. 0019 */ 0020 0021 #ifndef TRANSACTION_H 0022 #define TRANSACTION_H 0023 0024 #include <PackageKit/Transaction> 0025 0026 // Override PackageKit transaction to give it a functional lastPackage property. 0027 // The PK one doesn't actually return a non-empty string... ever. 0028 class Transaction : public PackageKit::Transaction 0029 { 0030 Q_OBJECT 0031 Q_PROPERTY(QString tidString READ tidString) 0032 Q_PROPERTY(QString lastPackage READ lastPackage NOTIFY lastPackageChanged) 0033 public: 0034 Transaction(const QDBusObjectPath &path = QDBusObjectPath()); 0035 0036 QString tidString() const; 0037 QString lastPackage() const; 0038 0039 Q_INVOKABLE QString enumString(Role role); 0040 0041 signals: 0042 void tidStringChanged(); 0043 void lastPackageChanged(); 0044 0045 private: 0046 QString m_lastPackage; 0047 }; 0048 0049 #endif // TRANSACTION_H