BSolverRepository: add SetTo(const BRepositoryCache&)

This commit is contained in:
Ingo Weinhold
2013-07-04 19:06:42 +02:00
parent 6a7e3406be
commit 383cd08d72
2 changed files with 27 additions and 0 deletions
@@ -169,6 +169,31 @@ BSolverRepository::SetTo(const BRepositoryConfig& config)
}
status_t
BSolverRepository::SetTo(const BRepositoryCache& cache)
{
Unset();
const BRepositoryInfo& info = cache.Info();
if (info.InitCheck() != B_OK)
return B_BAD_VALUE;
fName = info.Name();
fPriority = info.Priority();
BRepositoryCache::Iterator it = cache.GetIterator();
while (const BPackageInfo* packageInfo = it.Next()) {
status_t error = AddPackage(*packageInfo);
if (error != B_OK) {
Unset();
return error;
}
}
return B_OK;
}
void
BSolverRepository::Unset()
{