// -*- 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