]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/deb/debmetaindex.h
add support for Build-Depends/Conflicts-Arch
[apt.git] / apt-pkg / deb / debmetaindex.h
index bf5b7c1cecf7aa2e7dd4ef69ff6045907b73b09c..f903617f7d828be7cbb877c7a9cbff0d4a48a737 100644 (file)
@@ -17,7 +17,6 @@
 
 class pkgAcquire;
 class pkgIndexFile;
-class debDebPkgFileIndex;
 class IndexTarget;
 class pkgCacheGenerator;
 class OpProgress;
@@ -35,73 +34,40 @@ class APT_HIDDEN debReleaseIndex : public metaIndex
    APT_HIDDEN std::string MetaIndexFile(const char *Types) const;
    APT_HIDDEN std::string MetaIndexURI(const char *Type) const;
 
-   debReleaseIndex(std::string const &URI, std::string const &Dist);
-   debReleaseIndex(std::string const &URI, std::string const &Dist, bool const Trusted);
+   debReleaseIndex(std::string const &URI, std::string const &Dist, std::map<std::string,std::string> const &Options);
+   debReleaseIndex(std::string const &URI, std::string const &Dist, bool const Trusted, std::map<std::string,std::string> const &Options);
    virtual ~debReleaseIndex();
 
-   virtual std::string ArchiveURI(std::string const &File) const {return URI + File;};
-   virtual bool GetIndexes(pkgAcquire *Owner, bool const &GetAll=false);
-   virtual std::vector<IndexTarget> GetIndexTargets() const;
+   virtual std::string ArchiveURI(std::string const &File) const APT_OVERRIDE {return URI + File;};
+   virtual bool GetIndexes(pkgAcquire *Owner, bool const &GetAll=false) APT_OVERRIDE;
+   virtual std::vector<IndexTarget> GetIndexTargets() const APT_OVERRIDE;
 
-   virtual std::string Describe() const;
-   virtual pkgCache::RlsFileIterator FindInCache(pkgCache &Cache, bool const ModifyCheck) const;
-   virtual bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const;
+   virtual std::string Describe() const APT_OVERRIDE;
+   virtual pkgCache::RlsFileIterator FindInCache(pkgCache &Cache, bool const ModifyCheck) const APT_OVERRIDE;
+   virtual bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const APT_OVERRIDE;
 
-   virtual bool Load(std::string const &Filename, std::string * const ErrorText);
-   virtual metaIndex * UnloadedClone() const;
+   virtual bool Load(std::string const &Filename, std::string * const ErrorText) APT_OVERRIDE;
+   virtual metaIndex * UnloadedClone() const APT_OVERRIDE;
 
-   virtual std::vector <pkgIndexFile *> *GetIndexFiles();
+   virtual std::vector <pkgIndexFile *> *GetIndexFiles() APT_OVERRIDE;
 
    bool SetTrusted(TriState const Trusted);
    bool SetCheckValidUntil(TriState const Trusted);
    bool SetValidUntilMin(time_t const Valid);
    bool SetValidUntilMax(time_t const Valid);
    bool SetSignedBy(std::string const &SignedBy);
+   std::map<std::string, std::string> GetReleaseOptions();
 
-   virtual bool IsTrusted() const;
+   virtual bool IsTrusted() const APT_OVERRIDE;
+   bool IsArchitectureSupported(std::string const &arch) const;
+   bool IsArchitectureAllSupportedFor(IndexTarget const &target) const;
 
-   void AddComponent(bool const isSrc, std::string const &Name,
+   void AddComponent(std::string const &sourcesEntry,
+        bool const isSrc, std::string const &Name,
         std::vector<std::string> const &Targets,
         std::vector<std::string> const &Architectures,
-        std::vector<std::string> Languages);
-};
-
-class APT_HIDDEN debDebFileMetaIndex : public metaIndex
-{
-private:
-   void * const d;
-   std::string DebFile;
-   debDebPkgFileIndex *DebIndex;
-public:
-   virtual std::string ArchiveURI(std::string const& /*File*/) const {
-      return DebFile;
-   }
-   virtual bool GetIndexes(pkgAcquire* /*Owner*/, const bool& /*GetAll=false*/) {
-      return true;
-   }
-   virtual std::vector<IndexTarget> GetIndexTargets() const {
-      return std::vector<IndexTarget>();
-   }
-   virtual std::vector<pkgIndexFile *> *GetIndexFiles() {
-      return Indexes;
-   }
-   virtual bool IsTrusted() const {
-      return true;
-   }
-   virtual bool Load(std::string const &, std::string * const ErrorText)
-   {
-      LoadedSuccessfully = TRI_NO;
-      if (ErrorText != NULL)
-        strprintf(*ErrorText, "Unparseable metaindex as it represents the standalone deb file %s", DebFile.c_str());
-      return false;
-   }
-   virtual metaIndex * UnloadedClone() const
-   {
-      return NULL;
-   }
-   debDebFileMetaIndex(std::string const &DebFile);
-   virtual ~debDebFileMetaIndex();
-
+        std::vector<std::string> Languages,
+        bool const usePDiffs, std::string const &useByHash);
 };
 
 #endif