From 2d11135a1b8e8ee0a21c7932d7ce08a89b354784 Mon Sep 17 00:00:00 2001 From: Arch Librarian Date: Mon, 20 Sep 2004 16:53:34 +0000 Subject: Support for memory-only caching Author: jgg Date: 1999-04-18 06:36:36 GMT Support for memory-only caching --- apt-pkg/cachefile.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 apt-pkg/cachefile.h (limited to 'apt-pkg/cachefile.h') 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 +#include + +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 -- cgit v1.2.3