| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- // -*- mode: cpp; mode: fold -*-
- // Description /*{{{*/
- /* ######################################################################
- 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 APT_HIDDEN debStatusIndex : public pkgIndexFile
- {
- void * const d;
- protected:
- std::string File;
- public:
- virtual const Type *GetType() const APT_CONST;
- // Interface for acquire
- virtual std::string Describe(bool /*Short*/) const APT_OVERRIDE {return File;};
- // Interface for the Cache Generator
- virtual bool Exists() const APT_OVERRIDE;
- virtual bool HasPackages() const APT_OVERRIDE {return true;};
- virtual unsigned long Size() const APT_OVERRIDE;
- virtual bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const APT_OVERRIDE;
- virtual pkgCache::PkgFileIterator FindInCache(pkgCache &Cache) const APT_OVERRIDE;
- debStatusIndex(std::string File);
- virtual ~debStatusIndex();
- };
- class APT_HIDDEN debPackagesIndex : public pkgIndexTargetFile
- {
- void * const d;
- public:
- virtual const Type *GetType() const APT_CONST;
- // Stuff for accessing files on remote items
- virtual std::string ArchiveInfo(pkgCache::VerIterator Ver) const APT_OVERRIDE;
- // Interface for the Cache Generator
- virtual bool HasPackages() const APT_OVERRIDE {return true;};
- virtual bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const APT_OVERRIDE;
- virtual pkgCache::PkgFileIterator FindInCache(pkgCache &Cache) const APT_OVERRIDE;
- debPackagesIndex(IndexTarget const &Target, bool const Trusted);
- virtual ~debPackagesIndex();
- };
- class APT_HIDDEN debTranslationsIndex : public pkgIndexTargetFile
- {
- void * const d;
- public:
- virtual const Type *GetType() const APT_CONST;
- // Interface for the Cache Generator
- virtual bool HasPackages() const APT_OVERRIDE;
- virtual bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const APT_OVERRIDE;
- virtual pkgCache::PkgFileIterator FindInCache(pkgCache &Cache) const APT_OVERRIDE;
- debTranslationsIndex(IndexTarget const &Target);
- virtual ~debTranslationsIndex();
- };
- class APT_HIDDEN debSourcesIndex : public pkgIndexTargetFile
- {
- void * const d;
- 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 APT_OVERRIDE;
- // Interface for the record parsers
- virtual pkgSrcRecords::Parser *CreateSrcParser() const APT_OVERRIDE;
- // Interface for the Cache Generator
- virtual bool HasPackages() const APT_OVERRIDE {return false;};
- debSourcesIndex(IndexTarget const &Target, bool const Trusted);
- virtual ~debSourcesIndex();
- };
- class APT_HIDDEN debDebPkgFileIndex : public pkgIndexFile
- {
- private:
- void * const d;
- std::string DebFile;
- std::string DebFileFullPath;
- public:
- virtual const Type *GetType() const APT_CONST;
- virtual std::string Describe(bool /*Short*/) const APT_OVERRIDE {
- return DebFile;
- }
- /** get the control (file) content of the deb file
- *
- * @param[out] content of the control file
- * @param debfile is the filename of the .deb-file
- * @return \b true if successful, otherwise \b false.
- */
- static bool GetContent(std::ostream &content, std::string const &debfile);
- // Interface for the Cache Generator
- virtual bool Exists() const APT_OVERRIDE;
- virtual bool HasPackages() const APT_OVERRIDE {
- return true;
- };
- virtual unsigned long Size() const APT_OVERRIDE;
- virtual bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const APT_OVERRIDE;
- virtual pkgCache::PkgFileIterator FindInCache(pkgCache &Cache) const APT_OVERRIDE;
- // Interface for acquire
- virtual std::string ArchiveURI(std::string /*File*/) const APT_OVERRIDE;
- debDebPkgFileIndex(std::string DebFile);
- virtual ~debDebPkgFileIndex();
- };
- class APT_HIDDEN debDscFileIndex : public pkgIndexFile
- {
- private:
- void * const d;
- std::string DscFile;
- public:
- virtual const Type *GetType() const APT_CONST;
- virtual pkgSrcRecords::Parser *CreateSrcParser() const APT_OVERRIDE;
- virtual bool Exists() const APT_OVERRIDE;
- virtual bool HasPackages() const APT_OVERRIDE {return false;};
- virtual unsigned long Size() const APT_OVERRIDE;
- virtual std::string Describe(bool /*Short*/) const APT_OVERRIDE {
- return DscFile;
- };
- debDscFileIndex(std::string &DscFile);
- virtual ~debDscFileIndex();
- };
- class APT_HIDDEN debDebianSourceDirIndex : public debDscFileIndex
- {
- public:
- virtual const Type *GetType() const APT_CONST;
- };
- #endif
|