From be8f5e00f136fdc45f58c4a1c4d802eac9a6e96c Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Sat, 20 Apr 2013 21:10:21 +0200 Subject: [PATCH] BPackageInfo: Add CanonicalFileName() The name of the package file is not part of the package-info. CanonicalFileName() constructs the name the file should have (not enforced anywhere (yet)). --- headers/os/package/PackageInfo.h | 2 ++ src/kits/package/PackageInfo.cpp | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/headers/os/package/PackageInfo.h b/headers/os/package/PackageInfo.h index 9efaea3028..5b0260c6cb 100644 --- a/headers/os/package/PackageInfo.h +++ b/headers/os/package/PackageInfo.h @@ -89,6 +89,8 @@ public: FreshensList() const; const BStringList& ReplacesList() const; + BString CanonicalFileName() const; + void SetName(const BString& name); void SetSummary(const BString& summary); void SetDescription(const BString& description); diff --git a/src/kits/package/PackageInfo.cpp b/src/kits/package/PackageInfo.cpp index 4d14eee0ac..430bef12cf 100644 --- a/src/kits/package/PackageInfo.cpp +++ b/src/kits/package/PackageInfo.cpp @@ -1590,6 +1590,17 @@ BPackageInfo::ReplacesList() const } +BString +BPackageInfo::CanonicalFileName() const +{ + if (InitCheck() != B_OK) + return BString(); + + return BString().SetToFormat("%s-%s-%s.hpkg", fName.String(), + fVersion.ToString().String(), kArchitectureNames[fArchitecture]); +} + + void BPackageInfo::SetName(const BString& name) {