apt @VERSION@
|
00001 // -*- mode: cpp; mode: fold -*- 00002 // Description /*{{{*/ 00003 // $Id: indexrecords.h,v 1.1.2.1 2003/12/24 23:09:17 mdz Exp $ 00004 /*}}}*/ 00005 #ifndef PKGLIB_INDEXRECORDS_H 00006 #define PKGLIB_INDEXRECORDS_H 00007 00008 00009 #include <apt-pkg/pkgcache.h> 00010 #include <apt-pkg/fileutl.h> 00011 #include <apt-pkg/hashes.h> 00012 00013 #include <map> 00014 #include <vector> 00015 #include <ctime> 00016 00017 class indexRecords 00018 { 00019 bool parseSumData(const char *&Start, const char *End, string &Name, 00020 string &Hash, size_t &Size); 00021 public: 00022 struct checkSum; 00023 string ErrorText; 00024 00025 protected: 00026 string Dist; 00027 string Suite; 00028 string ExpectedDist; 00029 time_t ValidUntil; 00030 00031 std::map<string,checkSum *> Entries; 00032 00033 public: 00034 00035 indexRecords(); 00036 indexRecords(const string ExpectedDist); 00037 00038 // Lookup function 00039 virtual const checkSum *Lookup(const string MetaKey); 00041 bool Exists(string const &MetaKey) const; 00042 std::vector<std::string> MetaKeys(); 00043 00044 virtual bool Load(string Filename); 00045 string GetDist() const; 00046 time_t GetValidUntil() const; 00047 virtual bool CheckDist(const string MaybeDist) const; 00048 string GetExpectedDist() const; 00049 virtual ~indexRecords(){}; 00050 }; 00051 00052 struct indexRecords::checkSum 00053 { 00054 string MetaKeyFilename; 00055 HashString Hash; 00056 size_t Size; 00057 }; 00058 00059 #endif