1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
// $Id: indexcopy.h,v 1.1 2002/07/23 17:54:52 niemeyer 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 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);
};
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:
};
#endif
|