X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/a1e68c33ac15be454984b00d62c7fc331bd0b32b..3383ef4d30b3fb1057e21f5598d3128b9afbe34d:/apt-inst/deb/debfile.h diff --git a/apt-inst/deb/debfile.h b/apt-inst/deb/debfile.h index 2c4734f9e..02ebaae2e 100644 --- a/apt-inst/deb/debfile.h +++ b/apt-inst/deb/debfile.h @@ -27,10 +27,18 @@ #include #include #include +#include + +#include + +#ifndef APT_8_CLEANER_HEADERS +#include +#endif +#ifndef APT_10_CLEANER_HEADERS #include +#endif class FileFd; -class pkgDataBase; class debDebFile { @@ -42,13 +50,11 @@ class debDebFile bool CheckMember(const char *Name); public: - class ControlExtract; class MemControlExtract; - - bool ExtractControl(pkgDataBase &DB); + + bool ExtractTarMember(pkgDirStream &Stream, const char *Name); bool ExtractArchive(pkgDirStream &Stream); - pkgCache::VerIterator MergeControl(pkgDataBase &DB); const ARArchive::Member *GotoMember(const char *Name); inline FileFd &GetFile() {return File;}; @@ -59,7 +65,7 @@ class debDebFile::ControlExtract : public pkgDirStream { public: - virtual bool DoItem(Item &Itm,int &Fd); + virtual bool DoItem(Item &Itm,int &Fd) APT_OVERRIDE; }; class debDebFile::MemControlExtract : public pkgDirStream @@ -74,15 +80,14 @@ class debDebFile::MemControlExtract : public pkgDirStream std::string Member; // Members from DirStream - virtual bool DoItem(Item &Itm,int &Fd); + virtual bool DoItem(Item &Itm,int &Fd) APT_OVERRIDE; virtual bool Process(Item &Itm,const unsigned char *Data, - unsigned long Size,unsigned long Pos); - + unsigned long long Size,unsigned long long Pos) APT_OVERRIDE; // Helpers bool Read(debDebFile &Deb); - bool TakeControl(const void *Data,unsigned long Size); - + bool TakeControl(const void *Data,unsigned long long Size); + MemControlExtract() : IsControl(false), Control(0), Length(0), Member("control") {}; MemControlExtract(std::string Member) : IsControl(false), Control(0), Length(0), Member(Member) {}; ~MemControlExtract() {delete [] Control;};