X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/245dde96193702f7f51389d3583dee547f8ba366..258b9e512c4001e806c5c0966acecd3d742ec6e9:/ftparchive/writer.h diff --git a/ftparchive/writer.h b/ftparchive/writer.h index 0ba60db5e..ea4c66da4 100644 --- a/ftparchive/writer.h +++ b/ftparchive/writer.h @@ -40,6 +40,7 @@ class FTWScanner protected: vector Patterns; string Arch; + bool IncludeArchAll; const char *OriginalPath; bool ErrorPrinted; @@ -64,6 +65,7 @@ class FTWScanner public: FileFd *Output; + bool OwnsOutput; unsigned int DoHashes; unsigned long DeLinkLimit; @@ -78,8 +80,8 @@ class FTWScanner void AddPatterns(std::vector const &patterns) { Patterns.insert(Patterns.end(), patterns.begin(), patterns.end()); }; bool SetExts(string const &Vals); - FTWScanner(FileFd * const Output, string const &Arch = string()); - virtual ~FTWScanner() {}; + FTWScanner(FileFd * const Output, string const &Arch = string(), bool const IncludeArchAll = true); + virtual ~FTWScanner(); }; class MultiCompress; @@ -88,17 +90,12 @@ class TranslationWriter { MultiCompress *Comp; std::set Included; - unsigned short RefCounter; FileFd *Output; public: - void IncreaseRefCounter() { ++RefCounter; }; - unsigned short DecreaseRefCounter() { return (RefCounter == 0) ? 0 : --RefCounter; }; - unsigned short GetRefCounter() const { return RefCounter; }; bool DoPackage(string const &Pkg, string const &Desc, string const &MD5); TranslationWriter(string const &File, string const &TransCompress, mode_t const &Permissions); - TranslationWriter() : Comp(NULL), RefCounter(0) {}; ~TranslationWriter(); }; @@ -119,18 +116,19 @@ class PackagesWriter : public FTWScanner string PathPrefix; string DirStrip; struct CacheDB::Stats &Stats; - TranslationWriter *TransWriter; + TranslationWriter * const TransWriter; inline bool ReadOverride(string const &File) {return Over.ReadOverride(File);}; inline bool ReadExtraOverride(string const &File) {return Over.ReadExtraOverride(File);}; - virtual bool DoPackage(string FileName); + virtual bool DoPackage(string FileName) APT_OVERRIDE; - PackagesWriter(FileFd * const Output, string const &DB, + PackagesWriter(FileFd * const Output, TranslationWriter * const TransWriter, string const &DB, string const &Overrides, string const &ExtOverrides = "", - string const &Arch = ""); - virtual ~PackagesWriter() {}; + string const &Arch = "", + bool const IncludeArchAll = true); + virtual ~PackagesWriter(); }; class ContentsWriter : public FTWScanner @@ -146,14 +144,15 @@ class ContentsWriter : public FTWScanner string Prefix; bool DoPackage(string FileName,string Package); - virtual bool DoPackage(string FileName) + virtual bool DoPackage(string FileName) APT_OVERRIDE {return DoPackage(FileName,string());}; bool ReadFromPkgs(string const &PkgFile,string const &PkgCompress); void Finish() {Gen.Print(*Output);}; inline bool ReadyDB(string const &DB) {return Db.ReadyDB(DB);}; - ContentsWriter(FileFd * const Output, string const &DB, string const &Arch = string()); + ContentsWriter(FileFd * const Output, string const &DB, string const &Arch = string(), + bool const IncludeArchAll = true); virtual ~ContentsWriter() {}; }; @@ -175,7 +174,7 @@ class SourcesWriter : public FTWScanner string DirStrip; struct CacheDB::Stats &Stats; - virtual bool DoPackage(string FileName); + virtual bool DoPackage(string FileName) APT_OVERRIDE; SourcesWriter(FileFd * const Output, string const &DB,string const &BOverrides,string const &SOverrides, string const &ExtOverrides=string()); @@ -186,7 +185,7 @@ class ReleaseWriter : public FTWScanner { public: ReleaseWriter(FileFd * const Output, string const &DB); - virtual bool DoPackage(string FileName); + virtual bool DoPackage(string FileName) APT_OVERRIDE; void Finish(); // General options