X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/6d38011bb93451dd9da3294614d821c77ac91687..ae732225ec2fa0d7434c9f40a92ced8683752211:/apt-pkg/policy.h diff --git a/apt-pkg/policy.h b/apt-pkg/policy.h index e7f36d618..bb0ff7e27 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 @@ -33,12 +32,17 @@ #ifndef PKGLIB_POLICY_H #define PKGLIB_POLICY_H - #include +#include +#include #include + #include +#include +#ifndef APT_8_CLEANER_HEADERS using std::vector; +#endif class pkgPolicy : public pkgDepCache::Policy { @@ -47,42 +51,48 @@ class pkgPolicy : public pkgDepCache::Policy struct Pin { pkgVersionMatch::MatchType Type; - string Data; + std::string Data; signed short Priority; Pin() : Type(pkgVersionMatch::None), Priority(0) {}; }; struct PkgPin : Pin { - string Pkg; + std::string Pkg; + explicit PkgPin(std::string const &Pkg) : Pin(), Pkg(Pkg) {}; }; Pin *Pins; + Pin *VerPins; signed short *PFPriority; - vector Defaults; - vector Unmatched; + std::vector Defaults; + std::vector Unmatched; pkgCache *Cache; bool StatusOverride; public: // Things for manipulating pins - void CreatePin(pkgVersionMatch::MatchType Type,string Pkg, - string Data,signed short Priority); + void CreatePin(pkgVersionMatch::MatchType Type,std::string Pkg, + std::string Data,signed short Priority); 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 &Ver, bool ConsiderFiles = true) APT_OVERRIDE; + 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,string File = ""); -bool ReadPinDir(pkgPolicy &Plcy,string Dir = ""); +bool ReadPinFile(pkgPolicy &Plcy, std::string File = ""); +bool ReadPinDir(pkgPolicy &Plcy, std::string Dir = ""); #endif