]>
Commit | Line | Data |
---|---|---|
1 | // -*- mode: cpp; mode: fold -*- | |
2 | // Description /*{{{*/ | |
3 | // $Id: dpkgdb.h,v 1.2 2001/02/20 07:03:17 jgg Exp $ | |
4 | /* ###################################################################### | |
5 | ||
6 | DPKGv1 Data Base Implemenation | |
7 | ||
8 | The DPKGv1 database is typically stored in /var/lib/dpkg/. For | |
9 | DPKGv1 the 'meta' information is the contents of the .deb control.tar.gz | |
10 | member prepended by the package name. The meta information is unpacked | |
11 | in its temporary directory and then migrated into the main list dir | |
12 | at a checkpoint. | |
13 | ||
14 | Journaling is providing by syncronized file writes to the updates sub | |
15 | directory. | |
16 | ||
17 | ##################################################################### */ | |
18 | /*}}}*/ | |
19 | #ifndef PKGLIB_DPKGDB_H | |
20 | #define PKGLIB_DPKGDB_H | |
21 | ||
22 | #ifdef __GNUG__ | |
23 | #pragma interface "apt-pkg/dpkgdb.h" | |
24 | #endif | |
25 | ||
26 | #include <apt-pkg/database.h> | |
27 | ||
28 | class debDpkgDB : public pkgDataBase | |
29 | { | |
30 | protected: | |
31 | ||
32 | string AdminDir; | |
33 | DynamicMMap *CacheMap; | |
34 | DynamicMMap *FileMap; | |
35 | unsigned long DiverInode; | |
36 | signed long DiverTime; | |
37 | ||
38 | virtual bool InitMetaTmp(string &Dir); | |
39 | bool ReadFList(OpProgress &Progress); | |
40 | bool ReadDiversions(); | |
41 | bool ReadConfFiles(); | |
42 | ||
43 | public: | |
44 | ||
45 | virtual bool ReadyFileList(OpProgress &Progress); | |
46 | virtual bool ReadyPkgCache(OpProgress &Progress); | |
47 | virtual bool LoadChanges(); | |
48 | ||
49 | debDpkgDB(); | |
50 | virtual ~debDpkgDB(); | |
51 | }; | |
52 | ||
53 | #endif |