repoindex/alpm/resolvebuildorder.h

31 lines
721 B
C++

#ifndef PACKAGEMANAGEMENT_RESOLVEBUILDORDER_H
#define PACKAGEMANAGEMENT_RESOLVEBUILDORDER_H
#include <c++utilities/application/argumentparser.h>
#include <QString>
#include <QList>
namespace RepoIndex {
class Manager;
class TaskInfo;
class Dependency;
class BuildOrderResolver
{
public:
BuildOrderResolver(const Manager &manager);
QStringList resolve(const ApplicationUtilities::StringVector &packages) const;
private:
void addDeps(QList<TaskInfo *> &tasks, TaskInfo *task) const;
void addDeps(QList<TaskInfo *> &tasks, TaskInfo *task, const QList<Dependency> &dependencies) const;
const Manager &m_manager;
};
} // namespace PackageManagement
#endif // PACKAGEMANAGEMENT_RESOLVEBUILDORDER_H