]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/policy.h
* merge the patch from Steinar
[apt.git] / apt-pkg / policy.h
index f8991620236f275d0e798e811f158c329d3eb8e7..40ebd3f704f9ae4aa778ae44d438d488b78e9ad5 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: policy.h,v 1.2 2001/02/20 07:03:17 jgg Exp $
+// $Id: policy.h,v 1.4 2001/05/07 04:24:08 jgg Exp $
 /* ######################################################################
 
    Package Version Policy implementation
 #include <apt-pkg/versionmatch.h>
 #include <vector>
 
+using std::vector;
+
 class pkgPolicy : public pkgDepCache::Policy
 {
+   protected:
+
    struct Pin
    {
       pkgVersionMatch::MatchType Type;
@@ -56,8 +60,6 @@ class pkgPolicy : public pkgDepCache::Policy
       string Pkg;
    };
    
-   protected:
-   
    Pin *Pins;
    signed short *PFPriority;
    vector<Pin> Defaults;
@@ -67,9 +69,15 @@ class pkgPolicy : public pkgDepCache::Policy
    
    public:
 
+   // Things for manipulating pins
    void CreatePin(pkgVersionMatch::MatchType Type,string Pkg,
                  string Data,signed short Priority);
-   
+   inline signed short GetPriority(pkgCache::PkgFileIterator const &File) 
+       {return PFPriority[File->ID];};
+   signed short GetPriority(pkgCache::PkgIterator const &Pkg);
+   pkgCache::VerIterator GetMatch(pkgCache::PkgIterator Pkg);
+
+   // Things for the cache interface.
    virtual pkgCache::VerIterator GetCandidateVer(pkgCache::PkgIterator Pkg);
    virtual bool IsImportantDep(pkgCache::DepIterator Dep) {return pkgDepCache::Policy::IsImportantDep(Dep);};
    bool InitDefaults();