* Copyright 2013, Stephan Aßmus <superstippi@gmx.de>.
* Copyright 2013, Rene Gollent, <rene@gollent.com>
* Copyright 2020-2022, Andrew Lindesay <apl@lindesay.co.nz>
*
* All rights reserved. Distributed under the terms of the MIT License.
*/
#include "AbstractPackageProcess.h"
#include "Model.h"
#include "PackageManager.h"
#include "PackageUtils.h"
using namespace BPackageKit;
AbstractPackageProcess::AbstractPackageProcess(
PackageInfoRef package, Model* model)
:
fPackage(package),
fModel(model)
{
if (package.IsSet())
fInstallLocation = PackageUtils::DeriveInstallLocation(package.Get());
else
fInstallLocation = B_PACKAGE_INSTALLATION_LOCATION_SYSTEM;
fPackageManager = new(std::nothrow) PackageManager(
(BPackageInstallationLocation)fInstallLocation);
}
AbstractPackageProcess::~AbstractPackageProcess()
{
delete fPackageManager;
}
PackageInfoRef
AbstractPackageProcess::FindPackageByName(const BString& name)
{
return fModel->PackageForName(name);
}