Remove boost dependency
[platform/core/appfw/app-installers.git] / src / common / step / mount / step_unmount.h
1 // Copyright (c) 2020 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_MOUNT_STEP_UNMOUNT_H_
6 #define COMMON_STEP_MOUNT_STEP_UNMOUNT_H_
7
8 #include <manifest_parser/utils/logging.h>
9
10 #include <filesystem>
11
12 #include "common/installer_context.h"
13 #include "common/mount_base.h"
14 #include "common/step/step.h"
15
16 namespace common_installer {
17 namespace mount {
18
19 /**
20  * \brief Responsible for checking existance of mount path to perform
21  *
22  */
23 class StepUnmount : public MountBase, public Step {
24  public:
25   using Step::Step;
26   using MountBase::MountBase;
27
28   Status process() override;
29   Status clean() override { return Status::OK; }
30   Status undo() override { return Status::OK; }
31   Status precheck() override { return Status::OK; }
32
33  protected:
34   std::unique_ptr<IZipInterface> CreateZipInterface(
35       const std::filesystem::path& mount_path) override;
36
37   STEP_NAME(Unmount);
38 };
39
40 }  // namespace mount
41 }  // namespace common_installer
42
43 #endif  // COMMON_STEP_MOUNT_STEP_UNMOUNT_H_