| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221 |
- // -*- 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>
- #include <apt-pkg/cacheiterators.h>
- #include <apt-pkg/pkgcache.h>
- #include <apt-pkg/srcrecords.h>
- #include <string>
- class OpProgress;
- class pkgAcquire;
- class pkgCacheGenerator;
- class debStatusIndex : public pkgIndexFile
- {
- /** \brief dpointer placeholder (for later in case we need it) */
- void *d;
- protected:
- std::string File;
- public:
- virtual const Type *GetType() const APT_CONST;
-
- // Interface for acquire
- virtual std::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;
- bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog, unsigned long const Flag) const;
- virtual pkgCache::PkgFileIterator FindInCache(pkgCache &Cache) const;
- debStatusIndex(std::string File);
- virtual ~debStatusIndex() {};
- };
-
- class debPackagesIndex : public pkgIndexFile
- {
- /** \brief dpointer placeholder (for later in case we need it) */
- void *d;
- std::string URI;
- std::string Dist;
- std::string Section;
- std::string Architecture;
- std::string Info(const char *Type) const;
- std::string IndexFile(const char *Type) const;
- std::string IndexURI(const char *Type) const;
-
- public:
-
- virtual const Type *GetType() const APT_CONST;
- // Stuff for accessing files on remote items
- virtual std::string ArchiveInfo(pkgCache::VerIterator Ver) const;
- virtual std::string ArchiveURI(std::string File) const {return URI + File;};
-
- // Interface for acquire
- virtual std::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(std::string const &URI, std::string const &Dist, std::string const &Section,
- bool const &Trusted, std::string const &Arch = "native");
- virtual ~debPackagesIndex() {};
- };
- class debTranslationsIndex : public pkgIndexFile
- {
- /** \brief dpointer placeholder (for later in case we need it) */
- void *d;
- std::string URI;
- std::string Dist;
- std::string Section;
- const char * const Language;
-
- std::string Info(const char *Type) const;
- std::string IndexFile(const char *Type) const;
- std::string IndexURI(const char *Type) const;
- inline std::string TranslationFile() const {return std::string("Translation-").append(Language);};
- public:
-
- virtual const Type *GetType() const APT_CONST;
- // Interface for acquire
- virtual std::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(std::string URI,std::string Dist,std::string Section, char const * const Language);
- virtual ~debTranslationsIndex() {};
- };
- class debSourcesIndex : public pkgIndexFile
- {
- /** \brief dpointer placeholder (for later in case we need it) */
- void *d;
- std::string URI;
- std::string Dist;
- std::string Section;
- std::string Info(const char *Type) const;
- std::string IndexFile(const char *Type) const;
- std::string IndexURI(const char *Type) const;
-
- public:
- virtual const Type *GetType() const APT_CONST;
- // Stuff for accessing files on remote items
- virtual std::string SourceInfo(pkgSrcRecords::Parser const &Record,
- pkgSrcRecords::File const &File) const;
- virtual std::string ArchiveURI(std::string File) const {return URI + File;};
-
- // Interface for acquire
- virtual std::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(std::string URI,std::string Dist,std::string Section,bool Trusted);
- virtual ~debSourcesIndex() {};
- };
- class debDebPkgFileIndex : public pkgIndexFile
- {
- private:
- void *d;
- std::string DebFile;
- std::string DebFileFullPath;
- public:
- virtual const Type *GetType() const APT_CONST;
- virtual std::string Describe(bool /*Short*/) const {
- return DebFile;
- }
- // 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;
- // Interface for acquire
- virtual std::string ArchiveURI(std::string /*File*/) const;
- debDebPkgFileIndex(std::string DebFile);
- virtual ~debDebPkgFileIndex() {};
- };
- class debDscFileIndex : public pkgIndexFile
- {
- private:
- std::string DscFile;
- public:
- virtual const Type *GetType() const APT_CONST;
- virtual pkgSrcRecords::Parser *CreateSrcParser() const;
- virtual bool Exists() const;
- virtual bool HasPackages() const {return false;};
- virtual unsigned long Size() const;
- virtual std::string Describe(bool /*Short*/) const {
- return DscFile;
- };
- debDscFileIndex(std::string &DscFile);
- virtual ~debDscFileIndex() {};
- };
- class debDebianSourceDirIndex : public debDscFileIndex
- {
- virtual const Type *GetType() const APT_CONST;
- };
- #endif
|