Remove boost dependency
[platform/core/appfw/app-installers.git] / src / common / step / filesystem / step_update_storage_directories.h
1 // Copyright (c) 2017 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.
4
5 #ifndef COMMON_STEP_FILESYSTEM_STEP_UPDATE_STORAGE_DIRECTORIES_H_
6 #define COMMON_STEP_FILESYSTEM_STEP_UPDATE_STORAGE_DIRECTORIES_H_
7
8 #include <manifest_parser/utils/logging.h>
9
10 #include "common/step/step.h"
11
12 namespace common_installer {
13 namespace filesystem {
14
15 class StepUpdateStorageDirectories : public common_installer::Step {
16  public:
17   using Step::Step;
18
19   explicit StepUpdateStorageDirectories(InstallerContext* context) :
20       Step(context), old_shared_data_exists_(false),
21       should_create_shared_data_(false) {}
22
23   Status process() override;
24   Status clean() override;
25   Status undo() override;
26   Status precheck() override;
27
28   STEP_NAME(UpdateStorageDirectories)
29
30  private:
31   bool UpdatePerUserStorageDirectories();
32   bool UpdateStorageDirectories();
33   bool CleanUpdatePerUserStorageDirectories();
34   bool CleanUpdateStorageDirectories();
35   bool UndoUpdatePerUserStorageDirectories();
36   bool UndoUpdateStorageDirectories();
37
38   bool old_shared_data_exists_;
39   bool should_create_shared_data_;
40 };
41
42 }  // namespace filesystem
43 }  // namespace common_installer
44
45 #endif  // COMMON_STEP_FILESYSTEM_STEP_UPDATE_STORAGE_DIRECTORIES_H_