diff options
author | Michael Vogt <michael.vogt@ubuntu.com> | 2010-09-03 14:04:50 +0200 |
---|---|---|
committer | Michael Vogt <michael.vogt@ubuntu.com> | 2010-09-03 14:04:50 +0200 |
commit | 0205540433440a9ff4ad4ea4cce44c700a4b401c (patch) | |
tree | 97809e2e38482d3d7f124b30552a0936adf4d405 /methods/mirror.h | |
parent | 24baab5c477bf1e57a0b169a7bac1d2e9ab0c974 (diff) | |
parent | 2c6baa5a1f935eb3b8d4eb9fdef62e696416e27a (diff) |
merged from lp:~donkult/apt/sid
Diffstat (limited to 'methods/mirror.h')
-rw-r--r-- | methods/mirror.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/methods/mirror.h b/methods/mirror.h new file mode 100644 index 000000000..0a3ea6e92 --- /dev/null +++ b/methods/mirror.h @@ -0,0 +1,55 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/// $Id: http.h,v 1.12 2002/04/18 05:09:38 jgg Exp $ +// $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. + + ##################################################################### */ + /*}}}*/ + +#ifndef APT_MIRROR_H +#define APT_MIRROR_H + + +#include <iostream> + +using std::cout; +using std::cerr; +using std::endl; + +#include "http.h" + +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://...) + vector<string> AllMirrors; // all available mirrors + string MirrorFile; // the file that contains the list of mirrors + bool DownloadedMirrorFile; // already downloaded this session + + bool Debug; + + protected: + bool DownloadMirrorFile(string uri); + string GetMirrorFileName(string uri); + bool InitMirrors(); + bool TryNextMirror(); + void CurrentQueueUriToMirror(); + bool Clean(string dir); + + // we need to overwrite those to transform the url back + virtual void Fail(string Why, bool Transient = false); + virtual void URIStart(FetchResult &Res); + virtual void URIDone(FetchResult &Res,FetchResult *Alt = 0); + virtual bool Configuration(string Message); + + public: + MirrorMethod(); + virtual bool Fetch(FetchItem *Itm); +}; + + +#endif |