| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- // -*- mode: cpp; mode: fold -*-
- // Description /*{{{*/
- // $Id: acquire-item.h,v 1.9 1998/11/13 07:08:50 jgg Exp $
- /* ######################################################################
- Acquire Item - Item to acquire
- When an item is instantiated it will add it self to the local list in
- the Owner Acquire class. Derived classes will then call QueueURI to
- register all the URI's they wish to fetch for at the initial moment.
-
- Two item classes are provided to provide functionality for downloading
- of Index files and downloading of Packages.
-
- ##################################################################### */
- /*}}}*/
- #ifndef PKGLIB_ACQUIRE_ITEM_H
- #define PKGLIB_ACQUIRE_ITEM_H
- #include <apt-pkg/acquire.h>
- #include <apt-pkg/sourcelist.h>
- #include <apt-pkg/pkgrecords.h>
- #ifdef __GNUG__
- #pragma interface "apt-pkg/acquire-item.h"
- #endif
- // Item to acquire
- class pkgAcquire::Item
- {
- protected:
-
- pkgAcquire *Owner;
- 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;
- bool Local;
-
- // Number of queues we are inserted into
- unsigned int QueueCounter;
-
- // File to write the fetch into
- string DestFile;
-
- 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();};
-
- Item(pkgAcquire *Owner);
- virtual ~Item();
- };
- // Item class for index files
- 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);
- };
- // Item class for index files
- 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 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
|