WriterImplBase: Add _AddStringAttributeList()

... and simplify some code by using it.
This commit is contained in:
Ingo Weinhold
2013-05-25 01:12:38 +02:00
parent a11b0003ec
commit a3e070a7ff
2 changed files with 26 additions and 35 deletions
@@ -169,6 +169,9 @@ private:
inline PackageAttribute* _AddStringAttributeIfNotEmpty( inline PackageAttribute* _AddStringAttributeIfNotEmpty(
BHPKGAttributeID id, const BString& value, BHPKGAttributeID id, const BString& value,
DoublyLinkedList<PackageAttribute>& list); DoublyLinkedList<PackageAttribute>& list);
void _AddStringAttributeList(BHPKGAttributeID id,
const BStringList& value,
DoublyLinkedList<PackageAttribute>& list);
void _WritePackageAttributes( void _WritePackageAttributes(
const PackageAttributeList& attributes); const PackageAttributeList& attributes);
+23 -35
View File
@@ -321,32 +321,20 @@ WriterImplBase::RegisterPackageInfo(PackageAttributeList& attributeList,
RegisterPackageVersion(attributeList, packageInfo.Version()); RegisterPackageVersion(attributeList, packageInfo.Version());
// copyright list // copyright list
const BStringList& copyrightList = packageInfo.CopyrightList(); _AddStringAttributeList(B_HPKG_ATTRIBUTE_ID_PACKAGE_COPYRIGHT,
for (int i = 0; i < copyrightList.CountStrings(); ++i) { packageInfo.CopyrightList(), attributeList);
_AddStringAttribute(B_HPKG_ATTRIBUTE_ID_PACKAGE_COPYRIGHT,
copyrightList.StringAt(i), attributeList);
}
// license list // license list
const BStringList& licenseList = packageInfo.LicenseList(); _AddStringAttributeList(B_HPKG_ATTRIBUTE_ID_PACKAGE_LICENSE,
for (int i = 0; i < licenseList.CountStrings(); ++i) { packageInfo.LicenseList(), attributeList);
_AddStringAttribute(B_HPKG_ATTRIBUTE_ID_PACKAGE_LICENSE,
licenseList.StringAt(i), attributeList);
}
// URL list // URL list
const BStringList& urlList = packageInfo.URLList(); _AddStringAttributeList(B_HPKG_ATTRIBUTE_ID_PACKAGE_URL,
for (int i = 0; i < urlList.CountStrings(); ++i) { packageInfo.URLList(), attributeList);
_AddStringAttribute(B_HPKG_ATTRIBUTE_ID_PACKAGE_URL,
urlList.StringAt(i), attributeList);
}
// source URL list // source URL list
const BStringList& sourceURLList = packageInfo.SourceURLList(); _AddStringAttributeList(B_HPKG_ATTRIBUTE_ID_PACKAGE_SOURCE_URL,
for (int i = 0; i < sourceURLList.CountStrings(); ++i) { packageInfo.SourceURLList(), attributeList);
_AddStringAttribute(B_HPKG_ATTRIBUTE_ID_PACKAGE_SOURCE_URL,
sourceURLList.StringAt(i), attributeList);
}
// provides list // provides list
const BObjectList<BPackageResolvable>& providesList const BObjectList<BPackageResolvable>& providesList
@@ -388,11 +376,8 @@ WriterImplBase::RegisterPackageInfo(PackageAttributeList& attributeList,
packageInfo.FreshensList(), B_HPKG_ATTRIBUTE_ID_PACKAGE_FRESHENS); packageInfo.FreshensList(), B_HPKG_ATTRIBUTE_ID_PACKAGE_FRESHENS);
// replaces list // replaces list
const BStringList& replacesList = packageInfo.ReplacesList(); _AddStringAttributeList(B_HPKG_ATTRIBUTE_ID_PACKAGE_REPLACES,
for (int i = 0; i < replacesList.CountStrings(); ++i) { packageInfo.ReplacesList(), attributeList);
_AddStringAttribute(B_HPKG_ATTRIBUTE_ID_PACKAGE_REPLACES,
replacesList.StringAt(i), attributeList);
}
// global settings file info list // global settings file info list
const BObjectList<BGlobalSettingsFileInfo>& globalSettingsFileInfos const BObjectList<BGlobalSettingsFileInfo>& globalSettingsFileInfos
@@ -451,18 +436,12 @@ WriterImplBase::RegisterPackageInfo(PackageAttributeList& attributeList,
} }
// group list // group list
const BStringList& groups = packageInfo.Groups(); _AddStringAttributeList(B_HPKG_ATTRIBUTE_ID_PACKAGE_GROUP,
for (int32 i = 0; i < groups.CountStrings(); i++) { packageInfo.Groups(), attributeList);
_AddStringAttribute(B_HPKG_ATTRIBUTE_ID_PACKAGE_GROUP,
groups.StringAt(i), attributeList);
}
// post install script list // post install script list
const BStringList& postInstallScripts = packageInfo.PostInstallScripts(); _AddStringAttributeList(B_HPKG_ATTRIBUTE_ID_PACKAGE_POST_INSTALL_SCRIPT,
for (int32 i = 0; i < postInstallScripts.CountStrings(); i++) { packageInfo.PostInstallScripts(), attributeList);
_AddStringAttribute(B_HPKG_ATTRIBUTE_ID_PACKAGE_POST_INSTALL_SCRIPT,
postInstallScripts.StringAt(i), attributeList);
}
// checksum (optional, only exists in repositories) // checksum (optional, only exists in repositories)
_AddStringAttributeIfNotEmpty(B_HPKG_ATTRIBUTE_ID_PACKAGE_CHECKSUM, _AddStringAttributeIfNotEmpty(B_HPKG_ATTRIBUTE_ID_PACKAGE_CHECKSUM,
@@ -697,6 +676,15 @@ WriterImplBase::_AddStringAttribute(BHPKGAttributeID id, const BString& value,
} }
void
WriterImplBase::_AddStringAttributeList(BHPKGAttributeID id,
const BStringList& value, DoublyLinkedList<PackageAttribute>& list)
{
for (int32 i = 0; i < value.CountStrings(); i++)
_AddStringAttribute(id, value.StringAt(i), list);
}
void void
WriterImplBase::_WritePackageAttributes( WriterImplBase::_WritePackageAttributes(
const PackageAttributeList& packageAttributes) const PackageAttributeList& packageAttributes)