X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/c64eacb78ffcdcd26602e9598b953f801724968c..75a90b93257ea81d42331c03b56bd6589c62e065:/apt-pkg/indexcopy.h diff --git a/apt-pkg/indexcopy.h b/apt-pkg/indexcopy.h index 7778ae595..60c90dd4a 100644 --- a/apt-pkg/indexcopy.h +++ b/apt-pkg/indexcopy.h @@ -22,8 +22,11 @@ class FileFd; class indexRecords; class pkgCdromStatus; -class IndexCopy +class IndexCopy /*{{{*/ { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + protected: pkgTagSection *Section; @@ -34,7 +37,7 @@ class IndexCopy bool ReconstructChop(unsigned long &Chop,string Dir,string File); void ConvertToSourceList(string CD,string &Path); bool GrabFirst(string Path,string &To,unsigned int Depth); - virtual bool GetFile(string &Filename,unsigned long &Size) = 0; + virtual bool GetFile(string &Filename,unsigned long long &Size) = 0; virtual bool RewriteEntry(FILE *Target,string File) = 0; virtual const char *GetFileName() = 0; virtual const char *Type() = 0; @@ -45,32 +48,30 @@ class IndexCopy pkgCdromStatus *log); virtual ~IndexCopy() {}; }; - -class PackageCopy : public IndexCopy + /*}}}*/ +class PackageCopy : public IndexCopy /*{{{*/ { protected: - virtual bool GetFile(string &Filename,unsigned long &Size); + virtual bool GetFile(string &Filename,unsigned long long &Size); virtual bool RewriteEntry(FILE *Target,string File); virtual const char *GetFileName() {return "Packages";}; virtual const char *Type() {return "Package";}; - public: }; - -class SourceCopy : public IndexCopy + /*}}}*/ +class SourceCopy : public IndexCopy /*{{{*/ { protected: - virtual bool GetFile(string &Filename,unsigned long &Size); + virtual bool GetFile(string &Filename,unsigned long long &Size); virtual bool RewriteEntry(FILE *Target,string File); virtual const char *GetFileName() {return "Sources";}; virtual const char *Type() {return "Source";}; - public: }; - -class TranslationsCopy + /*}}}*/ +class TranslationsCopy /*{{{*/ { protected: pkgTagSection *Section; @@ -79,10 +80,12 @@ class TranslationsCopy bool CopyTranslations(string CDROM,string Name,vector &List, pkgCdromStatus *log); }; - - -class SigVerify + /*}}}*/ +class SigVerify /*{{{*/ { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + bool Verify(string prefix,string file, indexRecords *records); bool CopyMetaIndex(string CDROM, string CDName, string prefix, string file); @@ -90,8 +93,16 @@ class SigVerify public: bool CopyAndVerify(string CDROM,string Name,vector &SigList, vector PkgList,vector SrcList); -}; - + /** \brief generates and run the command to verify a file with gpgv */ + static bool RunGPGV(std::string const &File, std::string const &FileOut, + int const &statusfd, int fd[2]); + inline static bool RunGPGV(std::string const &File, std::string const &FileOut, + int const &statusfd = -1) { + int fd[2]; + return RunGPGV(File, FileOut, statusfd, fd); + }; +}; + /*}}}*/ #endif