2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
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
9 // http://www.apache.org/licenses/LICENSE-2.0
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.
18 * @file InstallationContext.h
19 * @brief This is the header file for the %InstallationContext class.
21 * This header file contains the declarations of the %InstallationContext class.
23 #ifndef _INSTALLATION_CONTEXT_H_
24 #define _INSTALLATION_CONTEXT_H_
26 #include <app2ext_interface.h>
28 #include <FAppTypes.h>
29 #include <FAppPkg_PackageInfoImpl.h>
30 #include <FSecCertX509CertificatePath.h>
32 #include "InstallerDefs.h"
33 #include "IInstallationStep.h"
34 #include "DrmLicense.h"
35 #include "InstallationContextData.h"
37 class IInstallationStep;
40 * @class InstallationContext
41 * @brief This class represents the class of InstallationContext.
44 * This class represents the class of InstallationContext.
47 class InstallationContext
50 enum InstallationStorage
52 INSTALLATION_STORAGE_INTERNAL,
53 INSTALLATION_STORAGE_EXTERNAL,
56 InstallationContext(void);
57 virtual ~InstallationContext(void);
58 InstallerError Construct(void);
60 bool ChangeStep(InstallationStep step);
61 InstallerError Run(void);
63 InstallationStep GetCurrentInstallationStep(void);
64 void SetCurrentInstallationStep(InstallationStep step);
66 InstallerError GetError(void);
67 void SetError(InstallerError installerError);
69 InstallationState GetState(void);
70 void SetState(InstallationState installationState);
72 IInstallationStep* GetStep(void);
74 void SetInputPath(const Tizen::Base::String& path);
75 const Tizen::Base::String& GetInputPath(void) const;
77 void SetInstallerOperation(InstallerOperation op);
78 InstallerOperation GetInstallerOperation(void) const;
80 void SetInstallationStorage(InstallationStorage storage);
81 InstallationStorage GetInstallationStorage(void) const;
83 bool IsContinue(void);
84 void SetContinue(bool cont);
86 bool IsPreloaded(void);
87 void SetPreloaded(bool preloaded);
89 bool IsHybridService(void);
90 void SetHybridService(bool hybridService);
92 bool IsVerificationMode(void);
93 void SetVerificationMode(bool verificationMode);
95 const Tizen::Base::String& GetPackagePath(void) const;
96 void SetPackagePath(const Tizen::Base::String& packagePath);
98 const Tizen::Base::String& GetLicensePath(void) const;
99 void SetLicensePath(const Tizen::Base::String& licensePath);
101 const Tizen::Base::String& GetTemporaryDir(void) const;
102 void SetTemporaryDir(const Tizen::Base::String& temporaryDir);
104 const Tizen::Base::String& GetInstallDir(void) const;
105 void SetInstallDir(const Tizen::Base::String& installDir);
107 const Tizen::Base::String& GetWorkingDir(void) const;
108 void SetWorkingDir(const Tizen::Base::String& workingDir);
110 const Tizen::App::PackageId& GetId(void) const;
111 void SetId(const Tizen::App::PackageId& packageId);
113 const Tizen::Base::String& GetAppVersion(void) const;
114 void SetAppVersion(const Tizen::Base::String& appVersion);
116 Tizen::Base::String GetManifestXmlPath(void);
117 Tizen::Base::String GetSignatureXmlPath(void);
118 Tizen::Base::String GetAuthorSignatureXmlPath(void);
120 const Tizen::Base::Collection::ArrayList* GetPrivilegeList(void) const;
121 void SetPrivilegeList(Tizen::Base::Collection::ArrayList* privilegeList);
123 Tizen::Base::Collection::ArrayList* GetLiveboxDataList(void) const;
124 void SetLiveboxDataList(Tizen::Base::Collection::ArrayList* pLiveboxDataList);
126 Tizen::Base::Collection::ArrayList* GetContentDataList(void) const;
127 void SetContentDataList(Tizen::Base::Collection::ArrayList* pContentDataList);
129 Tizen::Security::Cert::X509CertificatePath* GetAuthorCertPath(void) const;
130 void SetAuthorCertPath(Tizen::Security::Cert::X509CertificatePath* pAuthorCertPath);
132 Tizen::Security::Cert::X509CertificatePath* GetDistributorCertPath(void) const;
133 void SetDistributorCertPath(Tizen::Security::Cert::X509CertificatePath* pDistributorCertPath);
135 RootCertificateType GetRootCertType(void) const;
136 void SetRootCertType(RootCertificateType certType);
138 int GetPackageNameType(void) const;
139 void SetPackageNameType(int type);
141 app2ext_handle* GetApp2ExtHandle(void) const;
142 void SetApp2ExtHandle(app2ext_handle* pHandle);
144 Tizen::App::Package::_PackageInfoImpl* GetPackageInfoImpl(void) const;
146 PackageData __packageData;
147 Tizen::Base::Collection::IListT<AppData *>* __pAppDataList;
150 Tizen::Base::String __subModeAppName;
153 InstallationContext(const InstallationContext& value);
154 InstallationContext& operator =(const InstallationContext& source);
156 IInstallationStep* __pStep;
157 DrmLicense* __pDrmLicense;
158 InstallerError __error;
159 InstallationStep __step;
161 InstallationState __state;
165 bool __hybridService;
166 bool __verificationMode;
168 Tizen::Base::String __inputPath;
169 InstallerOperation __operation;
170 InstallationStorage __storage;
172 Tizen::Base::String __packagePath;
173 Tizen::Base::String __licensePath;
174 Tizen::Base::String __temporaryDir;
175 Tizen::Base::String __installDir;
176 Tizen::Base::String __workingDir;
177 Tizen::Base::String __packageId;
178 Tizen::Base::String __appVersion;
179 Tizen::Base::String __appRootPath;
181 Tizen::Base::Collection::ArrayList* __pPrivilegeList;
182 Tizen::Base::Collection::ArrayList* __pLiveboxDataList;
183 Tizen::Base::Collection::ArrayList* __pContentDataList;
184 Tizen::Security::Cert::X509CertificatePath* __pAuthorCertPath;
185 Tizen::Security::Cert::X509CertificatePath* __pDistributorCertPath;
186 RootCertificateType __rootCertType;
188 int __packageNameType;
189 app2ext_handle* __pApp2ExtHandle;
191 Tizen::App::Package::_PackageInfoImpl* __pPackageInfoImpl;
193 }; // InstallationContext
195 #endif // _INSTALLATION_CONTEXT_H_