Files
haiku-beta6/headers/os/package/CleanUpAdminDirectoryRequest.h
T
Augustin Cavalier 5f0f0b02b4 Package Kit, pkgman, SoftwareUpdater: Offer to delete old state directories.
This adds a new job to the Package Kit, and an invocation
in pkgman after changes are applied. The job takes a time_t before,
and an int32 minToKeep, and (after confirmation) deletes all state
directories which were last modified before that time, but also
keeps at least the minimum specified.

pkgman defaults to calling it with (now - 30 days, minimum 10).
SoftwareUpdater does the same, but without bothering the user
and just defaults to doing the cleanup.

Change-Id: I15f5232b11daba5955e7fa07f696ad7785507931
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10404
Reviewed-by: waddlesplash <[email protected]>
2026-03-03 22:14:57 +00:00

41 lines
910 B
C++

/*
* Copyright 2026, Haiku, Inc. All rights reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef _PACKAGE__CLEAN_UP_ADMIN_DIR_REQUEST_H_
#define _PACKAGE__CLEAN_UP_ADMIN_DIR_REQUEST_H_
#include <String.h>
#include <package/Context.h>
#include <package/Request.h>
#include <package/InstallationLocationInfo.h>
namespace BPackageKit {
class CleanUpAdminDirectoryRequest : public BRequest {
typedef BRequest inherited;
public:
CleanUpAdminDirectoryRequest(const BContext& context,
const BInstallationLocationInfo& location,
time_t cleanupBefore, int32 minStatesToKeep);
virtual ~CleanUpAdminDirectoryRequest();
virtual status_t CreateInitialJobs();
private:
const BInstallationLocationInfo fLocationInfo;
time_t fCleanupBefore;
int32 fMinimumStatesToKeep;
};
} // namespace BPackageKit
#endif // _PACKAGE__CLEAN_UP_ADMIN_DIR_REQUEST_H_