diff options
author | Arch Librarian <arch@canonical.com> | 2004-09-20 16:53:34 +0000 |
---|---|---|
committer | Arch Librarian <arch@canonical.com> | 2004-09-20 16:53:34 +0000 |
commit | 2d11135a1b8e8ee0a21c7932d7ce08a89b354784 (patch) | |
tree | 7516c5025386801ae15773d4bed77a01bf1d69d3 /apt-pkg/cachefile.h | |
parent | 25dbb396187255367674f264732db681538c87a2 (diff) |
Support for memory-only caching
Author: jgg
Date: 1999-04-18 06:36:36 GMT
Support for memory-only caching
Diffstat (limited to 'apt-pkg/cachefile.h')
-rw-r--r-- | apt-pkg/cachefile.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/apt-pkg/cachefile.h b/apt-pkg/cachefile.h new file mode 100644 index 000000000..23bd4008b --- /dev/null +++ b/apt-pkg/cachefile.h @@ -0,0 +1,48 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +// $Id: cachefile.h,v 1.1 1999/04/18 06:36:36 jgg Exp $ +/* ###################################################################### + + CacheFile - Simple wrapper class for opening, generating and whatnot + + This class implements a simple 2 line mechanism to open various sorts + of caches. It can operate as root, as not root, show progress and so on, + it transparently handles everything necessary. + + ##################################################################### */ + /*}}}*/ +#ifndef PKGLIB_CACHEFILE_H +#define PKGLIB_CACHEFILE_H + +#ifdef __GNUG__ +#pragma interface "apt-pkg/cachefile.h" +#endif + +#include <apt-pkg/depcache.h> +#include <apt-pkg/dpkginit.h> + +class pkgCacheFile +{ + protected: + + MMap *Map; + pkgDepCache *Cache; + pkgDpkgLock *Lock; + + public: + + // We look pretty much exactly like a pointer to a dep cache + inline operator pkgDepCache &() {return *Cache;}; + inline pkgDepCache *operator ->() {return Cache;}; + inline pkgDepCache &operator *() {return *Cache;}; + + // Release the dpkg status lock + inline void ReleaseLock() {Lock->Close();}; + + bool Open(OpProgress &Progress,bool WithLock = true); + + pkgCacheFile(); + ~pkgCacheFile(); +}; + +#endif |