]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/acquire-item.h
Archive acquire code
[apt.git] / apt-pkg / acquire-item.h
index 352fc3e2419317cd46791198b53a1e634f7b3adc..2de1e409ea75c45edfb44ee3dc4a3c62bf9deb3b 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: acquire-item.h,v 1.3 1998/10/24 04:57:57 jgg Exp $
+// $Id: acquire-item.h,v 1.8 1998/11/13 04:23:28 jgg Exp $
 /* ######################################################################
 
    Acquire Item - Item to acquire
@@ -19,6 +19,7 @@
 
 #include <apt-pkg/acquire.h>
 #include <apt-pkg/sourcelist.h>
+#include <apt-pkg/pkgrecords.h>
 
 #ifdef __GNUG__
 #pragma interface "apt-pkg/acquire-item.h"
@@ -30,14 +31,20 @@ class pkgAcquire::Item
    protected:
    
    pkgAcquire *Owner;
-   inline void QueueURI(string URI,string Description) 
-                 {Owner->Enqueue(this,URI,Description);};
+   inline void QueueURI(ItemDesc &Item)
+                 {Owner->Enqueue(Item);};
+   
+   void Rename(string From,string To);
    
    public:
 
    // State of the item
    enum {StatIdle, StatFetching, StatDone, StatError} Status;
    string ErrorText;
+   unsigned long FileSize;
+   char *Mode;
+   unsigned long ID;
+   bool Complete;
    
    // Number of queues we are inserted into
    unsigned int QueueCounter;
@@ -47,6 +54,7 @@ class pkgAcquire::Item
    
    virtual void Failed(string Message);
    virtual void Done(string Message,unsigned long Size,string Md5Hash);
+   virtual void Start(string Message,unsigned long Size);
 
    virtual string Custom600Headers() {return string();};
       
@@ -60,9 +68,13 @@ class pkgAcqIndex : public pkgAcquire::Item
    protected:
    
    const pkgSourceList::Item *Location;
+   bool Decompression;
+   bool Erase;
+   pkgAcquire::ItemDesc Desc;
    
    public:
    
+   virtual void Done(string Message,unsigned long Size,string Md5Hash);   
    virtual string Custom600Headers();
 
    pkgAcqIndex(pkgAcquire *Owner,const pkgSourceList::Item *Location);
@@ -74,14 +86,33 @@ class pkgAcqIndexRel : public pkgAcquire::Item
    protected:
    
    const pkgSourceList::Item *Location;
+   pkgAcquire::ItemDesc Desc;
    
    public:
    
-   virtual void Done(string Message,unsigned long Size,string Md5Hash);
-   
+   virtual void Done(string Message,unsigned long Size,string Md5Hash);   
    virtual string Custom600Headers();
    
    pkgAcqIndexRel(pkgAcquire *Owner,const pkgSourceList::Item *Location);
 };
 
+// Item class for archive files
+class pkgAcqArchive : public pkgAcquire::Item
+{
+   protected:
+   
+   pkgCache::VerIterator Version;
+   pkgAcquire::ItemDesc Desc;
+   pkgSourceList *Sources;
+   pkgRecords *Recs;
+   string MD5;
+   
+   public:
+   
+   virtual void Done(string Message,unsigned long Size,string Md5Hash);
+   
+   pkgAcqArchive(pkgAcquire *Owner,pkgSourceList *Sources,
+                pkgRecords *Recs,pkgCache::VerIterator const &Version);
+};
+
 #endif