Changeset View
Changeset View
Standalone View
Standalone View
libdiscover/backends/PackageKitBackend/PackageKitBackend.h
Show All 23 Lines | |||||
24 | #include "PackageKitResource.h" | 24 | #include "PackageKitResource.h" | ||
25 | #include <resources/AbstractResourcesBackend.h> | 25 | #include <resources/AbstractResourcesBackend.h> | ||
26 | #include <QVariantList> | 26 | #include <QVariantList> | ||
27 | #include <QStringList> | 27 | #include <QStringList> | ||
28 | #include <QPointer> | 28 | #include <QPointer> | ||
29 | #include <QTimer> | 29 | #include <QTimer> | ||
30 | #include <QSet> | 30 | #include <QSet> | ||
31 | #include <QSharedPointer> | 31 | #include <QSharedPointer> | ||
32 | #include <QThreadPool> | ||||
32 | #include <PackageKit/Transaction> | 33 | #include <PackageKit/Transaction> | ||
33 | #include <AppStreamQt/pool.h> | 34 | #include <AppStreamQt/pool.h> | ||
34 | 35 | | |||
35 | class AppPackageKitResource; | 36 | class AppPackageKitResource; | ||
36 | class PackageKitUpdater; | 37 | class PackageKitUpdater; | ||
37 | class OdrsReviewsBackend; | 38 | class OdrsReviewsBackend; | ||
38 | class DISCOVERCOMMON_EXPORT PackageKitBackend : public AbstractResourcesBackend | 39 | class DISCOVERCOMMON_EXPORT PackageKitBackend : public AbstractResourcesBackend | ||
39 | { | 40 | { | ||
▲ Show 20 Lines • Show All 44 Lines • ▼ Show 20 Line(s) | 84 | private Q_SLOTS: | |||
84 | void getPackagesFinished(); | 85 | void getPackagesFinished(); | ||
85 | void addPackage(PackageKit::Transaction::Info info, const QString &packageId, const QString &summary, bool arch); | 86 | void addPackage(PackageKit::Transaction::Info info, const QString &packageId, const QString &summary, bool arch); | ||
86 | void addPackageArch(PackageKit::Transaction::Info info, const QString &packageId, const QString &summary); | 87 | void addPackageArch(PackageKit::Transaction::Info info, const QString &packageId, const QString &summary); | ||
87 | void addPackageNotArch(PackageKit::Transaction::Info info, const QString &packageId, const QString &summary); | 88 | void addPackageNotArch(PackageKit::Transaction::Info info, const QString &packageId, const QString &summary); | ||
88 | void packageDetails(const PackageKit::Details& details); | 89 | void packageDetails(const PackageKit::Details& details); | ||
89 | void addPackageToUpdate(PackageKit::Transaction::Info, const QString& pkgid, const QString& summary); | 90 | void addPackageToUpdate(PackageKit::Transaction::Info, const QString& pkgid, const QString& summary); | ||
90 | void getUpdatesFinished(PackageKit::Transaction::Exit,uint); | 91 | void getUpdatesFinished(PackageKit::Transaction::Exit,uint); | ||
91 | 92 | | |||
93 | Q_SIGNALS: | ||||
94 | void loadedAppStream(); | ||||
95 | | ||||
92 | private: | 96 | private: | ||
93 | friend class PackageKitResource; | 97 | friend class PackageKitResource; | ||
94 | template <typename T> | 98 | template <typename T> | ||
95 | T resourcesByPackageNames(const QStringList& names) const; | 99 | T resourcesByPackageNames(const QStringList& names) const; | ||
96 | 100 | | |||
97 | void checkDaemonRunning(); | 101 | void checkDaemonRunning(); | ||
98 | void acquireFetching(bool f); | 102 | void acquireFetching(bool f); | ||
99 | void includePackagesToAdd(); | 103 | void includePackagesToAdd(); | ||
100 | void performDetailsFetch(); | 104 | void performDetailsFetch(); | ||
101 | AppPackageKitResource* addComponent(const AppStream::Component& component, const QStringList& pkgNames); | 105 | AppPackageKitResource* addComponent(const AppStream::Component& component, const QStringList& pkgNames); | ||
102 | void updateProxy(); | 106 | void updateProxy(); | ||
103 | 107 | | |||
104 | QScopedPointer<AppStream::Pool> m_appdata; | 108 | QScopedPointer<AppStream::Pool> m_appdata; | ||
105 | PackageKitUpdater* m_updater; | 109 | PackageKitUpdater* m_updater; | ||
106 | QPointer<PackageKit::Transaction> m_refresher; | 110 | QPointer<PackageKit::Transaction> m_refresher; | ||
107 | int m_isFetching; | 111 | int m_isFetching; | ||
108 | QSet<QString> m_updatesPackageId; | 112 | QSet<QString> m_updatesPackageId; | ||
109 | bool m_hasSecurityUpdates = false; | 113 | bool m_hasSecurityUpdates = false; | ||
110 | QSet<PackageKitResource*> m_packagesToAdd; | 114 | QSet<PackageKitResource*> m_packagesToAdd; | ||
111 | QSet<PackageKitResource*> m_packagesToDelete; | 115 | QSet<PackageKitResource*> m_packagesToDelete; | ||
116 | bool m_appstreamInitialized = false; | ||||
112 | 117 | | |||
113 | struct Packages { | 118 | struct Packages { | ||
114 | QHash<QString, AbstractResource*> packages; | 119 | QHash<QString, AbstractResource*> packages; | ||
115 | QHash<QString, QStringList> packageToApp; | 120 | QHash<QString, QStringList> packageToApp; | ||
116 | QHash<QString, QVector<AppPackageKitResource*>> extendedBy; | 121 | QHash<QString, QVector<AppPackageKitResource*>> extendedBy; | ||
117 | void clear() { *this = {}; } | 122 | void clear() { *this = {}; } | ||
118 | }; | 123 | }; | ||
119 | 124 | | |||
120 | QTimer m_delayedDetailsFetch; | 125 | QTimer m_delayedDetailsFetch; | ||
121 | QSet<QString> m_packageNamesToFetchDetails; | 126 | QSet<QString> m_packageNamesToFetchDetails; | ||
122 | Packages m_packages; | 127 | Packages m_packages; | ||
123 | QSharedPointer<OdrsReviewsBackend> m_reviews; | 128 | QSharedPointer<OdrsReviewsBackend> m_reviews; | ||
124 | QPointer<PackageKit::Transaction> m_getUpdatesTransaction; | 129 | QPointer<PackageKit::Transaction> m_getUpdatesTransaction; | ||
130 | QThreadPool m_threadPool; | ||||
125 | }; | 131 | }; | ||
126 | 132 | | |||
127 | #endif // PACKAGEKITBACKEND_H | 133 | #endif // PACKAGEKITBACKEND_H |