X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/f3f7e00a6269af5d3d0ce3785765dc562be7941d..1d51f78e9d128191ff8b2d48e42d90ebdbff2588:/apt-pkg/acquire-method.h diff --git a/apt-pkg/acquire-method.h b/apt-pkg/acquire-method.h index e02eab018..72efa8065 100644 --- a/apt-pkg/acquire-method.h +++ b/apt-pkg/acquire-method.h @@ -23,6 +23,7 @@ #include #include +#include class Hashes; class pkgAcqMethod @@ -37,6 +38,7 @@ class pkgAcqMethod string DestFile; time_t LastModified; bool IndexFile; + bool FailIgnore; }; struct FetchResult @@ -59,7 +61,9 @@ class pkgAcqMethod vector Messages; FetchItem *Queue; FetchItem *QueueBack; - string FailExtra; + string FailReason; + string UsedMirror; + string IP; // Handlers for messages virtual bool Configuration(string Message); @@ -68,14 +72,16 @@ class pkgAcqMethod // Outgoing messages 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); + virtual void Fail(string Why, bool Transient = false); + virtual void URIStart(FetchResult &Res); + virtual void URIDone(FetchResult &Res,FetchResult *Alt = 0); + bool MediaFail(string Required,string Drive); virtual void Exit() {}; - public: + void PrintStatus(char const * const header, const char* Format, va_list &args) const; + public: enum CnfFlags {SingleInstance = (1<<0), Pipeline = (1<<1), SendConfig = (1<<2), LocalOnly = (1<<3), NeedsCleanup = (1<<4), @@ -84,8 +90,11 @@ class pkgAcqMethod void Log(const char *Format,...); void Status(const char *Format,...); + void Redirect(const string &NewURI); + int Run(bool Single = false); - inline void SetFailExtraMsg(string Msg) {FailExtra = Msg;}; + inline void SetFailReason(string Msg) {FailReason = Msg;}; + inline void SetIP(string aIP) {IP = aIP;}; pkgAcqMethod(const char *Ver,unsigned long Flags = 0); virtual ~pkgAcqMethod() {};