Join with aliencode
[ntk/apt.git] / apt-pkg / acquire-item.h
index e5e7c70..3d41197 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: acquire-item.h,v 1.17 1999/03/27 03:02:38 jgg Exp $
+// $Id: acquire-item.h,v 1.25 2001/02/20 07:03:17 jgg Exp $
 /* ######################################################################
 
    Acquire Item - Item to acquire
@@ -21,7 +21,7 @@
 #define PKGLIB_ACQUIRE_ITEM_H
 
 #include <apt-pkg/acquire.h>
-#include <apt-pkg/sourcelist.h>
+#include <apt-pkg/indexfile.h>
 #include <apt-pkg/pkgrecords.h>
 
 #ifdef __GNUG__
@@ -49,7 +49,7 @@ class pkgAcquire::Item
    string ErrorText;
    unsigned long FileSize;
    unsigned long PartialSize;   
-   char *Mode;
+   const char *Mode;
    unsigned long ID;
    bool Complete;
    bool Local;
@@ -62,14 +62,17 @@ class pkgAcquire::Item
 
    // Action members invoked by the worker
    virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf);
-   virtual void Done(string Message,unsigned long Size,string Md5Hash);
+   virtual void Done(string Message,unsigned long Size,string Md5Hash,
+                    pkgAcquire::MethodConfig *Cnf);
    virtual void Start(string Message,unsigned long Size);
    virtual string Custom600Headers() {return string();};
+   virtual string DescURI() = 0;
+   virtual void Finished() {};
    
    // Inquire functions
    virtual string MD5Sum() {return string();};
-   virtual string Describe() = 0;
-         
+   pkgAcquire *GetOwner() {return Owner;};
+   
    Item(pkgAcquire *Owner);
    virtual ~Item();
 };
@@ -79,19 +82,21 @@ class pkgAcqIndex : public pkgAcquire::Item
 {
    protected:
    
-   const pkgSourceList::Item *Location;
    bool Decompression;
    bool Erase;
    pkgAcquire::ItemDesc Desc;
+   string RealURI;
    
    public:
    
    // Specialized action members
-   virtual void Done(string Message,unsigned long Size,string Md5Hash);   
+   virtual void Done(string Message,unsigned long Size,string Md5Hash,
+                    pkgAcquire::MethodConfig *Cnf);
    virtual string Custom600Headers();
-   virtual string Describe();
+   virtual string DescURI() {return RealURI;};
 
-   pkgAcqIndex(pkgAcquire *Owner,const pkgSourceList::Item *Location);
+   pkgAcqIndex(pkgAcquire *Owner,string URI,string URIDesc,
+              string ShortDesct);
 };
 
 // Item class for index files
@@ -99,18 +104,20 @@ class pkgAcqIndexRel : public pkgAcquire::Item
 {
    protected:
    
-   const pkgSourceList::Item *Location;
    pkgAcquire::ItemDesc Desc;
+   string RealURI;
    
    public:
    
    // Specialized action members
    virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf);
-   virtual void Done(string Message,unsigned long Size,string Md5Hash);   
+   virtual void Done(string Message,unsigned long Size,string Md5Hash,
+                    pkgAcquire::MethodConfig *Cnf);   
    virtual string Custom600Headers();
-   virtual string Describe();
+   virtual string DescURI() {return RealURI;};
    
-   pkgAcqIndexRel(pkgAcquire *Owner,const pkgSourceList::Item *Location);
+   pkgAcqIndexRel(pkgAcquire *Owner,string URI,string URIDesc,
+              string ShortDesct);
 };
 
 // Item class for archive files
@@ -135,13 +142,35 @@ class pkgAcqArchive : public pkgAcquire::Item
    
    // Specialized action members
    virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf);
-   virtual void Done(string Message,unsigned long Size,string Md5Hash);
-   virtual string Describe();
+   virtual void Done(string Message,unsigned long Size,string Md5Hash,
+                    pkgAcquire::MethodConfig *Cnf);
    virtual string MD5Sum() {return MD5;};
+   virtual string DescURI() {return Desc.URI;};
+   virtual void Finished();
    
    pkgAcqArchive(pkgAcquire *Owner,pkgSourceList *Sources,
                 pkgRecords *Recs,pkgCache::VerIterator const &Version,
                 string &StoreFilename);
 };
 
+// Fetch a generic file to the current directory
+class pkgAcqFile : public pkgAcquire::Item
+{
+   pkgAcquire::ItemDesc Desc;
+   string Md5Hash;
+   unsigned int Retries;
+   
+   public:
+   
+   // Specialized action members
+   virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf);
+   virtual void Done(string Message,unsigned long Size,string Md5Hash,
+                    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);
+};
+
 #endif