#ifndef PKGLIB_INDEXRECORDS_H
#define PKGLIB_INDEXRECORDS_H
-#ifdef __GNUG__
-#pragma interface "apt-pkg/indexrecords.h"
-#endif
-#include <apt-pkg/pkgcache.h>
-#include <apt-pkg/fileutl.h>
+#include <apt-pkg/hashes.h>
#include <map>
+#include <vector>
+#include <ctime>
+#include <string>
+
+#ifndef APT_8_CLEANER_HEADERS
+#include <apt-pkg/fileutl.h>
+#endif
+#ifndef APT_10_CLEANER_HEADERS
+#include <apt-pkg/pkgcache.h>
+#endif
class indexRecords
{
- bool parseSumData(const char *&Start, const char *End, string &Name,
- string &Hash, size_t &Size);
+ bool parseSumData(const char *&Start, const char *End, std::string &Name,
+ std::string &Hash, unsigned long long &Size);
public:
struct checkSum;
- string ErrorText;
+ std::string ErrorText;
protected:
- string Dist;
- string Suite;
- string ExpectedDist;
- std::map<string,checkSum *> Entries;
+ std::string Dist;
+ std::string Suite;
+ std::string ExpectedDist;
+ time_t ValidUntil;
+
+ std::map<std::string,checkSum *> Entries;
public:
indexRecords();
- indexRecords(const string ExpectedDist);
+ indexRecords(const std::string ExpectedDist);
// Lookup function
- virtual const checkSum *Lookup(const string MetaKey);
-
- virtual bool Load(string Filename);
- string GetDist() const;
- virtual bool CheckDist(const string MaybeDist) const;
- string GetExpectedDist() const;
+ 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<std::string> 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
{
- string MetaKeyFilename;
- string MD5Hash;
- size_t Size;
+ std::string MetaKeyFilename;
+ HashString Hash;
+ unsigned long long Size;
};
#endif