1 // Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
2 // Use of this source code is governed by an apache 2.0 license that can be
3 // found in the LICENSE file.
5 #ifndef COMMON_STEP_FILESYSTEM_STEP_REMOVE_PER_USER_STORAGE_DIRECTORIES_H_
6 #define COMMON_STEP_FILESYSTEM_STEP_REMOVE_PER_USER_STORAGE_DIRECTORIES_H_
8 #include <manifest_parser/utils/logging.h>
10 #include "common/step/step.h"
12 namespace common_installer {
13 namespace filesystem {
16 * \brief Uninstallation.
17 * Responsible for removing shared directories (wgt/tpk) for users.
19 * * process method implements removal of data and shared directories for
20 * package in case of global installation for each user. Normally, directories
21 * are removed in StepRemoveFiles.
23 * * Other methods are empty.
27 class StepRemovePerUserStorageDirectories : public common_installer::Step {
31 explicit StepRemovePerUserStorageDirectories(InstallerContext* context)
34 StepRemovePerUserStorageDirectories(InstallerContext* context,
35 const std::vector<const char*> additional_shared_dirs)
37 additional_shared_dirs_(std::move(additional_shared_dirs)) {}
39 Status process() override;
40 Status clean() override { return Status::OK; }
41 Status undo() override;
42 Status precheck() override { return Status::OK; }
44 std::vector<const char*> additional_shared_dirs_;
46 STEP_NAME(RemovePerUserStorageDirectories)
49 } // namespace filesystem
50 } // namespace common_installer
52 #endif // COMMON_STEP_FILESYSTEM_STEP_REMOVE_PER_USER_STORAGE_DIRECTORIES_H_