haiku/headers/os/package/InstallationLocationInfo.h

70 lines
1.8 KiB
C
Raw Normal View History

2013-04-14 18:50:30 +04:00
/*
* Copyright 2013-2014, Haiku, Inc. All Rights Reserved.
2013-04-14 18:50:30 +04:00
* Distributed under the terms of the MIT License.
*/
#ifndef _PACKAGE__INSTALLATION_LOCATION_INFO_H_
#define _PACKAGE__INSTALLATION_LOCATION_INFO_H_
#include <Node.h>
#include <String.h>
2013-04-14 18:50:30 +04:00
#include <package/PackageDefs.h>
#include <package/PackageInfoSet.h>
namespace BPackageKit {
class BInstallationLocationInfo {
public:
BInstallationLocationInfo();
~BInstallationLocationInfo();
void Unset();
BPackageInstallationLocation Location() const;
void SetLocation(
BPackageInstallationLocation location);
const node_ref& BaseDirectoryRef() const;
status_t SetBaseDirectoryRef(const node_ref& ref);
const node_ref& PackagesDirectoryRef() const;
status_t SetPackagesDirectoryRef(const node_ref& ref);
const BPackageInfoSet& LatestActivePackageInfos() const;
void SetLatestActivePackageInfos(
2013-04-14 18:50:30 +04:00
const BPackageInfoSet& infos);
const BPackageInfoSet& LatestInactivePackageInfos() const;
void SetLatestInactivePackageInfos(
const BPackageInfoSet& infos);
const BPackageInfoSet& CurrentlyActivePackageInfos() const;
void SetCurrentlyActivePackageInfos(
2013-04-14 18:50:30 +04:00
const BPackageInfoSet& infos);
const BString& OldStateName() const;
void SetOldStateName(const BString& name);
2013-04-14 18:50:30 +04:00
int64 ChangeCount() const;
void SetChangeCount(int64 changeCount);
private:
BPackageInstallationLocation fLocation;
node_ref fBaseDirectoryRef;
node_ref fPackageDirectoryRef;
BPackageInfoSet fLatestActivePackageInfos;
BPackageInfoSet fLatestInactivePackageInfos;
BPackageInfoSet fCurrentlyActivePackageInfos;
BString fOldStateName;
2013-04-14 18:50:30 +04:00
int64 fChangeCount;
};
} // namespace BPackageKit
#endif // _PACKAGE__INSTALLATION_LOCATION_INFO_H_