From 17d00ecd27a24c8d3039bb2672d93d83ccdbf672 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Thu, 4 Jul 2013 19:06:57 +0200 Subject: [PATCH] pkgman: RepositoryBuilder: add BRepositoryCache c'tor --- src/bin/pkgman/RepositoryBuilder.cpp | 15 +++++++++++++++ src/bin/pkgman/RepositoryBuilder.h | 3 +++ 2 files changed, 18 insertions(+) diff --git a/src/bin/pkgman/RepositoryBuilder.cpp b/src/bin/pkgman/RepositoryBuilder.cpp index d056d6e356..251f11bbd3 100644 --- a/src/bin/pkgman/RepositoryBuilder.cpp +++ b/src/bin/pkgman/RepositoryBuilder.cpp @@ -13,6 +13,7 @@ #include #include +#include #include #include @@ -47,6 +48,20 @@ RepositoryBuilder::RepositoryBuilder(BSolverRepository& repository, } +RepositoryBuilder::RepositoryBuilder(BSolverRepository& repository, + const BRepositoryCache& cache, const BString& errorName) + : + fRepository(repository), + fErrorName(errorName.IsEmpty() ? cache.Info().Name() : errorName), + fPackagePaths(NULL) +{ + status_t error = fRepository.SetTo(cache); + if (error != B_OK) + DIE(error, "failed to init %s repository", fErrorName.String()); + fErrorName = fRepository.Name(); +} + + RepositoryBuilder& RepositoryBuilder::SetPackagePathMap(PackagePathMap* packagePaths) { diff --git a/src/bin/pkgman/RepositoryBuilder.h b/src/bin/pkgman/RepositoryBuilder.h index d3c72ad9a6..b3d4166c2c 100644 --- a/src/bin/pkgman/RepositoryBuilder.h +++ b/src/bin/pkgman/RepositoryBuilder.h @@ -33,6 +33,9 @@ public: const BString& errorName = BString()); RepositoryBuilder(BSolverRepository& repository, const BRepositoryConfig& config); + RepositoryBuilder(BSolverRepository& repository, + const BRepositoryCache& cache, + const BString& errorName = BString()); RepositoryBuilder& SetPackagePathMap(PackagePathMap* packagePaths);