]>
git.saurik.com Git - apt.git/blob - apt-inst/database.h
1 // -*- mode: cpp; mode: fold -*-
3 // $Id: database.h,v 1.2 2001/02/20 07:03:16 jgg Exp $
4 /* ######################################################################
8 This class provides a simple interface to an abstract notion of a
9 database directory for storing state information about the system.
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
16 The File Listing is the database of installed files. It is loaded
17 into the memory/persistent cache structure by the ReadFileList method.
19 ##################################################################### */
21 #ifndef PKGLIB_DATABASE_H
22 #define PKGLIB_DATABASE_H
25 #pragma interface "apt-pkg/database.h"
28 #include <apt-pkg/filelist.h>
29 #include <apt-pkg/pkgcachegen.h>
35 pkgCacheGenerator
*Cache
;
38 virtual bool InitMetaTmp(string
&Dir
) = 0;
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
;};
47 bool GetMetaTmp(string
&Dir
);
48 virtual bool ReadyFileList(OpProgress
&Progress
) = 0;
49 virtual bool ReadyPkgCache(OpProgress
&Progress
) = 0;
50 virtual bool LoadChanges() = 0;
52 pkgDataBase() : Cache(0), FList(0) {};
53 virtual ~pkgDataBase() {delete Cache
; delete FList
;};