]>
git.saurik.com Git - apt.git/blob - apt-pkg/metaindex.cc
1 // Include Files /*{{{*/
2 #include <apt-pkg/pkgcachegen.h>
3 #include <apt-pkg/indexfile.h>
4 #include <apt-pkg/metaindex.h>
6 #include <apt-pkg/debmetaindex.h>
12 std::string
metaIndex::Describe() const
17 pkgCache::RlsFileIterator
metaIndex::FindInCache(pkgCache
&Cache
, bool const) const
19 return pkgCache::RlsFileIterator(Cache
);
22 bool metaIndex::Merge(pkgCacheGenerator
&Gen
,OpProgress
*) const
24 return Gen
.SelectReleaseFile("", "");
27 metaIndex::metaIndex(std::string
const &URI
, std::string
const &Dist
,
28 char const * const Type
)
29 : d(NULL
), Indexes(NULL
), Type(Type
), URI(URI
), Dist(Dist
), Trusted(TRI_UNSET
),
30 Date(0), ValidUntil(0), SupportsAcquireByHash(false), LoadedSuccessfully(TRI_UNSET
)
35 metaIndex::~metaIndex()
39 for (std::vector
<pkgIndexFile
*>::iterator I
= (*Indexes
).begin();
40 I
!= (*Indexes
).end(); ++I
)
44 for (auto const &E
: Entries
)
48 // one line Getters for public fields /*{{{*/
49 APT_PURE
std::string
metaIndex::GetURI() const { return URI
; }
50 APT_PURE
std::string
metaIndex::GetDist() const { return Dist
; }
51 APT_PURE
const char* metaIndex::GetType() const { return Type
; }
52 APT_PURE
metaIndex::TriState
metaIndex::GetTrusted() const { return Trusted
; }
53 APT_PURE
std::string
metaIndex::GetSignedBy() const { return SignedBy
; }
54 APT_PURE
std::string
metaIndex::GetCodename() const { return Codename
; }
55 APT_PURE
std::string
metaIndex::GetSuite() const { return Suite
; }
56 APT_PURE
bool metaIndex::GetSupportsAcquireByHash() const { return SupportsAcquireByHash
; }
57 APT_PURE
time_t metaIndex::GetValidUntil() const { return ValidUntil
; }
58 APT_PURE
time_t metaIndex::GetDate() const { return this->Date
; }
59 APT_PURE
metaIndex::TriState
metaIndex::GetLoadedSuccessfully() const { return LoadedSuccessfully
; }
61 APT_PURE
bool metaIndex::CheckDist(string
const &MaybeDist
) const
63 return (this->Codename
== MaybeDist
64 || this->Suite
== MaybeDist
);
66 APT_PURE
std::string
metaIndex::GetExpectedDist() const
68 // TODO: Used to be an explicit value set in the constructor
72 APT_PURE
metaIndex::checkSum
*metaIndex::Lookup(string
const &MetaKey
) const /*{{{*/
74 std::map
<std::string
, metaIndex::checkSum
* >::const_iterator sum
= Entries
.find(MetaKey
);
75 if (sum
== Entries
.end())
80 APT_PURE
bool metaIndex::Exists(string
const &MetaKey
) const /*{{{*/
82 return Entries
.find(MetaKey
) != Entries
.end();
85 std::vector
<std::string
> metaIndex::MetaKeys() const /*{{{*/
87 std::vector
<std::string
> keys
;
88 std::map
<string
,checkSum
*>::const_iterator I
= Entries
.begin();
89 while(I
!= Entries
.end()) {
90 keys
.push_back((*I
).first
);
96 void metaIndex::swapLoad(metaIndex
* const OldMetaIndex
) /*{{{*/
98 std::swap(Entries
, OldMetaIndex
->Entries
);
99 std::swap(Date
, OldMetaIndex
->Date
);
100 std::swap(ValidUntil
, OldMetaIndex
->ValidUntil
);
101 std::swap(SupportsAcquireByHash
, OldMetaIndex
->SupportsAcquireByHash
);
102 std::swap(LoadedSuccessfully
, OldMetaIndex
->LoadedSuccessfully
);
106 bool metaIndex::IsArchitectureSupported(std::string
const &arch
) const /*{{{*/
108 debReleaseIndex
const * const deb
= dynamic_cast<debReleaseIndex
const *>(this);
110 return deb
->IsArchitectureSupported(arch
);