From ca8bab3dc5f98011cb679e102c01f3ba42bf0a81 Mon Sep 17 00:00:00 2001 From: Ilho Kim Date: Tue, 5 Jul 2022 21:24:03 +0900 Subject: [PATCH] Add parameter to StepRemovePerUserStorageDirectories This step's undo operation use StepCreateStorageDirectories and StepCreateStorageDirectories can be execute with additional parameter Change-Id: I86d80ede3df46985342daaa8e8c8bcbcdaf68083 Signed-off-by: Ilho Kim --- .../filesystem/step_remove_per_user_storage_directories.cc | 3 ++- .../step/filesystem/step_remove_per_user_storage_directories.h | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/common/step/filesystem/step_remove_per_user_storage_directories.cc b/src/common/step/filesystem/step_remove_per_user_storage_directories.cc index 1a220a1..2c60121 100644 --- a/src/common/step/filesystem/step_remove_per_user_storage_directories.cc +++ b/src/common/step/filesystem/step_remove_per_user_storage_directories.cc @@ -35,7 +35,8 @@ Step::Status StepRemovePerUserStorageDirectories::undo() { context_->pkgid.get(), context_->uid.get()); context_->certificate_info.get().author_id.set(author_id); std::vector> steps; - steps.emplace_back(new StepCreateStorageDirectories(context_)); + steps.emplace_back(new StepCreateStorageDirectories( + context_, additional_shared_dirs_)); steps.emplace_back(new StepCreateGlobalAppSymlinks(context_)); for (auto& it : steps) { diff --git a/src/common/step/filesystem/step_remove_per_user_storage_directories.h b/src/common/step/filesystem/step_remove_per_user_storage_directories.h index 2669d4a..293a249 100644 --- a/src/common/step/filesystem/step_remove_per_user_storage_directories.h +++ b/src/common/step/filesystem/step_remove_per_user_storage_directories.h @@ -28,11 +28,21 @@ class StepRemovePerUserStorageDirectories : public common_installer::Step { public: using Step::Step; + explicit StepRemovePerUserStorageDirectories(InstallerContext* context) + : Step(context) {} + + StepRemovePerUserStorageDirectories(InstallerContext* context, + const std::vector additional_shared_dirs) + : Step(context), + additional_shared_dirs_(std::move(additional_shared_dirs)) {} + Status process() override; Status clean() override { return Status::OK; } Status undo() override; Status precheck() override { return Status::OK; } + std::vector additional_shared_dirs_; + STEP_NAME(RemovePerUserStorageDirectories) }; -- 2.7.4