52 lines
1.0 KiB
C++
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
|