]> git.saurik.com Git - apt.git/blame - apt-pkg/cachefile.h
Support for memory-only caching
[apt.git] / apt-pkg / cachefile.h
CommitLineData
2d11135a
AL
1// -*- mode: cpp; mode: fold -*-
2// Description /*{{{*/
3// $Id: cachefile.h,v 1.1 1999/04/18 06:36:36 jgg Exp $
4/* ######################################################################
5
6 CacheFile - Simple wrapper class for opening, generating and whatnot
7
8 This class implements a simple 2 line mechanism to open various sorts
9 of caches. It can operate as root, as not root, show progress and so on,
10 it transparently handles everything necessary.
11
12 ##################################################################### */
13 /*}}}*/
14#ifndef PKGLIB_CACHEFILE_H
15#define PKGLIB_CACHEFILE_H
16
17#ifdef __GNUG__
18#pragma interface "apt-pkg/cachefile.h"
19#endif
20
21#include <apt-pkg/depcache.h>
22#include <apt-pkg/dpkginit.h>
23
24class pkgCacheFile
25{
26 protected:
27
28 MMap *Map;
29 pkgDepCache *Cache;
30 pkgDpkgLock *Lock;
31
32 public:
33
34 // We look pretty much exactly like a pointer to a dep cache
35 inline operator pkgDepCache &() {return *Cache;};
36 inline pkgDepCache *operator ->() {return Cache;};
37 inline pkgDepCache &operator *() {return *Cache;};
38
39 // Release the dpkg status lock
40 inline void ReleaseLock() {Lock->Close();};
41
42 bool Open(OpProgress &Progress,bool WithLock = true);
43
44 pkgCacheFile();
45 ~pkgCacheFile();
46};
47
48#endif