X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/d4273c55e34cdf5a355b4edd92df61a83cfab318..68ba0b7f4e1c03edfb6f621e7e7314ea610af96b:/apt-pkg/acquire-method.h diff --git a/apt-pkg/acquire-method.h b/apt-pkg/acquire-method.h index 00f99e0a0..48bd95672 100644 --- a/apt-pkg/acquire-method.h +++ b/apt-pkg/acquire-method.h @@ -20,7 +20,11 @@ #ifndef PKGLIB_ACQUIRE_METHOD_H #define PKGLIB_ACQUIRE_METHOD_H +#include +#include + #include +#include #include #include @@ -30,7 +34,6 @@ #include #endif -class Hashes; class pkgAcqMethod { protected: @@ -44,14 +47,16 @@ class pkgAcqMethod time_t LastModified; bool IndexFile; bool FailIgnore; + HashStringList ExpectedHashes; + // a maximum size we will download, this can be the exact filesize + // for when we know it or a arbitrary limit when we don't know the + // filesize (like a InRelease file) + unsigned long long MaximumSize; }; struct FetchResult { - std::string MD5Sum; - std::string SHA1Sum; - std::string SHA256Sum; - std::string SHA512Sum; + HashStringList Hashes; std::vector GPGVOutput; time_t LastModified; bool IMSHit; @@ -59,7 +64,7 @@ class pkgAcqMethod unsigned long long Size; unsigned long long ResumePoint; - void TakeHashes(Hashes &Hash); + void TakeHashes(class Hashes &Hash); FetchResult(); }; @@ -103,10 +108,10 @@ class pkgAcqMethod inline void SetIP(std::string aIP) {IP = aIP;}; pkgAcqMethod(const char *Ver,unsigned long Flags = 0); - virtual ~pkgAcqMethod() {}; - + virtual ~pkgAcqMethod(); + void DropPrivsOrDie(); private: - void Dequeue(); + APT_HIDDEN void Dequeue(); }; /** @} */