]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/pkgsystem.h
debian/NEWS: Mention new pinning algorithm added in 2.0~exp1
[apt.git] / apt-pkg / pkgsystem.h
index eb75df412d2e26981eb98435f68c7e06c104910e..5b31457e0bf8c71303b9b996d2a816c662eee3ef 100644 (file)
@@ -1,6 +1,5 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: pkgsystem.h,v 1.6 2002/11/11 06:55:50 doogie Exp $
 /* ######################################################################
 
    System - Abstraction for running on different systems.
@@ -38,6 +37,7 @@
 #define PKGLIB_PKGSYSTEM_H
 
 #include <apt-pkg/pkgcache.h>
+#include <apt-pkg/cacheiterators.h>
 
 #include <vector>
 
@@ -50,10 +50,9 @@ class pkgPackageManager;
 class pkgVersioningSystem;
 class Configuration;
 class pkgIndexFile;
-class PkgFileIterator;
 
 class pkgSystem
-{   
+{
    public:
 
    // Global list of supported systems
@@ -61,8 +60,8 @@ class pkgSystem
    static unsigned long GlobalListLen;
    static pkgSystem *GetSystem(const char *Label);
    
-   const char *Label;
-   pkgVersioningSystem *VS;
+   const char * const Label;
+   pkgVersioningSystem * const VS;
    
    /* Prevent other programs from touching shared data not covered by
       other locks (cache or state locks) */
@@ -82,16 +81,21 @@ class pkgSystem
    virtual bool ArchiveSupported(const char *Type) = 0;
 
    // Return a list of system index files..
-   virtual bool AddStatusFiles(std::vector<pkgIndexFile *> &List) = 0;   
+   virtual bool AddStatusFiles(std::vector<pkgIndexFile *> &List) = 0;
+
    virtual bool FindIndex(pkgCache::PkgFileIterator File,
                          pkgIndexFile *&Found) const = 0;
-   
+
    /* Evauluate how 'right' we are for this system based on the filesystem
       etc.. */
-   virtual signed Score(Configuration const &/*Cnf*/) {return 0;};
-   
-   pkgSystem();
-   virtual ~pkgSystem() {};
+   virtual signed Score(Configuration const &/*Cnf*/) {
+      return 0;
+   };
+
+   pkgSystem(char const * const Label, pkgVersioningSystem * const VS);
+   virtual ~pkgSystem();
+   private:
+   void * const d;
 };
 
 // The environment we are operating in.