X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/7e798dd739883c1f47216578ba8df34dced24777..b0b22e1333d13a88f9f9302d59efd77a61e80a0e:/apt-pkg/algorithms.h diff --git a/apt-pkg/algorithms.h b/apt-pkg/algorithms.h index bd0a1f7bd..1603377f4 100644 --- a/apt-pkg/algorithms.h +++ b/apt-pkg/algorithms.h @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: algorithms.h,v 1.5 1998/10/08 04:54:59 jgg Exp $ +// $Id: algorithms.h,v 1.7 1999/07/09 04:11:34 jgg Exp $ /* ###################################################################### Algorithms - A set of misc algorithms @@ -49,7 +49,7 @@ class pkgSimulate : public pkgPackageManager // The Actuall installation implementation virtual bool Install(PkgIterator Pkg,string File); virtual bool Configure(PkgIterator Pkg); - virtual bool Remove(PkgIterator Pkg); + virtual bool Remove(PkgIterator Pkg,bool Purge); void ShortBreaks(); public: @@ -68,7 +68,8 @@ class pkgProblemResolver typedef pkgCache::Package Package; enum Flags {Protected = (1 << 0), PreInstalled = (1 << 1), - Upgradable = (1 << 2), ReInstateTried = (1 << 3)}; + Upgradable = (1 << 2), ReInstateTried = (1 << 3), + ToRemove = (1 << 4)}; signed short *Scores; unsigned char *Flags; bool Debug; @@ -89,13 +90,16 @@ class pkgProblemResolver public: inline void Protect(pkgCache::PkgIterator Pkg) {Flags[Pkg->ID] |= Protected;}; + inline void Remove(pkgCache::PkgIterator Pkg) {Flags[Pkg->ID] |= ToRemove;}; // Try to intelligently resolve problems by installing and removing packages bool Resolve(bool BrokenFix = false); - + // Try to resolve problems only by using keep bool ResolveByKeep(); - + + void InstallProtect(); + pkgProblemResolver(pkgDepCache &Cache); };