diff options
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 |