apt 3.0.3
commandline package manager
debmetaindex.h
1#ifndef PKGLIB_DEBMETAINDEX_H
2#define PKGLIB_DEBMETAINDEX_H
3
4#include <apt-pkg/macros.h>
5#include <apt-pkg/metaindex.h>
6
7#include <map>
8#include <string>
9#include <vector>
10
11
12class pkgAcquire;
13class pkgIndexFile;
14class IndexTarget;
16class OpProgress;
18
19class APT_HIDDEN debReleaseIndex : public metaIndex
20{
21 debReleaseIndexPrivate * const d;
22
23 APT_HIDDEN bool parseSumData(const char *&Start, const char *End, std::string &Name,
24 std::string &Hash, unsigned long long &Size);
25 public:
26
27 APT_HIDDEN std::string MetaIndexInfo(const char *Type) const;
28 APT_HIDDEN std::string MetaIndexFile(const char *Types) const;
29 APT_HIDDEN std::string MetaIndexURI(const char *Type) const;
30
31 debReleaseIndex(std::string const &URI, std::string const &Dist, std::map<std::string,std::string> const &Options);
32 debReleaseIndex(std::string const &URI, std::string const &Dist, bool const Trusted, std::map<std::string,std::string> const &Options);
33 ~debReleaseIndex() override;
34
35 [[nodiscard]] std::string ArchiveURI(std::string const &File) const override;
36 bool GetIndexes(pkgAcquire *Owner, bool const &GetAll = false) override;
37 [[nodiscard]] std::vector<IndexTarget> GetIndexTargets() const override;
38
39 [[nodiscard]] std::string Describe() const override;
40 pkgCache::RlsFileIterator FindInCache(pkgCache &Cache, bool ModifyCheck) const override;
41 bool Merge(pkgCacheGenerator &Gen, OpProgress *Prog) const override;
42
43 bool Load(std::string const &Filename, std::string *ErrorText) override;
44 [[nodiscard]] metaIndex *UnloadedClone() const override;
45
46 std::vector<pkgIndexFile *> *GetIndexFiles() override;
47
48 bool SetTrusted(TriState const Trusted);
49 bool SetCheckValidUntil(TriState const Trusted);
50 bool SetValidUntilMin(time_t const Valid);
51 bool SetValidUntilMax(time_t const Valid);
52 bool SetCheckDate(TriState const CheckDate);
53 bool SetDateMaxFuture(time_t const DateMaxFuture);
54 bool SetSnapshot(std::string Snapshot);
55 std::string GetSnapshotsServer() const; // As defined in the Release file
56 bool SetSignedBy(std::string const &SignedBy);
57 std::map<std::string, std::string> GetReleaseOptions();
58
59 [[nodiscard]] bool IsTrusted() const override;
60 [[nodiscard]] bool IsArchitectureSupported(std::string const &arch) const override;
61 [[nodiscard]] bool IsArchitectureAllSupportedFor(IndexTarget const &target) const override;
62 [[nodiscard]] bool HasSupportForComponent(std::string const &component) const override;
63
64 [[nodiscard]] time_t GetNotBefore() const override APT_PURE;
65
66 void AddComponent(std::string const &sourcesEntry,
67 bool const isSrc, std::string const &Name,
68 std::vector<std::string> const &Targets,
69 std::vector<std::string> const &Architectures,
70 std::vector<std::string> Languages,
71 bool const usePDiffs, std::string const &useByHash);
72};
73
74#endif
Information about an index file.
Definition indexfile.h:39
Definition progress.h:30
Definition strutl.h:220
Definition debmetaindex.cc:103
Definition debmetaindex.h:20
Definition metaindex.h:21
virtual metaIndex * UnloadedClone() const =0
Represents the process by which a pkgAcquire object should retrieve a file or a collection of files.
Definition acquire-item.h:59
Definition pkgcachegen.h:43
Definition cacheiterators.h:47
Definition indexfile.h:103