]> git.saurik.com Git - apt.git/blame - apt-inst/database.h
merged from http://bzr.debian.org/bzr/apt/apt/debian-experimental2
[apt.git] / apt-inst / database.h
CommitLineData
b2e465d6
AL
1// -*- mode: cpp; mode: fold -*-
2// Description /*{{{*/
3// $Id: database.h,v 1.2 2001/02/20 07:03:16 jgg Exp $
4/* ######################################################################
5
6 Data Base Abstraction
7
8 This class provides a simple interface to an abstract notion of a
9 database directory for storing state information about the system.
10
11 The 'Meta' information for a package is the control information and
12 setup scripts stored inside the archive. GetMetaTmp returns the name of
13 a directory that is used to store named files containing the control
14 information.
15
16 The File Listing is the database of installed files. It is loaded
17 into the memory/persistent cache structure by the ReadFileList method.
18
19 ##################################################################### */
20 /*}}}*/
21#ifndef PKGLIB_DATABASE_H
22#define PKGLIB_DATABASE_H
23
b2e465d6
AL
24#include <apt-pkg/pkgcachegen.h>
25
472ff00e
DK
26#include <string>
27
28class pkgFLCache;
29class OpProgress;
30
b2e465d6
AL
31class pkgDataBase
32{
33 protected:
34
35 pkgCacheGenerator *Cache;
36 pkgFLCache *FList;
8f3ba4e8
DK
37 std::string MetaDir;
38 virtual bool InitMetaTmp(std::string &Dir) = 0;
b2e465d6
AL
39
40 public:
41
42 // Some manipulators for the cache and generator
43 inline pkgCache &GetCache() {return Cache->GetCache();};
44 inline pkgFLCache &GetFLCache() {return *FList;};
45 inline pkgCacheGenerator &GetGenerator() {return *Cache;};
46
8f3ba4e8 47 bool GetMetaTmp(std::string &Dir);
b2e465d6
AL
48 virtual bool ReadyFileList(OpProgress &Progress) = 0;
49 virtual bool ReadyPkgCache(OpProgress &Progress) = 0;
50 virtual bool LoadChanges() = 0;
51
52 pkgDataBase() : Cache(0), FList(0) {};
472ff00e 53 virtual ~pkgDataBase();
b2e465d6
AL
54};
55
56#endif