summaryrefslogtreecommitdiff
path: root/apt-pkg/cachefile.h
diff options
context:
space:
mode:
authorArch Librarian <arch@canonical.com>2004-09-20 16:53:34 +0000
committerArch Librarian <arch@canonical.com>2004-09-20 16:53:34 +0000
commit2d11135a1b8e8ee0a21c7932d7ce08a89b354784 (patch)
tree7516c5025386801ae15773d4bed77a01bf1d69d3 /apt-pkg/cachefile.h
parent25dbb396187255367674f264732db681538c87a2 (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.h48
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