]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/sourcelist.h
fix foldmarker in algorithms.h
[apt.git] / apt-pkg / sourcelist.h
index 1dc50542584cefbad17d1edfc8112857c441bb00..4509e54b9bbc7afde6e6a0c2c0e79e3c437fd99f 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>
+
+using std::string;
+using std::vector;
     
     
-#ifdef __GNUG__
-#pragma interface "apt-pkg/sourcelist.h"
-#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
    {
@@ -67,30 +58,31 @@ class pkgSourceList
       const char *Label;
 
       bool FixupURI(string &URI) const;
       const char *Label;
 
       bool FixupURI(string &URI) const;
-      virtual bool ParseLine(vector<pkgIndexFile *> &List,
-                            Vendor const *Vendor,
+      virtual bool ParseLine(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,string const &File) const;
+      virtual bool CreateItem(vector<metaIndex *> &List,string const &URI,
+                             string const &Dist,string const &Section,
+                             std::map<string, string> const &Options) const = 0;
       Type();
       virtual ~Type() {};
    };
    
       Type();
       virtual ~Type() {};
    };
    
-   typedef vector<pkgIndexFile *>::const_iterator const_iterator;
+   typedef vector<metaIndex *>::const_iterator const_iterator;
    
    protected:
 
    
    protected:
 
-   vector<pkgIndexFile *> SrcList;
-   vector<Vendor const *> VendorList;
+   vector<metaIndex *> SrcList;
    
    public:
 
    bool ReadMainList();
    bool Read(string File);
    
    public:
 
    bool ReadMainList();
    bool Read(string File);
-   bool ReadVendors();
+
+   // CNC:2003-03-03
+   void Reset();
+   bool ReadAppend(string File);
+   bool ReadSourceDir(string Dir);
    
    // List accessors
    inline const_iterator begin() const {return SrcList.begin();};
    
    // List accessors
    inline const_iterator begin() const {return SrcList.begin();};
@@ -100,10 +92,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(string File);
+   ~pkgSourceList();      
 };
 
 #endif
 };
 
 #endif