// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: depcache.h,v 1.6 1998/11/13 07:08:58 jgg Exp $
+// $Id: depcache.h,v 1.12 1999/10/22 05:58:54 jgg Exp $
/* ######################################################################
DepCache - Dependency Extension data for the cache
DepCandPolicy = (1 << 4), DepCandMin = (1 << 5)};
// These flags are used in StateCache::iFlags
- enum InternalFlags {AutoKept = (1 << 0)};
+ enum InternalFlags {AutoKept = (1 << 0), Purge = (1 << 1), ReInstall = (1 << 2)};
enum VersionTypes {NowVersion, InstallVersion, CandidateVersion};
enum ModeList {ModeDelete = 0, ModeKeep = 1, ModeInstall = 2};
public:
// Policy implementation
- virtual VerIterator GetCandidateVer(PkgIterator Pkg);
+ virtual VerIterator GetCandidateVer(PkgIterator Pkg,bool AllowCurrent = true);
virtual bool IsImportantDep(DepIterator Dep);
// Accessors
// Manipulators
void MarkKeep(PkgIterator const &Pkg,bool Soft = false);
- void MarkDelete(PkgIterator const &Pkg);
+ void MarkDelete(PkgIterator const &Pkg,bool Purge = false);
void MarkInstall(PkgIterator const &Pkg,bool AutoInst = true);
+ void SetReInstall(PkgIterator const &Pkg,bool To);
// This is for debuging
void Update(OpProgress *Prog = 0);
-
+
// Size queries
inline signed long UsrSize() {return iUsrSize;};
inline unsigned long DebSize() {return iDownloadSize;};
inline unsigned long BadCount() {return iBadCount;};
pkgDepCache(MMap &Map,OpProgress &Prog);
+ pkgDepCache(MMap &Map);
virtual ~pkgDepCache();
};