X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/e331f6edcb86e6acb2888ec0721e55bf43e10bc2..e75f306ea9596c82e3b0c188e9b5203fc9d619da:/apt-pkg/acquire-method.h diff --git a/apt-pkg/acquire-method.h b/apt-pkg/acquire-method.h index 69ed279e2..f46209d12 100644 --- a/apt-pkg/acquire-method.h +++ b/apt-pkg/acquire-method.h @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: acquire-method.h,v 1.3 1998/11/14 01:39:43 jgg Exp $ +// $Id: acquire-method.h,v 1.15.2.1 2003/12/24 23:09:17 mdz Exp $ /* ###################################################################### Acquire Method - Method helper class + functions @@ -14,12 +14,13 @@ #define PKGLIB_ACQUIRE_METHOD_H #include -#include +#include #ifdef __GNUG__ #pragma interface "apt-pkg/acquire-method.h" #endif +class Hashes; class pkgAcqMethod { protected: @@ -31,43 +32,55 @@ class pkgAcqMethod string Uri; string DestFile; time_t LastModified; + bool IndexFile; }; struct FetchResult { string MD5Sum; + string SHA1Sum; + vector GPGVOutput; time_t LastModified; bool IMSHit; string Filename; unsigned long Size; - unsigned long ResumePoint; + unsigned long ResumePoint; + + void TakeHashes(Hashes &Hash); FetchResult(); }; // State vector Messages; FetchItem *Queue; - + FetchItem *QueueBack; + string FailExtra; + // Handlers for messages virtual bool Configuration(string Message); - virtual bool Fetch(FetchItem *Item) {return true;}; + virtual bool Fetch(FetchItem * /*Item*/) {return true;}; // Outgoing messages - void Fail(); - void Fail(string Why); + void Fail(bool Transient = false); + inline void Fail(const char *Why, bool Transient = false) {Fail(string(Why),Transient);}; + void Fail(string Why, bool Transient = false); void URIStart(FetchResult &Res); void URIDone(FetchResult &Res,FetchResult *Alt = 0); - + bool MediaFail(string Required,string Drive); + virtual void Exit() {}; + public: - - enum CnfFlags {SingleInstance = (1<<0), PreScan = (1<<1), - Pipeline = (1<<2), SendConfig = (1<<3), - LocalOnly = (1<<4)}; + + enum CnfFlags {SingleInstance = (1<<0), + Pipeline = (1<<1), SendConfig = (1<<2), + LocalOnly = (1<<3), NeedsCleanup = (1<<4), + Removable = (1<<5)}; void Log(const char *Format,...); void Status(const char *Format,...); int Run(bool Single = false); + inline void SetFailExtraMsg(string Msg) {FailExtra = Msg;}; pkgAcqMethod(const char *Ver,unsigned long Flags = 0); virtual ~pkgAcqMethod() {};