X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/38d2959ffb8c6f5f291b2910014a67b1b352ab4c..51c4e07f4cba0615ff269b5a8d04dfd3d1313b00:/apt-pkg/policy.h diff --git a/apt-pkg/policy.h b/apt-pkg/policy.h index f15d8c0a0..5be6657e9 100644 --- a/apt-pkg/policy.h +++ b/apt-pkg/policy.h @@ -1,6 +1,5 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: policy.h,v 1.4 2001/05/07 04:24:08 jgg Exp $ /* ###################################################################### Package Version Policy implementation @@ -60,10 +59,11 @@ class pkgPolicy : public pkgDepCache::Policy struct PkgPin : Pin { std::string Pkg; - PkgPin(std::string const &Pkg) : Pin(), Pkg(Pkg) {}; + explicit PkgPin(std::string const &Pkg) : Pin(), Pkg(Pkg) {}; }; Pin *Pins; + Pin *VerPins; signed short *PFPriority; std::vector Defaults; std::vector Unmatched; @@ -78,14 +78,18 @@ class pkgPolicy : public pkgDepCache::Policy pkgCache::VerIterator GetMatch(pkgCache::PkgIterator const &Pkg); // Things for the cache interface. - virtual pkgCache::VerIterator GetCandidateVer(pkgCache::PkgIterator const &Pkg); - virtual signed short GetPriority(pkgCache::PkgIterator const &Pkg); - virtual signed short GetPriority(pkgCache::PkgFileIterator const &File); + virtual pkgCache::VerIterator GetCandidateVer(pkgCache::PkgIterator const &Pkg) APT_OVERRIDE; + virtual signed short GetPriority(pkgCache::PkgIterator const &Pkg) APT_OVERRIDE; + virtual signed short GetPriority(pkgCache::VerIterator const &Pkg, bool ConsiderFiles = true); + virtual signed short GetPriority(pkgCache::PkgFileIterator const &File) APT_OVERRIDE; bool InitDefaults(); - pkgPolicy(pkgCache *Owner); - virtual ~pkgPolicy() {delete [] PFPriority; delete [] Pins;}; + explicit pkgPolicy(pkgCache *Owner); + virtual ~pkgPolicy(); + private: + APT_HIDDEN pkgCache::VerIterator GetCandidateVerNew(pkgCache::PkgIterator const &Pkg); + void * const d; }; bool ReadPinFile(pkgPolicy &Plcy, std::string File = "");