cebd6f741f2a226e564314863dbe9a8a758fad76
[platform/framework/native/installer.git] / src / Context / InstallationContext.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17 /**
18  * @file        InstallationContext.h
19  * @brief       This is the header file for the %InstallationContext class.
20  *
21  * This header file contains the declarations of the %InstallationContext class.
22  */
23 #ifndef _INSTALLATION_CONTEXT_H_
24 #define _INSTALLATION_CONTEXT_H_
25
26 #include <FAppTypes.h>
27 #include <FSecCertX509CertificatePath.h>
28
29 #include "InstallerDefs.h"
30 #include "IInstallationStep.h"
31 #include "DrmLicense.h"
32 #include "InstallationContextData.h"
33
34 class IInstallationStep;
35
36 /**
37  * @class               InstallationContext
38  * @brief               This class represents the class of InstallationContext.
39  * @since               1.0
40  *
41  * This class represents the class of InstallationContext.
42  *
43  */
44 class InstallationContext
45 {
46 public:
47         InstallationContext(void);
48         virtual ~InstallationContext(void);
49
50         InstallerError Construct(void);
51
52         bool ChangeStep(InstallationStep step);
53         InstallerError Run(void);
54
55         InstallationStep GetCurrentInstallationStep(void);
56         void SetCurrentInstallationStep(InstallationStep step);
57
58         InstallerError GetError(void);
59         void SetError(InstallerError installerError);
60
61         InstallationState GetState(void);
62         void SetState(InstallationState installationState);
63
64         IInstallationStep* GetStep(void);
65
66         void SetInstallerOperation(InstallerOperation op);
67         InstallerOperation GetInstallerOperation(void) const;
68
69         bool IsContinue(void);
70         void SetContinue(bool cont);
71
72         Tizen::Base::String GetSignatureXmlPath(void);
73         Tizen::Base::String GetAuthorSignatureXmlPath(void);
74
75         const Tizen::Base::Collection::ArrayList* GetPrivilegeList(void) const;
76         void SetPrivilegeList(Tizen::Base::Collection::ArrayList* privilegeList);
77
78         Tizen::Base::Collection::ArrayList* GetContentDataList(void) const;
79         void SetContentDataList(Tizen::Base::Collection::ArrayList* pContentDataList);
80
81 private:
82         InstallationContext(const InstallationContext& value);
83         InstallationContext& operator =(const InstallationContext& source);
84
85         IInstallationStep* __pStep;
86         DrmLicense* __pDrmLicense;
87         InstallerError __error;
88         InstallationStep __step;
89         int __attributeType;
90         InstallationState __state;
91         bool __stepChanged;
92         bool __continue;
93
94 public:
95         Tizen::Base::Collection::IListT<AppData *>* __pAppDataList;
96
97         bool __isOspCompat;
98
99         bool __isPreloaded;
100         bool __isHybridService;
101         bool __isVerificationMode;
102         bool __isUpdated;
103         bool __isAppSetting;
104
105         InstallerOperation __operation;
106         InstallationStorage __storage;
107         RootCertificateType __rootCertType;
108         int __packageNameType;
109         void* __pApp2ExtHandle;
110
111         Tizen::Base::Collection::ArrayList* __pPrivilegeList;
112         Tizen::Base::Collection::ArrayList* __pStringPrivilegeList;
113         Tizen::Base::Collection::ArrayList* __pContentDataList;
114         Tizen::Security::Cert::X509CertificatePath* __pAuthorCertPath;
115         Tizen::Security::Cert::X509CertificatePath* __pDistributorCertPath;
116
117         Tizen::Base::Collection::ArrayListT<Tizen::Base::String *>* __pAuthorCertList;
118         Tizen::Base::Collection::ArrayListT<Tizen::Base::String *>* __pDistributorCertList;
119
120         Tizen::Base::String __coreXmlPath;
121         Tizen::Base::String __inputPath;
122         Tizen::Base::String __packagePath;
123         Tizen::Base::String __licensePath;
124         Tizen::Base::String __temporaryDir;
125         Tizen::Base::String __installDir;
126         Tizen::Base::String __workingDir;
127         Tizen::App::PackageId __packageId;
128         Tizen::Base::String __version;
129         Tizen::Base::String __rootPath;
130         Tizen::Base::String __mainAppName;
131         Tizen::Base::String __apiVersion;
132         Tizen::Base::String __displayName;
133         Tizen::Base::String __privileges;
134         Tizen::Base::String __hmacPrivileges;
135         Tizen::Base::String __author;
136         Tizen::Base::String __url;
137         Tizen::Base::String __description;
138
139         int __certType;
140
141 }; // InstallationContext
142
143 #endif // _INSTALLATION_CONTEXT_H_