You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

63 lines
1.4 KiB

// -*- 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/hashes.h>
#include <map>
#include <vector>
#include <ctime>
#ifndef APT_8_CLEANER_HEADERS
#include <apt-pkg/fileutl.h>
#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<std::string,checkSum *> 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<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
{
std::string MetaKeyFilename;
HashString Hash;
unsigned long long Size;
};
#endif