- initial import of revision 374 from cnc
[apt.git] / apt-pkg / deb / debsystem.h
1 // -*- mode: cpp; mode: fold -*-
2 // Description                                                          /*{{{*/
3 // $Id: debsystem.h,v 1.2 2003/01/29 18:43:48 niemeyer Exp $
4 /* ######################################################################
5
6    System - Debian version of the  System Class
7
8    ##################################################################### */
9                                                                         /*}}}*/
10 #ifndef PKGLIB_DEBSYSTEM_H
11 #define PKGLIB_DEBSYSTEM_H
12
13 #ifdef __GNUG__
14 #pragma interface "apt-pkg/debsystem.h"
15 #endif
16
17 #include <apt-pkg/pkgsystem.h>
18
19 class debStatusIndex;
20 class debSystem : public pkgSystem
21 {
22    // For locking support
23    int LockFD;
24    unsigned LockCount;
25    bool CheckUpdates();
26    
27    debStatusIndex *StatusFile;
28    
29    public:
30
31    virtual bool Lock();
32    virtual bool UnLock(bool NoErrors = false);   
33    virtual pkgPackageManager *CreatePM(pkgDepCache *Cache) const;
34    virtual bool Initialize(Configuration &Cnf);
35    virtual bool ArchiveSupported(const char *Type);
36    virtual signed Score(Configuration const &Cnf);
37    virtual bool AddStatusFiles(std::vector<pkgIndexFile *> &List);
38    virtual bool FindIndex(pkgCache::PkgFileIterator File,
39                           pkgIndexFile *&Found) const;
40
41    debSystem();
42    ~debSystem();
43 };
44
45 extern debSystem debSys;
46
47 #endif