packagefs: Add automatic SYS:PACKAGE_FILE attribute

* Rename SYS:PACKAGE attribute to SYS:PACKAGE_FILE.
* Re-add SYS:PACKAGE attribute. It contains the versioned name of the
  package.
This commit is contained in:
Ingo Weinhold
2013-11-05 21:40:42 +01:00
parent 415e374ec5
commit efe2665986
3 changed files with 10 additions and 1 deletions
@@ -105,6 +105,14 @@ AutoPackageAttributes::GetAttributeValue(const Package* package,
{ {
switch (attribute) { switch (attribute) {
case AUTO_PACKAGE_ATTRIBUTE_PACKAGE: case AUTO_PACKAGE_ATTRIBUTE_PACKAGE:
{
const char* value = package->VersionedName();
_size = strlen(value) + 1;
_type = B_STRING_TYPE;
return value;
}
case AUTO_PACKAGE_ATTRIBUTE_PACKAGE_FILE:
{ {
const char* value = package->FileName(); const char* value = package->FileName();
_size = strlen(value) + 1; _size = strlen(value) + 1;
@@ -18,6 +18,7 @@ class Package;
enum AutoPackageAttribute { enum AutoPackageAttribute {
AUTO_PACKAGE_ATTRIBUTE_ENUM_FIRST, AUTO_PACKAGE_ATTRIBUTE_ENUM_FIRST,
AUTO_PACKAGE_ATTRIBUTE_PACKAGE = AUTO_PACKAGE_ATTRIBUTE_ENUM_FIRST, AUTO_PACKAGE_ATTRIBUTE_PACKAGE = AUTO_PACKAGE_ATTRIBUTE_ENUM_FIRST,
AUTO_PACKAGE_ATTRIBUTE_PACKAGE_FILE,
AUTO_PACKAGE_ATTRIBUTE_ENUM_COUNT AUTO_PACKAGE_ATTRIBUTE_ENUM_COUNT
}; };
@@ -15,4 +15,4 @@ DEFINE_STRING_CONSTANT(kSettingsLinkName, ".settings")
DEFINE_STRING_ARRAY_CONSTANT(kAutoPackageAttributeNames, DEFINE_STRING_ARRAY_CONSTANT(kAutoPackageAttributeNames,
AUTO_PACKAGE_ATTRIBUTE_ENUM_COUNT, AUTO_PACKAGE_ATTRIBUTE_ENUM_COUNT,
"SYS:PACKAGE") "SYS:PACKAGE", "SYS:PACKAGE_FILE")