X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/93bf083d699c60f1ac40297bfa6783fb0cb800d8..bebdca4bf63ae661c60bc1e0f4e03e6bbb7a7cc5:/apt-pkg/acquire-method.h diff --git a/apt-pkg/acquire-method.h b/apt-pkg/acquire-method.h index 74489913f..6aabcb91d 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.1 1998/10/30 07:53:35 jgg Exp $ +// $Id: acquire-method.h,v 1.10 1999/01/27 02:48:52 jgg Exp $ /* ###################################################################### Acquire Method - Method helper class + functions @@ -14,7 +14,7 @@ #define PKGLIB_ACQUIRE_METHOD_H #include -#include +#include #ifdef __GNUG__ #pragma interface "apt-pkg/acquire-method.h" @@ -23,12 +23,16 @@ class pkgAcqMethod { protected: - - string CurrentURI; - string DestFile; - time_t LastModified; - vector Messages; + struct FetchItem + { + FetchItem *Next; + + string Uri; + string DestFile; + time_t LastModified; + bool IndexFile; + }; struct FetchResult { @@ -37,26 +41,37 @@ class pkgAcqMethod bool IMSHit; string Filename; unsigned long Size; + unsigned long ResumePoint; FetchResult(); }; - + + // State + vector Messages; + FetchItem *Queue; + FetchItem *QueueBack; + // Handlers for messages virtual bool Configuration(string Message); - virtual bool Fetch(string Message,URI Get) {return true;}; + virtual bool Fetch(FetchItem *Item) {return true;}; // Outgoing messages - void Fail(); - void Fail(string Why); -// void Log(const char *Format,...); - void URIStart(FetchResult &Res,unsigned long Resume = 0); + 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); - - public: + bool MediaFail(string Required,string Drive); - enum CnfFlags {SingleInstance = (1<<0), PreScan = (1<<1), - Pipeline = (1<<2), SendConfig = (1<<3)}; + public: + + enum CnfFlags {SingleInstance = (1<<0), + Pipeline = (1<<1), SendConfig = (1<<2), + LocalOnly = (1<<3)}; - int Run(); + void Log(const char *Format,...); + void Status(const char *Format,...); + + int Run(bool Single = false); pkgAcqMethod(const char *Ver,unsigned long Flags = 0); virtual ~pkgAcqMethod() {};