00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef PKGLIB_PKGRECORDS_H
00018 #define PKGLIB_PKGRECORDS_H
00019
00020
00021 #include <apt-pkg/pkgcache.h>
00022 #include <apt-pkg/fileutl.h>
00023 #include <vector>
00024
00025 class pkgRecords
00026 {
00027 public:
00028 class Parser;
00029
00030 private:
00031
00032 pkgCache &Cache;
00033 std::vector<Parser *>Files;
00034
00035 public:
00036
00037
00038 Parser &Lookup(pkgCache::VerFileIterator const &Ver);
00039 Parser &Lookup(pkgCache::DescFileIterator const &Desc);
00040
00041
00042 pkgRecords(pkgCache &Cache);
00043 ~pkgRecords();
00044 };
00045
00046 class pkgRecords::Parser
00047 {
00048 protected:
00049
00050 virtual bool Jump(pkgCache::VerFileIterator const &Ver) = 0;
00051 virtual bool Jump(pkgCache::DescFileIterator const &Desc) = 0;
00052
00053 public:
00054 friend class pkgRecords;
00055
00056
00057 virtual string FileName() {return string();};
00058 virtual string MD5Hash() {return string();};
00059 virtual string SHA1Hash() {return string();};
00060 virtual string SHA256Hash() {return string();};
00061 virtual string SourcePkg() {return string();};
00062 virtual string SourceVer() {return string();};
00063
00064
00065 virtual string Maintainer() {return string();};
00066 virtual string ShortDesc() {return string();};
00067 virtual string LongDesc() {return string();};
00068 virtual string Name() {return string();};
00069 virtual string Homepage() {return string();}
00070
00071
00072 virtual void GetRec(const char *&Start,const char *&Stop) {Start = Stop = 0;};
00073
00074 virtual ~Parser() {};
00075 };
00076
00077 #endif