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.
 
 
 
 
 

141 lines
3.9 KiB

// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
// $Id: debindexfile.h,v 1.3.2.1 2003/12/24 23:09:17 mdz Exp $
/* ######################################################################
Debian Index Files
There are three sorts currently
Package files that have File: tags
Package files that don't (/var/lib/dpkg/status)
Source files
##################################################################### */
/*}}}*/
#ifndef PKGLIB_DEBINDEXFILE_H
#define PKGLIB_DEBINDEXFILE_H
#include <apt-pkg/indexfile.h>
class debStatusIndex : public pkgIndexFile
{
string File;
public:
virtual const Type *GetType() const;
// Interface for acquire
virtual string Describe(bool Short) const {return File;};
// Interface for the Cache Generator
virtual bool Exists() const;
virtual bool HasPackages() const {return true;};
virtual unsigned long Size() const;
virtual bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const;
virtual pkgCache::PkgFileIterator FindInCache(pkgCache &Cache) const;
debStatusIndex(string File);
};
class debPackagesIndex : public pkgIndexFile
{
string URI;
string Dist;
string Section;
string Architecture;
string Info(const char *Type) const;
string IndexFile(const char *Type) const;
string IndexURI(const char *Type) const;
public:
virtual const Type *GetType() const;
// Stuff for accessing files on remote items
virtual string ArchiveInfo(pkgCache::VerIterator Ver) const;
virtual string ArchiveURI(string File) const {return URI + File;};
// Interface for acquire
virtual string Describe(bool Short) const;
// Interface for the Cache Generator
virtual bool Exists() const;
virtual bool HasPackages() const {return true;};
virtual unsigned long Size() const;
virtual bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const;
virtual pkgCache::PkgFileIterator FindInCache(pkgCache &Cache) const;
debPackagesIndex(string const &URI, string const &Dist, string const &Section,
bool const &Trusted, string const &Arch = "native");
};
class debTranslationsIndex : public pkgIndexFile
{
string URI;
string Dist;
string Section;
const char * const Language;
string Info(const char *Type) const;
string IndexFile(const char *Type) const;
string IndexURI(const char *Type) const;
inline string TranslationFile() const {return string("Translation-").append(Language);};
public:
virtual const Type *GetType() const;
// Interface for acquire
virtual string Describe(bool Short) const;
virtual bool GetIndexes(pkgAcquire *Owner) const;
// Interface for the Cache Generator
virtual bool Exists() const;
virtual bool HasPackages() const;
virtual unsigned long Size() const;
virtual bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const;
virtual pkgCache::PkgFileIterator FindInCache(pkgCache &Cache) const;
debTranslationsIndex(string URI,string Dist,string Section, char const * const Language);
};
class debSourcesIndex : public pkgIndexFile
{
string URI;
string Dist;
string Section;
string Info(const char *Type) const;
string IndexFile(const char *Type) const;
string IndexURI(const char *Type) const;
public:
virtual const Type *GetType() const;
// Stuff for accessing files on remote items
virtual string SourceInfo(pkgSrcRecords::Parser const &Record,
pkgSrcRecords::File const &File) const;
virtual string ArchiveURI(string File) const {return URI + File;};
// Interface for acquire
virtual string Describe(bool Short) const;
// Interface for the record parsers
virtual pkgSrcRecords::Parser *CreateSrcParser() const;
// Interface for the Cache Generator
virtual bool Exists() const;
virtual bool HasPackages() const {return false;};
virtual unsigned long Size() const;
debSourcesIndex(string URI,string Dist,string Section,bool Trusted);
};
#endif