X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/899d08fea9e10d617afaa42f51f4abda76fc508f..3c54407f8783d5e27363eabf41dbc3d031526ffe:/apt-pkg/algorithms.h diff --git a/apt-pkg/algorithms.h b/apt-pkg/algorithms.h index 02b40e15f..cf4a98c4f 100644 --- a/apt-pkg/algorithms.h +++ b/apt-pkg/algorithms.h @@ -30,18 +30,16 @@ #ifndef PKGLIB_ALGORITHMS_H #define PKGLIB_ALGORITHMS_H -#ifdef __GNUG__ -#pragma interface "apt-pkg/algorithms.h" -#endif #include #include +#include #include using std::ostream; -class pkgSimulate : public pkgPackageManager +class pkgSimulate : public pkgPackageManager /*{{{*/ { protected: @@ -50,7 +48,7 @@ class pkgSimulate : public pkgPackageManager pkgDepCache *Cache; public: - virtual VerIterator GetCandidateVer(PkgIterator Pkg) + virtual VerIterator GetCandidateVer(PkgIterator const &Pkg) { return (*Cache)[Pkg].CandidateVerIter(*Cache); } @@ -62,6 +60,7 @@ class pkgSimulate : public pkgPackageManager Policy iPolicy; pkgDepCache Sim; + pkgDepCache::ActionGroup group; // The Actuall installation implementation virtual bool Install(PkgIterator Pkg,string File); @@ -76,8 +75,8 @@ private: pkgSimulate(pkgDepCache *Cache); }; - -class pkgProblemResolver + /*}}}*/ +class pkgProblemResolver /*{{{*/ { pkgDepCache &Cache; typedef pkgCache::PkgIterator PkgIterator; @@ -118,13 +117,14 @@ class pkgProblemResolver // Try to resolve problems only by using keep bool ResolveByKeep(); - + + // Install all protected packages void InstallProtect(); pkgProblemResolver(pkgDepCache *Cache); ~pkgProblemResolver(); }; - + /*}}}*/ bool pkgDistUpgrade(pkgDepCache &Cache); bool pkgApplyStatus(pkgDepCache &Cache); bool pkgFixBroken(pkgDepCache &Cache); @@ -133,21 +133,6 @@ bool pkgMinimizeUpgrade(pkgDepCache &Cache); void pkgPrioSortList(pkgCache &Cache,pkgCache::Version **List); - -// callback function that can be used by the client to bring in -// certain own packages into the root set (if the client returns -// True the package will be considered as part of the root set) -typedef bool (*InRootSetFunc)(pkgCache::PkgIterator); - -// Mark all reachable packages with "pkgDepCache::StateCache.Marked=1" -// the root-set are all essential packages+everything that was not -// installed automatically -// -// If InRootSetFunc is set, it will be called for each PkgIterator. This -// is usefull for clients that have there own idea about the root-set -// -// Everything that is not reach can be removed -bool pkgMarkUsed(pkgDepCache &Cache, InRootSetFunc f=NULL); - +bool ListUpdate(pkgAcquireStatus &progress, pkgSourceList &List, int PulseInterval=0); #endif