X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/0418949ebe9fc886e7794fa1de17c8b6c74e65ea..bccb344412a0e97afdf0aaaf41a31124c84f6eaa:/apt-pkg/cachefile.h diff --git a/apt-pkg/cachefile.h b/apt-pkg/cachefile.h index 802b12b61..e23f37675 100644 --- a/apt-pkg/cachefile.h +++ b/apt-pkg/cachefile.h @@ -1,6 +1,5 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: cachefile.h,v 1.5 2002/04/27 04:28:04 jgg Exp $ /* ###################################################################### CacheFile - Simple wrapper class for opening, generating and whatnot @@ -17,8 +16,12 @@ #ifndef PKGLIB_CACHEFILE_H #define PKGLIB_CACHEFILE_H +#include + #include #include +#include +#include #ifndef APT_8_CLEANER_HEADERS #include @@ -26,17 +29,19 @@ #include #endif +class MMap; class pkgPolicy; class pkgSourceList; +class pkgIndexFile; class OpProgress; class pkgCacheFile { /** \brief dpointer placeholder (for later in case we need it) */ - void *d; + void * const d; + bool ExternOwner; protected: - MMap *Map; pkgCache *Cache; pkgDepCache *DCache; @@ -46,30 +51,32 @@ class pkgCacheFile pkgPolicy *Policy; // We look pretty much exactly like a pointer to a dep cache - inline operator pkgCache &() {return *Cache;}; - inline operator pkgCache *() {return Cache;}; - inline operator pkgDepCache &() {return *DCache;}; - inline operator pkgDepCache *() {return DCache;}; - inline operator pkgPolicy &() {return *Policy;}; - inline operator pkgPolicy *() {return Policy;}; - inline operator pkgSourceList &() {return *SrcList;}; - inline operator pkgSourceList *() {return SrcList;}; - inline pkgDepCache *operator ->() {return DCache;}; - inline pkgDepCache &operator *() {return *DCache;}; - inline pkgDepCache::StateCache &operator [](pkgCache::PkgIterator const &I) {return (*DCache)[I];}; - inline unsigned char &operator [](pkgCache::DepIterator const &I) {return (*DCache)[I];}; + inline operator pkgCache &() const {return *Cache;}; + inline operator pkgCache *() const {return Cache;}; + inline operator pkgDepCache &() const {return *DCache;}; + inline operator pkgDepCache *() const {return DCache;}; + inline operator pkgPolicy &() const {return *Policy;}; + inline operator pkgPolicy *() const {return Policy;}; + inline operator pkgSourceList &() const {return *SrcList;}; + inline operator pkgSourceList *() const {return SrcList;}; + inline pkgDepCache *operator ->() const {return DCache;}; + inline pkgDepCache &operator *() const {return *DCache;}; + inline pkgDepCache::StateCache &operator [](pkgCache::PkgIterator const &I) const {return (*DCache)[I];}; + inline unsigned char &operator [](pkgCache::DepIterator const &I) const {return (*DCache)[I];}; bool BuildCaches(OpProgress *Progress = NULL,bool WithLock = true); - __deprecated bool BuildCaches(OpProgress &Progress,bool const &WithLock = true) { return BuildCaches(&Progress, WithLock); }; + APT_DEPRECATED_MSG("Pass Progress in as a pointer") bool BuildCaches(OpProgress &Progress,bool const &WithLock = true) { return BuildCaches(&Progress, WithLock); }; bool BuildSourceList(OpProgress *Progress = NULL); bool BuildPolicy(OpProgress *Progress = NULL); bool BuildDepCache(OpProgress *Progress = NULL); bool Open(OpProgress *Progress = NULL, bool WithLock = true); inline bool ReadOnlyOpen(OpProgress *Progress = NULL) { return Open(Progress, false); }; - __deprecated bool Open(OpProgress &Progress,bool const &WithLock = true) { return Open(&Progress, WithLock); }; + APT_DEPRECATED_MSG("Pass Progress in as a pointer") bool Open(OpProgress &Progress,bool const &WithLock = true) { return Open(&Progress, WithLock); }; static void RemoveCaches(); void Close(); + bool AddIndexFile(pkgIndexFile * const File); + inline pkgCache* GetPkgCache() { BuildCaches(NULL, false); return Cache; }; inline pkgDepCache* GetDepCache() { BuildDepCache(); return DCache; }; inline pkgPolicy* GetPolicy() { BuildPolicy(); return Policy; }; @@ -81,6 +88,7 @@ class pkgCacheFile inline bool IsSrcListBuilt() const { return (SrcList != NULL); }; pkgCacheFile(); + explicit pkgCacheFile(pkgDepCache * const Owner); virtual ~pkgCacheFile(); };