BPackageInfoContentHandler: Handle new attributes

Also add respective *Data constructors to BUser, BUserSettingsFileInfo,
and BGlobalSettingsFileInfo.
This commit is contained in:
Ingo Weinhold
2013-05-28 02:44:13 +02:00
parent badd403c5e
commit 56b43eca03
7 changed files with 85 additions and 1 deletions
@@ -13,9 +13,17 @@
namespace BPackageKit {
namespace BHPKG {
struct BGlobalSettingsFileInfoData;
}
class BGlobalSettingsFileInfo {
public:
BGlobalSettingsFileInfo();
BGlobalSettingsFileInfo(
const BHPKG::BGlobalSettingsFileInfoData&
infoData);
BGlobalSettingsFileInfo(const BString& path,
BSettingsFileUpdateType updateType);
~BGlobalSettingsFileInfo();
+6
View File
@@ -13,9 +13,15 @@
namespace BPackageKit {
namespace BHPKG {
struct BUserData;
}
class BUser {
public:
BUser();
BUser(const BHPKG::BUserData& userData);
BUser(const BString& name,
const BString& realName,
const BString& home, const BString& shell,
@@ -12,9 +12,17 @@
namespace BPackageKit {
namespace BHPKG {
struct BUserSettingsFileInfoData;
}
class BUserSettingsFileInfo {
public:
BUserSettingsFileInfo();
BUserSettingsFileInfo(
const BHPKG::BUserSettingsFileInfoData&
infoData);
BUserSettingsFileInfo(const BString& path,
const BString& templatePath = BString());
~BUserSettingsFileInfo();
@@ -6,6 +6,8 @@
#include <package/GlobalSettingsFileInfo.h>
#include <package/hpkg/PackageInfoAttributeValue.h>
namespace BPackageKit {
@@ -18,6 +20,15 @@ BGlobalSettingsFileInfo::BGlobalSettingsFileInfo()
}
BGlobalSettingsFileInfo::BGlobalSettingsFileInfo(
const BHPKG::BGlobalSettingsFileInfoData& infoData)
:
fPath(infoData.path),
fUpdateType(infoData.updateType)
{
}
BGlobalSettingsFileInfo::BGlobalSettingsFileInfo(const BString& path,
BSettingsFileUpdateType updateType)
:
+26 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright 2011, Ingo Weinhold, [email protected].
* Copyright 2011-2013, Ingo Weinhold, [email protected].
* Distributed under the terms of the MIT License.
*/
@@ -139,6 +139,31 @@ BPackageInfoContentHandler::HandlePackageAttribute(
fPackageInfo.SetInstallPath(value.string);
break;
case B_PACKAGE_INFO_BASE_PACKAGE:
fPackageInfo.SetBasePackage(value.string);
break;
case B_PACKAGE_INFO_GLOBAL_SETTINGS_FILES:
fPackageInfo.AddGlobalSettingsFileInfo(
value.globalSettingsFileInfo);
break;
case B_PACKAGE_INFO_USER_SETTINGS_FILES:
fPackageInfo.AddUserSettingsFileInfo(value.userSettingsFileInfo);
break;
case B_PACKAGE_INFO_USERS:
fPackageInfo.AddUser(value.user);
break;
case B_PACKAGE_INFO_GROUPS:
fPackageInfo.AddGroup(value.string);
break;
case B_PACKAGE_INFO_POST_INSTALL_SCRIPTS:
fPackageInfo.AddPostInstallScript(value.string);
break;
default:
if (fErrorOutput != NULL) {
fErrorOutput->PrintError(
+15
View File
@@ -8,6 +8,8 @@
#include <ctype.h>
#include <package/hpkg/PackageInfoAttributeValue.h>
namespace BPackageKit {
@@ -23,6 +25,19 @@ BUser::BUser()
}
BUser::BUser(const BHPKG::BUserData& userData)
:
fName(userData.name),
fRealName(userData.realName),
fHome(userData.home),
fShell(userData.shell),
fGroups()
{
for (size_t i = 0; i < userData.groupCount; i++)
fGroups.Add(userData.groups[i]);
}
BUser::BUser(const BString& name, const BString& realName, const BString& home,
const BString& shell, const BStringList& groups)
:
+11
View File
@@ -6,6 +6,8 @@
#include <package/UserSettingsFileInfo.h>
#include <package/hpkg/PackageInfoAttributeValue.h>
namespace BPackageKit {
@@ -18,6 +20,15 @@ BUserSettingsFileInfo::BUserSettingsFileInfo()
}
BUserSettingsFileInfo::BUserSettingsFileInfo(
const BHPKG::BUserSettingsFileInfoData& infoData)
:
fPath(infoData.path),
fTemplatePath(infoData.templatePath)
{
}
BUserSettingsFileInfo::BUserSettingsFileInfo(const BString& path,
const BString& templatePath)
: