repoindex/alpm/suggestionslookup.h

52 lines
1.0 KiB
C++

#ifndef REPOINDEX_SUGGESTIONSLOOKUP_H
#define REPOINDEX_SUGGESTIONSLOOKUP_H
#include <QObject>
#include <QJsonArray>
#include <QJsonValue>
namespace RepoIndex {
class Manager;
class SuggestionsLookup : public QObject
{
Q_OBJECT
public:
SuggestionsLookup(Manager &manager, const QJsonObject &request);
const QJsonArray &errors() const;
const QJsonArray &results() const;
bool finished() const;
signals:
void resultsAvailable(const QJsonValue &what, const QJsonValue &id, const QJsonValue &value);
private slots:
void addResults();
private:
unsigned int m_remainingReplies;
QJsonValue m_id;
QJsonArray m_errors;
QJsonArray m_results;
};
inline const QJsonArray &SuggestionsLookup::errors() const
{
return m_errors;
}
inline const QJsonArray &SuggestionsLookup::results() const
{
return m_results;
}
inline bool SuggestionsLookup::finished() const
{
return !m_remainingReplies && m_errors.isEmpty();
}
} // namespace RepoIndex
#endif // REPOINDEX_SUGGESTIONSLOOKUP_H