]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/sourcelist.h
query an empty pkgAcqIndexDiffs if index is up-to-date
[apt.git] / apt-pkg / sourcelist.h
index 1dc50542584cefbad17d1edfc8112857c441bb00..02e27101a64a123443eda5977415825c30e9c019 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: sourcelist.h,v 1.10 2001/03/13 06:51:46 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>
-    
-#ifdef __GNUG__
-#pragma interface "apt-pkg/sourcelist.h"
+
+#ifndef APT_8_CLEANER_HEADERS
+#include <apt-pkg/metaindex.h>
+using std::string;
+using std::vector;
 #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
    {
@@ -66,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();};
@@ -100,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