X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/b51ff02a550881118ce4c677a6f2ce1d0aff9cd8..586d8704716a10e0f8b9c400cab500f5353eebe6:/apt-pkg/metaindex.h?ds=sidebyside diff --git a/apt-pkg/metaindex.h b/apt-pkg/metaindex.h index 2b87d7da9..7c4d0c1aa 100644 --- a/apt-pkg/metaindex.h +++ b/apt-pkg/metaindex.h @@ -1,45 +1,72 @@ #ifndef PKGLIB_METAINDEX_H #define PKGLIB_METAINDEX_H +#include +#include + +#include #include +#include + +#ifndef APT_10_CLEANER_HEADERS #include +class pkgCacheGenerator; +class OpProgress; +#endif +#ifndef APT_8_CLEANER_HEADERS #include #include -#include #include - using std::string; +#endif class pkgAcquire; -class pkgCacheGenerator; -class OpProgress; class metaIndex { protected: - vector *Indexes; + std::vector *Indexes; const char *Type; - string URI; - string Dist; + std::string URI; + std::string Dist; bool Trusted; public: - // Various accessors - virtual string GetURI() const {return URI;} - virtual string GetDist() const {return Dist;} + virtual std::string GetURI() const {return URI;} + virtual std::string GetDist() const {return Dist;} virtual const char* GetType() const {return Type;} + // interface to to query it +#if (APT_PKG_MAJOR >= 4 && APT_PKG_MINOR >= 13) + // returns the path of the local file (or "" if its not available) + virtual std::string LocalFileName() const {return "";}; +#endif + // Interface for acquire - virtual string ArchiveURI(string /*File*/) const = 0; - virtual bool GetIndexes(pkgAcquire *Owner, bool GetAll=false) const = 0; - - virtual vector *GetIndexFiles() = 0; + virtual std::string ArchiveURI(std::string const& File) const = 0; + virtual bool GetIndexes(pkgAcquire *Owner, bool const &GetAll=false) const = 0; + virtual std::vector *GetIndexFiles() = 0; virtual bool IsTrusted() const = 0; - virtual ~metaIndex() {}; + metaIndex(std::string const &URI, std::string const &Dist, + char const * const Type) + : Indexes(NULL), Type(Type), URI(URI), Dist(Dist), Trusted(false) + { + /* nothing */ + } + + virtual ~metaIndex() + { + if (Indexes == 0) + return; + for (std::vector::iterator I = (*Indexes).begin(); + I != (*Indexes).end(); ++I) + delete *I; + delete Indexes; + } }; #endif