]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/sourcelist.h
merge patch from Daniel Hartwig to Show a error message if {,dist-}upgrade is used...
[apt.git] / apt-pkg / sourcelist.h
index 8e0cb7aa30b1ecb87e1cfa01c07757916b5af2e4..02e27101a64a123443eda5977415825c30e9c019 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: sourcelist.h,v 1.11 2001/05/07 04:24:08 jgg Exp $
+// $Id: sourcelist.h,v 1.12.2.1 2003/12/24 23:09:17 mdz Exp $
 /* ######################################################################
 
    SourceList - Manage a list of sources
 /* ######################################################################
 
    SourceList - Manage a list of sources
@@ -20,7 +20,7 @@
    
    The vendor machanism is similar, except the vendor types are hard 
    wired. Before loading the source list the vendor list is loaded.
    
    The vendor machanism is similar, except the vendor types are hard 
    wired. Before loading the source list the vendor list is loaded.
-   This doesn't load key data, just the checks to preform.
+   This doesn't load key data, just the checks to perform.
    
    ##################################################################### */
                                                                        /*}}}*/
    
    ##################################################################### */
                                                                        /*}}}*/
 
 #include <string>
 #include <vector>
 
 #include <string>
 #include <vector>
+#include <map>
 #include <apt-pkg/pkgcache.h>
 #include <apt-pkg/pkgcache.h>
-#include <apt-pkg/indexfile.h>
 
 
+#ifndef APT_8_CLEANER_HEADERS
+#include <apt-pkg/metaindex.h>
 using std::string;
 using std::vector;
 using std::string;
 using std::vector;
-    
-#ifdef __GNUG__
-#pragma interface "apt-pkg/sourcelist.h"
 #endif
 
 #endif
 
-class pkgAquire;
+class pkgAcquire;
+class pkgIndexFile;
+class metaIndex;
+
 class pkgSourceList
 {
    public:
    
 class pkgSourceList
 {
    public:
    
-   // An available vendor
-   struct Vendor
-   {
-      string VendorID;
-      string FingerPrint;
-      string Description;
-
-      /* Lets revisit these..
-      bool MatchFingerPrint(string FingerPrint);
-      string FingerPrintDescr();*/
-   };
-   
    // List of supported source list types
    class Type
    {
    // List of supported source list types
    class Type
    {
@@ -69,31 +59,32 @@ class pkgSourceList
       const char *Name;
       const char *Label;
 
       const char *Name;
       const char *Label;
 
-      bool FixupURI(string &URI) const;
-      virtual bool ParseLine(vector<pkgIndexFile *> &List,
-                            Vendor const *Vendor,
+      bool FixupURI(std::string &URI) const;
+      virtual bool ParseLine(std::vector<metaIndex *> &List,
                             const char *Buffer,
                             const char *Buffer,
-                            unsigned long CurLine,string File) const;
-      virtual bool CreateItem(vector<pkgIndexFile *> &List,string URI,
-                             string Dist,string Section,
-                             Vendor const *Vendor) const = 0;
-
+                            unsigned long const &CurLine,std::string const &File) const;
+      virtual bool CreateItem(std::vector<metaIndex *> &List,std::string const &URI,
+                             std::string const &Dist,std::string const &Section,
+                             std::map<std::string, std::string> const &Options) const = 0;
       Type();
       virtual ~Type() {};
    };
    
       Type();
       virtual ~Type() {};
    };
    
-   typedef vector<pkgIndexFile *>::const_iterator const_iterator;
+   typedef std::vector<metaIndex *>::const_iterator const_iterator;
    
    protected:
 
    
    protected:
 
-   vector<pkgIndexFile *> SrcList;
-   vector<Vendor const *> VendorList;
+   std::vector<metaIndex *> SrcList;
    
    public:
 
    bool ReadMainList();
    
    public:
 
    bool ReadMainList();
-   bool Read(string File);
-   bool ReadVendors();
+   bool Read(std::string File);
+
+   // CNC:2003-03-03
+   void Reset();
+   bool ReadAppend(std::string File);
+   bool ReadSourceDir(std::string Dir);
    
    // List accessors
    inline const_iterator begin() const {return SrcList.begin();};
    
    // List accessors
    inline const_iterator begin() const {return SrcList.begin();};
@@ -103,10 +94,14 @@ class pkgSourceList
 
    bool FindIndex(pkgCache::PkgFileIterator File,
                  pkgIndexFile *&Found) const;
 
    bool FindIndex(pkgCache::PkgFileIterator File,
                  pkgIndexFile *&Found) const;
-   bool GetIndexes(pkgAcquire *Owner) const;
+   bool GetIndexes(pkgAcquire *Owner, bool GetAll=false) const;
    
    
+   // query last-modified time
+   time_t GetLastModifiedTime();
+
    pkgSourceList();
    pkgSourceList();
-   pkgSourceList(string File);   
+   pkgSourceList(std::string File);
+   ~pkgSourceList();      
 };
 
 #endif
 };
 
 #endif