]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/depcache.h
* added APT::NeverAutoRemove (a list of regexp for package names that should never...
[apt.git] / apt-pkg / depcache.h
index f974bfacf324af615e4a8a51dfa01d45c3fa5cc9..619daf8f67293b04230336e94aabd5eb83912cb7 100644 (file)
@@ -63,6 +63,7 @@ class pkgDepCache : protected pkgCache::Namespace
       
    enum VersionTypes {NowVersion, InstallVersion, CandidateVersion};
    enum ModeList {ModeDelete = 0, ModeKeep = 1, ModeInstall = 2};
+
    struct StateCache
    {
       // Epoch stripped text versions of the two version fields
@@ -79,9 +80,9 @@ class pkgDepCache : protected pkgCache::Namespace
       unsigned short Flags;
       unsigned short iFlags;           // Internal flags
 
-      // Traversal status and state for automatic removal
-      unsigned char DirtyState;
-      unsigned char AutomaticRemove;
+      // mark and sweep flags
+      bool Marked;
+      bool Garbage;
 
       // Various tree indicators
       signed char Status;              // -1,0,1,2
@@ -103,7 +104,6 @@ class pkgDepCache : protected pkgCache::Namespace
       inline bool NowBroken() const {return (DepState & DepNowMin) != DepNowMin;};
       inline bool InstBroken() const {return (DepState & DepInstMin) != DepInstMin;};
       inline bool Install() const {return Mode == ModeInstall;};
-      inline unsigned char Dirty() const {return DirtyState;};
       inline VerIterator InstVerIter(pkgCache &Cache)
                 {return VerIterator(Cache,InstallVer);};
       inline VerIterator CandidateVerIter(pkgCache &Cache)
@@ -194,10 +194,13 @@ class pkgDepCache : protected pkgCache::Namespace
                    unsigned long Depth = 0);
    void SetReInstall(PkgIterator const &Pkg,bool To);
    void SetCandidateVersion(VerIterator TargetVer);
-   void SetDirty(PkgIterator const &Pkg, pkgCache::State::PkgRemoveState To);
    
    // This is for debuging
    void Update(OpProgress *Prog = 0);
+
+   // read persistent states
+   bool readStateFile(OpProgress *prog);
+   bool writeStateFile(OpProgress *prog);
    
    // Size queries
    inline double UsrSize() {return iUsrSize;};