repoindex/alpm/resolvebuildorder.h

30 lines
687 B
C++

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