]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/acquire-item.h
* merged from apt--mvo
[apt.git] / apt-pkg / acquire-item.h
index f9c1b5b2d39e9224d8d5f30c9e921bc1d4bb04c7..3649d7a039bd2e92575ca6fa83954712cab1b88a 100644 (file)
@@ -83,11 +83,22 @@ class pkgAcquire::Item
 };
 
 // item for index diffs
+
+struct DiffInfo {
+   string file;
+   string sha1;
+   unsigned long size;
+};
+
 class pkgAcqDiffIndex : public pkgAcquire::Item
 {
  protected:
    bool Debug;
+   pkgAcquire::ItemDesc Desc;
    string RealURI;
+   string ExpectedMD5;
+   string CurrentPackagesFile;
+   string Description;
 
  public:
    // Specialized action members
@@ -102,7 +113,7 @@ class pkgAcqDiffIndex : public pkgAcquire::Item
    
    pkgAcqDiffIndex(pkgAcquire *Owner,string URI,string URIDesc,
                   string ShortDesct, string ExpectedMD5);
-}
+};
 
 class pkgAcqIndexDiffs : public pkgAcquire::Item
 {
@@ -113,14 +124,7 @@ class pkgAcqIndexDiffs : public pkgAcquire::Item
    string ExpectedMD5;
 
    // this is the SHA-1 sum we expect after the patching
-   string ServerSha1;
-   string CurrentPackagesFile;
    string Description;
-   struct DiffInfo {
-      string file;
-      string sha1;
-      unsigned long size;
-   };
    vector<DiffInfo> available_patches;
    enum {StateFetchIndex,StateFetchDiff,StateUnzipDiff,StateApplyDiff} State;
 
@@ -131,7 +135,6 @@ class pkgAcqIndexDiffs : public pkgAcquire::Item
    virtual void Done(string Message,unsigned long Size,string Md5Hash,
                     pkgAcquire::MethodConfig *Cnf);
    virtual string DescURI() {return RealURI + "Index";};
-   virtual string Custom600Headers();
 
    // various helpers
    bool QueueNextDiff();
@@ -153,6 +156,7 @@ class pkgAcqIndex : public pkgAcquire::Item
    pkgAcquire::ItemDesc Desc;
    string RealURI;
    string ExpectedMD5;
+   string CompressionExtension;
 
    public:
    
@@ -161,7 +165,7 @@ class pkgAcqIndex : public pkgAcquire::Item
    virtual void Done(string Message,unsigned long Size,string Md5Hash,
                     pkgAcquire::MethodConfig *Cnf);
    virtual string Custom600Headers();
-   virtual string DescURI() {return RealURI + ".gz";};
+   virtual string DescURI() {return RealURI + CompressionExtension;};
 
    pkgAcqIndex(pkgAcquire *Owner,string URI,string URIDesc,
               string ShortDesct, string ExpectedMD5, string compressExt="");
@@ -211,8 +215,10 @@ class pkgAcqMetaIndex : public pkgAcquire::Item
    const vector<struct IndexTarget*>* IndexTargets;
    indexRecords* MetaIndexParser;
    bool AuthPass;
+   // required to deal gracefully with problems caused by incorrect ims hits
+   bool IMSHit; 
 
-   bool VerifyVendor();
+   bool VerifyVendor(string Message);
    void RetrievalDone(string Message);
    void AuthDone(string Message);
    void QueueIndexes(bool verify);
@@ -284,9 +290,14 @@ class pkgAcqFile : public pkgAcquire::Item
                     pkgAcquire::MethodConfig *Cnf);
    virtual string MD5Sum() {return Md5Hash;};
    virtual string DescURI() {return Desc.URI;};
-   
-   pkgAcqFile(pkgAcquire *Owner,string URI,string MD5,unsigned long Size,
-                 string Desc,string ShortDesc);
+
+   // If DestFilename is empty, download to DestDir/<basename> if
+   // DestDir is non-empty, $CWD/<basename> otherwise.  If
+   // DestFilename is NOT empty, DestDir is ignored and DestFilename
+   // is the absolute name to which the file should be downloaded.
+   pkgAcqFile(pkgAcquire *Owner, string URI, string MD5, unsigned long Size,
+             string Desc, string ShortDesc,
+             const string &DestDir="", const string &DestFilename="");
 };
 
 #endif