X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/468126e3030ac3db47e4c7d361badf99c338fdf4..3383ef4d30b3fb1057e21f5598d3128b9afbe34d:/apt-inst/deb/debfile.h diff --git a/apt-inst/deb/debfile.h b/apt-inst/deb/debfile.h index 6b9f8ffc8..02ebaae2e 100644 --- a/apt-inst/deb/debfile.h +++ b/apt-inst/deb/debfile.h @@ -25,9 +25,20 @@ #include -#include #include #include +#include + +#include + +#ifndef APT_8_CLEANER_HEADERS +#include +#endif +#ifndef APT_10_CLEANER_HEADERS +#include +#endif + +class FileFd; class debDebFile { @@ -39,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;}; @@ -56,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 @@ -68,20 +77,19 @@ class debDebFile::MemControlExtract : public pkgDirStream char *Control; pkgTagSection Section; unsigned long Length; - string Member; + 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(string Member) : IsControl(false), Control(0), Length(0), Member(Member) {}; + MemControlExtract(std::string Member) : IsControl(false), Control(0), Length(0), Member(Member) {}; ~MemControlExtract() {delete [] Control;}; }; /*}}}*/