]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/pkgcache.h
* Applied patch from Aurelien Jarno <aurel32@debian.org> to avoid CPU
[apt.git] / apt-pkg / pkgcache.h
index 6a54ad5ba66afee6cf3baf609dc6b19c5592bb07..59d5003bba4f7ecc0f151b1c8e82ba94639d13eb 100644 (file)
@@ -19,9 +19,6 @@
 #ifndef PKGLIB_PKGCACHE_H
 #define PKGLIB_PKGCACHE_H
 
-#ifdef __GNUG__
-#pragma interface "apt-pkg/pkgcache.h"
-#endif 
 
 #include <string>
 #include <time.h>
@@ -66,10 +63,14 @@ class pkgCache
    class Namespace;
    
    // These are all the constants used in the cache structures
+
+   // WARNING - if you change these lists you must also edit
+   // the stringification in pkgcache.cc and also consider whether
+   // the cache file will become incompatible.
    struct Dep
    {
       enum DepType {Depends=1,PreDepends=2,Suggests=3,Recommends=4,
-        Conflicts=5,Replaces=6,Obsoletes=7};
+        Conflicts=5,Replaces=6,Obsoletes=7,DpkgBreaks=8};
       enum DepCompareOp {Or=0x10,NoOp=0,LessEq=0x1,GreaterEq=0x2,Less=0x3,
         Greater=0x4,Equals=0x5,NotEquals=0x6};
    };
@@ -80,7 +81,8 @@ class pkgCache
       enum PkgSelectedState {Unknown=0,Install=1,Hold=2,DeInstall=3,Purge=4};
       enum PkgInstState {Ok=0,ReInstReq=1,HoldInst=2,HoldReInstReq=3};
       enum PkgCurrentState {NotInstalled=0,UnPacked=1,HalfConfigured=2,
-          HalfInstalled=4,ConfigFiles=5,Installed=6};
+          HalfInstalled=4,ConfigFiles=5,Installed=6,
+           TriggersAwaited=7,TriggersPending=8};
    };
    
    struct Flag
@@ -95,7 +97,7 @@ class pkgCache
    string CacheFile;
    MMap &Map;
 
-   unsigned long sHash(string S) const;
+   unsigned long sHash(const string &S) const;
    unsigned long sHash(const char *S) const;
    
    public:
@@ -119,14 +121,14 @@ class pkgCache
    inline void *DataEnd() {return ((unsigned char *)Map.Data()) + Map.Size();};
       
    // String hashing function (512 range)
-   inline unsigned long Hash(string S) const {return sHash(S);};
+   inline unsigned long Hash(const string &S) const {return sHash(S);};
    inline unsigned long Hash(const char *S) const {return sHash(S);};
 
    // Usefull transformation things
    const char *Priority(unsigned char Priority);
    
    // Accessors
-   PkgIterator FindPkg(string Name);
+   PkgIterator FindPkg(const string &Name);
    Header &Head() {return *HeaderP;};
    inline PkgIterator PkgBegin();
    inline PkgIterator PkgEnd();