#include <apt-pkg/packagemanager.h>
#include <apt-pkg/depcache.h>
+#include <apt-pkg/pkgcache.h>
+#include <apt-pkg/cacheiterators.h>
#include <iostream>
+#include <string>
#include <apt-pkg/macros.h>
// Sort stuff
static pkgProblemResolver *This;
- static int ScoreSort(const void *a,const void *b);
+ static int ScoreSort(const void *a,const void *b) APT_PURE;
struct PackageKill
{
inline void Protect(pkgCache::PkgIterator Pkg) {Flags[Pkg->ID] |= Protected; Cache.MarkProtected(Pkg);};
inline void Remove(pkgCache::PkgIterator Pkg) {Flags[Pkg->ID] |= ToRemove;};
inline void Clear(pkgCache::PkgIterator Pkg) {Flags[Pkg->ID] &= ~(Protected | ToRemove);};
-
- // Try to intelligently resolve problems by installing and removing packages
- bool Resolve(bool BrokenFix = false);
-
+
+ // Try to intelligently resolve problems by installing and removing packages
+ bool Resolve(bool BrokenFix = false, OpProgress * const Progress = NULL);
+
// Try to resolve problems only by using keep
- bool ResolveByKeep();
+ bool ResolveByKeep(OpProgress * const Progress = NULL);
- __deprecated void InstallProtect();
+ APT_DEPRECATED void InstallProtect();
pkgProblemResolver(pkgDepCache *Cache);
~pkgProblemResolver();