From a8b832bf461cc0a4325302d929067c19f4e7aedf Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Wed, 3 Apr 2013 19:06:47 +0200 Subject: [PATCH] BSolverRepository::AddPackage(): Add optional return parameter ... returning the added BSolverPackage object. --- headers/os/package/solver/SolverRepository.h | 3 ++- src/kits/package/solver/SolverRepository.cpp | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/headers/os/package/solver/SolverRepository.h b/headers/os/package/solver/SolverRepository.h index afca10b445..24dc961784 100644 --- a/headers/os/package/solver/SolverRepository.h +++ b/headers/os/package/solver/SolverRepository.h @@ -58,7 +58,8 @@ public: int32 CountPackages() const; BSolverPackage* PackageAt(int32 index) const; - status_t AddPackage(const BPackageInfo& info); + status_t AddPackage(const BPackageInfo& info, + BSolverPackage** _package = NULL); status_t AddPackages( BPackageInstallationLocation location); diff --git a/src/kits/package/solver/SolverRepository.cpp b/src/kits/package/solver/SolverRepository.cpp index f10360bea8..b78cb6d415 100644 --- a/src/kits/package/solver/SolverRepository.cpp +++ b/src/kits/package/solver/SolverRepository.cpp @@ -238,7 +238,8 @@ BSolverRepository::PackageAt(int32 index) const status_t -BSolverRepository::AddPackage(const BPackageInfo& info) +BSolverRepository::AddPackage(const BPackageInfo& info, + BSolverPackage** _package = NULL) { BSolverPackage* package = new(std::nothrow) BSolverPackage(this, info); if (package == NULL || !fPackages.AddItem(package)) { @@ -246,6 +247,9 @@ BSolverRepository::AddPackage(const BPackageInfo& info) return B_NO_MEMORY; } + if (_package != NULL) + *_package = package; + return B_OK; }