1 #ifndef PKGLIB_DEBMETAINDEX_H
2 #define PKGLIB_DEBMETAINDEX_H
4 #include <apt-pkg/metaindex.h>
5 #include <apt-pkg/macros.h>
11 #ifndef APT_8_CLEANER_HEADERS
12 #include <apt-pkg/sourcelist.h>
14 #ifndef APT_10_CLEANER_HEADERS
15 #include <apt-pkg/init.h>
21 class pkgCacheGenerator
;
23 class debReleaseIndexPrivate
;
25 class APT_HIDDEN debReleaseIndex
: public metaIndex
27 debReleaseIndexPrivate
* const d
;
29 APT_HIDDEN
bool parseSumData(const char *&Start
, const char *End
, std::string
&Name
,
30 std::string
&Hash
, unsigned long long &Size
);
33 APT_HIDDEN
std::string
MetaIndexInfo(const char *Type
) const;
34 APT_HIDDEN
std::string
MetaIndexFile(const char *Types
) const;
35 APT_HIDDEN
std::string
MetaIndexURI(const char *Type
) const;
37 debReleaseIndex(std::string
const &URI
, std::string
const &Dist
);
38 debReleaseIndex(std::string
const &URI
, std::string
const &Dist
, bool const Trusted
);
39 virtual ~debReleaseIndex();
41 virtual std::string
ArchiveURI(std::string
const &File
) const APT_OVERRIDE
{return URI
+ File
;};
42 virtual bool GetIndexes(pkgAcquire
*Owner
, bool const &GetAll
=false) APT_OVERRIDE
;
43 virtual std::vector
<IndexTarget
> GetIndexTargets() const APT_OVERRIDE
;
45 virtual std::string
Describe() const APT_OVERRIDE
;
46 virtual pkgCache::RlsFileIterator
FindInCache(pkgCache
&Cache
, bool const ModifyCheck
) const APT_OVERRIDE
;
47 virtual bool Merge(pkgCacheGenerator
&Gen
,OpProgress
*Prog
) const APT_OVERRIDE
;
49 virtual bool Load(std::string
const &Filename
, std::string
* const ErrorText
) APT_OVERRIDE
;
50 virtual metaIndex
* UnloadedClone() const APT_OVERRIDE
;
52 virtual std::vector
<pkgIndexFile
*> *GetIndexFiles() APT_OVERRIDE
;
54 bool SetTrusted(TriState
const Trusted
);
55 bool SetCheckValidUntil(TriState
const Trusted
);
56 bool SetValidUntilMin(time_t const Valid
);
57 bool SetValidUntilMax(time_t const Valid
);
58 bool SetSignedBy(std::string
const &SignedBy
);
60 virtual bool IsTrusted() const APT_OVERRIDE
;
61 bool IsArchitectureSupported(std::string
const &arch
) const;
62 bool IsArchitectureAllSupportedFor(IndexTarget
const &target
) const;
64 void AddComponent(std::string
const &sourcesEntry
,
65 bool const isSrc
, std::string
const &Name
,
66 std::vector
<std::string
> const &Targets
,
67 std::vector
<std::string
> const &Architectures
,
68 std::vector
<std::string
> Languages
,
69 bool const usePDiffs
, std::string
const &useByHash
);