Release version 1.34.42
[platform/core/appfw/app-installers.git] / src / common / step / filesystem / step_create_icons.h
1 // Copyright (c) 2015 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_CREATE_ICONS_H_
6 #define COMMON_STEP_FILESYSTEM_STEP_CREATE_ICONS_H_
7
8 #include <boost/filesystem/path.hpp>
9
10 #include <manifest_parser/utils/logging.h>
11
12 #include <string>
13 #include <utility>
14 #include <vector>
15
16 #include "common/installer_context.h"
17 #include "common/step/step.h"
18
19 namespace common_installer {
20 namespace filesystem {
21
22 /**
23  * \brief Step responsible for creating icons for applications used during
24  *        installation and update. Used by WGT and TPK backend
25  */
26 class StepCreateIcons : public Step {
27  public:
28   using Step::Step;
29
30   /**
31    * \brief main logic for creating icons
32    *
33    * \return Status::OK if success, Status::ERROR otherwise
34    */
35   Status process() override;
36   Status clean() override { return Status::OK; }
37   /**
38    * \brief removes icons from system
39    *
40    * \return Status::OK
41    */
42   Status undo() override;
43   Status precheck() override { return Status::OK; }
44
45  private:
46   std::vector<boost::filesystem::path> icons_;
47
48   STEP_NAME(CreateIcons)
49 };
50
51 }  // namespace filesystem
52 }  // namespace common_installer
53
54 #endif  // COMMON_STEP_FILESYSTEM_STEP_CREATE_ICONS_H_