X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/a2ec4d22dd77a363cd5b1f8b55ed34ba88331396..0d303f1764645284b33924c9be8bf29f0a32ca5c:/methods/mirror.h diff --git a/methods/mirror.h b/methods/mirror.h index ed817806b..6c0ce370e 100644 --- a/methods/mirror.h +++ b/methods/mirror.h @@ -3,7 +3,7 @@ // $Id: http.h,v 1.12 2002/04/18 05:09:38 jgg Exp $ /* ###################################################################### - MIRROR Aquire Method - This is the MIRROR aquire method for APT. + MIRROR Acquire Method - This is the MIRROR acquire method for APT. ##################################################################### */ /*}}}*/ @@ -11,8 +11,11 @@ #ifndef APT_MIRROR_H #define APT_MIRROR_H +#include #include +#include +#include using std::cout; using std::cerr; @@ -24,24 +27,29 @@ class MirrorMethod : public HttpMethod { FetchResult Res; // we simply transform between BaseUri and Mirror - string BaseUri; // the original mirror://... url - string Mirror; // the selected mirror uri (http://...) - string MirrorFile; // the file that contains the list of mirrors + std::string BaseUri; // the original mirror://... url + std::string Mirror; // the selected mirror uri (http://...) + std::vector AllMirrors; // all available mirrors + std::string MirrorFile; // the file that contains the list of mirrors bool DownloadedMirrorFile; // already downloaded this session + std::string Dist; // the target distrubtion (e.g. sid, oneiric) bool Debug; protected: - bool DownloadMirrorFile(string uri); - string GetMirrorFileName(string uri); - bool SelectMirror(); - bool Clean(string dir); + bool DownloadMirrorFile(std::string uri); + bool RandomizeMirrorFile(std::string file); + std::string GetMirrorFileName(std::string uri); + bool InitMirrors(); + bool TryNextMirror(); + void CurrentQueueUriToMirror(); + bool Clean(std::string dir); // we need to overwrite those to transform the url back - virtual void Fail(string Why, bool Transient = false); + virtual void Fail(std::string Why, bool Transient = false); virtual void URIStart(FetchResult &Res); virtual void URIDone(FetchResult &Res,FetchResult *Alt = 0); - virtual bool Configuration(string Message); + virtual bool Configuration(std::string Message); public: MirrorMethod();