namespace common_installer {
namespace filesystem {
-common_installer::Step::Status StepCreatePerUserStorageDirectories::process() {
+Step::Status StepCreatePerUserStorageDirectories::process() {
if (context_->request_mode.get() != RequestMode::GLOBAL)
return Step::Status::OK;
return Status::OK;
}
+Step::Status StepCreatePerUserStorageDirectories::undo() {
+ if (context_->request_mode.get() != RequestMode::GLOBAL)
+ return Step::Status::OK;
+
+ if (!context_->partial_rw.get()) {
+ if (!DeleteSkelDirectories(context_->pkgid.get()))
+ return Status::APP_DIR_ERROR;
+ }
+
+ if (!DeleteUserDirectories(context_->pkgid.get()))
+ return Status::APP_DIR_ERROR;
+
+ return Status::OK;
+}
+
} // namespace filesystem
} // namespace common_installer
Status process() override;
Status clean() override { return Status::OK; }
- Status undo() override { return Status::OK; }
+ Status undo() override;
Status precheck() override { return Status::OK; }
private: