tizen 2.4 release
[framework/web/wrt-installer.git] / src / commons / wrt_install_mode.h
1 /*
2  * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  *    Licensed under the Apache License, Version 2.0 (the "License");
5  *    you may not use this file except in compliance with the License.
6  *    You may obtain a copy of the License at
7  *
8  *        http://www.apache.org/licenses/LICENSE-2.0
9  *
10  *    Unless required by applicable law or agreed to in writing, software
11  *    distributed under the License is distributed on an "AS IS" BASIS,
12  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *    See the License for the specific language governing permissions and
14  *    limitations under the License.
15  */
16 /**
17  * @file    wrt_install_mode.h
18  * @author  Jihoon Chung (jihoon.chung@samgsung.com)
19  * @version
20  * @brief   Definition file of widget install mode class
21  */
22
23 #ifndef WRT_INSTALL_MODE_H
24 #define WRT_INSTALL_MODE_H
25
26 class InstallMode
27 {
28   public:
29     enum class Command
30     {
31         INSTALL,
32         REINSTALL,
33         RECOVERY,
34         DEBUGINSTALL
35     };
36     enum class Location
37     {
38         INTERNAL,
39         EXTERNAL,
40         AUTO
41     };
42     enum class RootPath
43     {
44         RW,
45         RO
46     };
47     enum class ExtensionType
48     {
49         WGT,
50         DIRECTORY
51     };
52     enum class InstallTime
53     {
54         NORMAL,
55         CSC,
56         PRELOAD,
57         FOTA,
58     };
59
60     InstallMode(Command cmd = Command::INSTALL,
61                 Location lo = Location::INTERNAL,
62                 RootPath root = RootPath::RW,
63                 ExtensionType extensionType = ExtensionType::WGT,
64                 InstallTime time = InstallTime::NORMAL) :
65         command(cmd),
66         location(lo),
67         rootPath(root),
68         extension(extensionType),
69         installTime(time),
70         removable(true),
71         disable(false)
72     {};
73
74     Command command;
75     Location location;
76     RootPath rootPath;
77     ExtensionType extension;
78     InstallTime installTime;
79     bool removable;
80     std::string cscPath;
81     bool disable; // support disable for prelead app
82 };
83
84 #endif // WRT_INSTALL_MODE_H
85