#ifndef PACKAGELOOKUP_H #define PACKAGELOOKUP_H #include #include #include class PackageLookup : public QObject { Q_OBJECT public: explicit PackageLookup(QObject *parent = nullptr); const QJsonArray &errors() const; const QJsonArray &results() const; bool finished() const; signals: void resultsAvailable(const QJsonValue &what, const QJsonValue &id, const QJsonValue &value); protected: bool m_waitingForBusyRepos; unsigned int m_remainingReplies; QJsonValue m_id; QJsonArray m_errors; QJsonArray m_results; }; inline PackageLookup::PackageLookup(QObject *parent) : QObject(parent), m_waitingForBusyRepos(false), m_remainingReplies(0) {} inline const QJsonArray &PackageLookup::errors() const { return m_errors; } inline const QJsonArray &PackageLookup::results() const { return m_results; } inline bool PackageLookup::finished() const { return !m_waitingForBusyRepos && !m_remainingReplies && m_errors.isEmpty(); } #endif // PACKAGELOOKUP_H