diff options
author | Christian Perrier <bubulle@debian.org> | 2005-02-05 06:49:51 +0000 |
---|---|---|
committer | Christian Perrier <bubulle@debian.org> | 2005-02-05 06:49:51 +0000 |
commit | 1b5a62221cc034658354692be6ba4dfb7ef152e7 (patch) | |
tree | d924467becc6bddbe453bd945e7e36385f0828df /apt-pkg/indexcopy.h | |
parent | a40d89ae66e8b0c519cc8495982d9c1d1b0539dd (diff) | |
parent | 8a57929175a93466c83a8e697ad876b60b2eb3c2 (diff) |
Merge with Matt and update French translation
Patches applied:
* apt@packages.debian.org/apt--main--0--patch-49
Merge michael.vogt@canonical.com--2004/apt--status-fd--0
* apt@packages.debian.org/apt--main--0--patch-50
Increment libapt-pkg version
* apt@packages.debian.org/apt--main--0--patch-51
0.6.30
* apt@packages.debian.org/apt--main--0--patch-52
0.6.31
* apt@packages.debian.org/apt--main--0--patch-53
Remove debugging from apt.cron.daily
* apt@packages.debian.org/apt--main--0--patch-54
allow SHA1Summation to process a file descriptor until EOF
* apt@packages.debian.org/apt--main--0--patch-55
Fix syntax in sha1.cc
* apt@packages.debian.org/apt--main--0--patch-56
Fix build/install of Polish offline documentation
* apt@packages.debian.org/apt--main--0--patch-57
Move CD-ROM handling backend into libapt-pkg
* apt@packages.debian.org/apt--main--0--patch-58
Fix compilation errors from apt--auth-cdrom--0
* michael.vogt@canonical.com--2004--laptop/apt--status-fd--0--base-0
tag of apt@packages.debian.org/apt--main--0--patch-32
* michael.vogt@canonical.com--2004--laptop/apt--status-fd--0--patch-1
* michael.vogt@canonical.com--2004--laptop/apt--status-fd--0--patch-2
* changed version of the library
* michael.vogt@canonical.com--2004--laptop/apt--status-fd--0--patch-3
* merged with matt again
* michael.vogt@canonical.com--2004--laptop/apt--status-fd--0--patch-4
* merged with apt--main--0 and fixed permissions in po/
* michael.vogt@canonical.com--2004/apt--status-fd--0--patch-1
tag of michael.vogt@canonical.com--2004--laptop/apt--status-fd--0--patch-4
* michael.vogt@canonical.com--2004/apt--status-fd--0--patch-2
* merged with matt's tree
* michael.vogt@canonical.com--2004/apt--status-fd--0--patch-3
* removed a stupid "<<<" merge in the changelog
* michael.vogt@canonical.com--2004/apt--status-fd--0--patch-4
* star-merged with apt@packages.debian.org/apt--main--0
* michael.vogt@canonical.com--2004/apt--status-fd--0--patch-5
* removed the "pre-fork/post-fork" change and put it into it's own branch, star-merged with matt so that it applies cleanly
* michael.vogt@canonical.com--2004/apt--status-fd--0--patch-6
* cleaned a incorrect log-file merge
* michael.vogt@canonical.com--2004/apt--status-fd--0--patch-7
* removed a conflict in =tagging-method
* michael.vogt@canonical.com--2004/apt--status-fd--0--patch-8
* cleaned up the delta so that it no longer contains unreleated whitespace changes
* michael.vogt@ubuntu.com--2005/apt--auth-cdrom--0--base-0
tag of apt@packages.debian.org/apt--main--0--patch-51
* michael.vogt@ubuntu.com--2005/apt--auth-cdrom--0--patch-1
* added support for signed cdroms
* michael.vogt@ubuntu.com--2005/apt--auth-cdrom--0--patch-2
* merged with apt--main, seperated cmdline/apt-cdrom.cc into a library (apt-pkg/cdrom.{cc,h})
* michael.vogt@ubuntu.com--2005/apt--auth-cdrom--0--patch-3
* cleaned up the cmdline/apt-cdrom.cc code
Diffstat (limited to 'apt-pkg/indexcopy.h')
-rw-r--r-- | apt-pkg/indexcopy.h | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/apt-pkg/indexcopy.h b/apt-pkg/indexcopy.h new file mode 100644 index 000000000..fa8e9c156 --- /dev/null +++ b/apt-pkg/indexcopy.h @@ -0,0 +1,83 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +// $Id: indexcopy.h,v 1.3 2001/05/27 04:46:54 jgg Exp $ +/* ###################################################################### + + Index Copying - Aid for copying and verifying the index files + + ##################################################################### */ + /*}}}*/ +#ifndef INDEXCOPY_H +#define INDEXCOPY_H + +#include <vector> +#include <string> +#include <stdio.h> + +using std::string; +using std::vector; + +class pkgTagSection; +class FileFd; +class indexRecords; +class pkgCdromStatus; + +class IndexCopy +{ + protected: + + pkgTagSection *Section; + + string ChopDirs(string Path,unsigned int Depth); + bool ReconstructPrefix(string &Prefix,string OrigPath,string CD, + string File); + 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 RewriteEntry(FILE *Target,string File) = 0; + virtual const char *GetFileName() = 0; + virtual const char *Type() = 0; + + public: + + bool CopyPackages(string CDROM,string Name,vector<string> &List, + pkgCdromStatus *log); +}; + +class PackageCopy : public IndexCopy +{ + protected: + + virtual bool GetFile(string &Filename,unsigned 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 +{ + protected: + + virtual bool GetFile(string &Filename,unsigned long &Size); + virtual bool RewriteEntry(FILE *Target,string File); + virtual const char *GetFileName() {return "Sources";}; + virtual const char *Type() {return "Source";}; + + public: +}; + +class SigVerify +{ + bool Verify(string prefix,string file, indexRecords *records); + bool CopyMetaIndex(string CDROM, string CDName, + string prefix, string file); + + public: + bool CopyAndVerify(string CDROM,string Name,vector<string> &SigList, + vector<string> PkgList,vector<string> SrcList); +}; + +#endif |