repoindex/lib/alpm/packagelookup.h

51 lines
1.0 KiB
C++

#ifndef PACKAGELOOKUP_H
#define PACKAGELOOKUP_H
#include <QObject>
#include <QJsonArray>
#include <QJsonValue>
class PackageLookup : public QObject
{
Q_OBJECT
public:
explicit PackageLookup(QObject *parent = nullptr);
const QJsonArray &errors() const;
const QJsonArray &results() const;
bool finished() const;
Q_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