repoindex/lib/alpm/packagefinder.h

53 lines
1.1 KiB
C++

#ifndef REPOINDEX_PACKAGEFINDER_H
#define REPOINDEX_PACKAGEFINDER_H
#include "./package.h"
#include <QObject>
namespace RepoIndex {
class Manager;
class PackageFinder : public QObject
{
Q_OBJECT
public:
explicit PackageFinder(Manager &manager, const QList<Dependency> &dependencies, bool sourcesRequired = false, QObject *parent = nullptr);
void setSourcesRequired(bool sourcesRequired);
const QList<Package *> results() const;
bool areAllResultsAvailable() const;
Package *packageProviding(const Dependency &dependency);
Q_SIGNALS:
void resultsAvailable();
private Q_SLOTS:
void addResults();
private:
//bool m_sourcesRequired;
int m_remainingReplies;
QList<Package *> m_results;
};
//void PackageFinder::setSourcesRequired(bool sourcesRequired)
//{
// return m_sourcesRequired;
//}
inline const QList<Package *> PackageFinder::results() const
{
return m_results;
}
inline bool PackageFinder::areAllResultsAvailable() const
{
return !m_remainingReplies;
}
} // namespace RepoIndex
#endif // REPOINDEX_PACKAGEFINDER_H