Mount install steps
[platform/core/appfw/app-installers.git] / src / common / step / mount / step_mount_update.h
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.
4
5 #ifndef COMMON_STEP_MOUNT_STEP_MOUNT_UPDATE_H_
6 #define COMMON_STEP_MOUNT_STEP_MOUNT_UPDATE_H_
7
8 #include <manifest_parser/utils/logging.h>
9
10 #include "common/installer_context.h"
11 #include "common/step/step.h"
12
13 namespace common_installer {
14 namespace mount {
15
16 /**
17  * \brief Responsible for mounting package zip in package installation directory
18  *        in process of update installation request.
19  *
20  * Mounts package zip in installation location to enable step to access package
21  * content for security applying and others. This step copies package zip into
22  * $HOME/$PKGID/.image. This location will be used in runtime to mount package
23  * when applcation from package is about being started.
24  *
25  * Resources to following directory:
26  * * TZ_SYS_RW/$PKGID (/usr/apps/$PKGID)
27  * * TZ_SER_APPS/$PKGID  (/{HOME}/apps_rw/$PKGID)
28  */
29 class StepMountUpdate : public Step {
30  public:
31   using Step::Step;
32
33   Status process() override;
34   Status clean() override;
35   Status undo() override;
36   Status precheck() override;
37
38   SCOPE_LOG_TAG(MountUpdate)
39 };
40
41 }  // namespace mount
42 }  // namespace common_installer
43
44 #endif  // COMMON_STEP_MOUNT_STEP_MOUNT_UPDATE_H_