// -*- 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 <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);
+ APT_HIDDEN 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;
+
+ private:
+ enum APT_HIDDEN { ALWAYS_TRUSTED, NEVER_TRUSTED, CHECK_TRUST } Trusted;
+ // dpointer (for later)
+ void * d;
+
protected:
- string Dist;
- string Suite;
- string ExpectedDist;
+ std::string Dist;
+ std::string Suite;
+ std::string ExpectedDist;
+ time_t Date;
time_t ValidUntil;
+ bool SupportsAcquireByHash;
- std::map<string,checkSum *> Entries;
+ std::map<std::string,checkSum *> Entries;
public:
-
- indexRecords();
- indexRecords(const string ExpectedDist);
+ explicit indexRecords(const std::string &ExpectedDist = "");
// Lookup function
- virtual const checkSum *Lookup(const string MetaKey);
+ virtual checkSum *Lookup(std::string const &MetaKey);
/** \brief tests if a checksum for this file is available */
- bool Exists(string const &MetaKey) const;
+ bool Exists(std::string const &MetaKey) const;
std::vector<std::string> MetaKeys();
- virtual bool Load(string Filename);
- string GetDist() const;
+ virtual bool Load(std::string const &Filename);
+ virtual bool CheckDist(std::string const &MaybeDist) const;
+
+ std::string GetDist() const;
+ std::string GetSuite() const;
+ bool GetSupportsAcquireByHash() const;
time_t GetValidUntil() const;
- virtual bool CheckDist(const string MaybeDist) const;
- string GetExpectedDist() const;
- virtual ~indexRecords(){};
+ time_t GetDate() const;
+ std::string GetExpectedDist() const;
+
+ /** \brief check if source is marked as always trusted */
+ bool IsAlwaysTrusted() const;
+ /** \brief check if source is marked as never trusted */
+ bool IsNeverTrusted() const;
+
+ /** \brief sets an explicit trust value
+ *
+ * \b true means that the source should always be considered trusted,
+ * while \b false marks a source as always untrusted, even if we have
+ * a valid signature and everything.
+ */
+ void SetTrusted(bool const Trusted);
+
+ virtual ~indexRecords();
};
+APT_IGNORE_DEPRECATED_PUSH
struct indexRecords::checkSum
{
- string MetaKeyFilename;
- HashString Hash;
- size_t Size;
+ std::string MetaKeyFilename;
+ HashStringList Hashes;
+ unsigned long long Size;
+
+ APT_DEPRECATED HashString Hash;
};
+APT_IGNORE_DEPRECATED_POP
#endif