// -*- mode: cpp; mode: fold -*- // Description /*{{{*/ // $Id: indexrecords.h,v 1.1.2.1 2003/12/24 23:09:17 mdz Exp $ /*}}}*/ #ifndef PKGLIB_INDEXRECORDS_H #define PKGLIB_INDEXRECORDS_H #include #include #include #include #include #ifndef APT_8_CLEANER_HEADERS #include #endif class indexRecords { bool parseSumData(const char *&Start, const char *End, std::string &Name, std::string &Hash, unsigned long long &Size); public: struct checkSum; std::string ErrorText; protected: std::string Dist; std::string Suite; std::string ExpectedDist; time_t ValidUntil; std::map Entries; public: indexRecords(); indexRecords(const std::string ExpectedDist); // Lookup function virtual const checkSum *Lookup(const std::string MetaKey); /** \brief tests if a checksum for this file is available */ bool Exists(std::string const &MetaKey) const; std::vector MetaKeys(); virtual bool Load(std::string Filename); std::string GetDist() const; std::string GetSuite() const; time_t GetValidUntil() const; virtual bool CheckDist(const std::string MaybeDist) const; std::string GetExpectedDist() const; virtual ~indexRecords(){}; }; struct indexRecords::checkSum { std::string MetaKeyFilename; HashString Hash; unsigned long long Size; }; #endif