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.
19 * @file FAppPkg_PackageInfoImpl.h
20 * @brief This is the header file for the _PackageInfoImpl class.
23 #ifndef _FAPP_PKG_INTERNAL_PACKAGE_INFO_IMPL_H_
24 #define _FAPP_PKG_INTERNAL_PACKAGE_INFO_IMPL_H_
26 #include <pkgmgr-info.h>
28 #include <FBaseObject.h>
29 #include <FBaseString.h>
30 #include <FOspConfig.h>
31 #include <FBaseInternalTypes.h>
33 #include <FAppPkg_PackageManagerImpl.h>
35 namespace Tizen { namespace App
37 class _AppManagerProxy;
40 namespace Tizen { namespace App { namespace Package
44 class _PackageAppInfoImpl;
46 class _OSP_EXPORT_ _PackageInfoImpl
47 : public Tizen::Base::Object
50 const PackageId& GetId(void) const;
51 result SetId(const PackageId& id);
53 const Tizen::Base::String& GetVersion(void) const;
54 result SetVersion(const Tizen::Base::String& version);
56 PackageType GetType(void) const;
57 result SetType(PackageType packageType);
59 const Tizen::Base::String& GetDisplayName(void) const;
60 result SetDisplayName(const Tizen::Base::String& displayName);
62 const Tizen::Base::String& GetDescription(void) const;
63 result SetDescription(const Tizen::Base::String& description);
65 const Tizen::Base::String& GetAuthor(void) const;
66 result SetAuthor(const Tizen::Base::String& author);
68 const Tizen::Base::String& GetUrl(void) const;
69 result SetUrl(const Tizen::Base::String& url);
71 const Tizen::Base::DateTime& GetInstallationTime(void) const;
72 result SetInstallationTime(const Tizen::Base::DateTime& installationTime);
74 bool IsInstalledInExternalStorage(void) const;
75 result SetInstalledInExternalStorage(bool externalStorage);
77 bool IsUninstallable(void) const;
78 result SetUninstallable(bool uninstallable);
80 bool IsMovable(void) const;
81 result SetMovable(bool movable);
83 bool IsDownloaded(void) const;
84 result SetDownloaded(bool downloaded);
86 long long GetSize(void) const;
87 long long GetDataSize(void) const;
89 const AppId& GetMainAppId(void) const;
90 result SetMainAppId(const AppId& appId);
92 const PackageId& GetStoreClientId(void) const;
93 result SetStoreClientId(const PackageId& packageId);
95 Tizen::Base::Collection::ArrayList* GetPackageAppInfoListN(void);
96 PackageAppInfo* GetPackageAppInfoN(const AppId& appId) const;
98 static int PackageAppInfoListHandler(const pkgmgrinfo_appinfo_h handle, void* pUser_data);
100 Tizen::Base::Collection::ArrayList* GetPrivilegeListN(void) const;
101 result AddPrivilege(const Tizen::Base::String& privilege);
103 result AddPackageAppInfo(const PackageAppInfo& appInfo);
106 _PackageInfoImpl(void);
107 virtual ~_PackageInfoImpl(void);
109 const Tizen::Base::String& GetAppId(void) const;
110 result SetAppId(const Tizen::Base::String& id);
112 const Tizen::Base::String& GetAppVersion(void) const;
113 result SetAppVersion(const Tizen::Base::String& version);
115 const Tizen::Base::String& GetAppType(void) const;
116 result SetAppType(const Tizen::Base::String& appType);
118 const Tizen::Base::String& GetAppMimeType(void) const;
119 result SetAppMimeType(const Tizen::Base::String& appMimeType);
121 const Tizen::Base::String& GetAppApiVersion(void) const;
122 result SetAppApiVersion(const Tizen::Base::String& appApiVersion);
124 const Tizen::Base::String& GetAppName(void) const;
125 result SetAppName(const Tizen::Base::String& appName);
127 const Tizen::Base::String& GetAppDescription(void) const;
128 result SetAppDescription(const Tizen::Base::String& appDescription);
130 const Tizen::Base::String& GetAppVendor(void) const;
131 result SetAppVendor(const Tizen::Base::String& appVendor);
133 const Tizen::Base::String& GetAppUrl(void) const;
134 result SetAppUrl(const Tizen::Base::String& AppUrl);
136 const Tizen::Base::String& GetAppCid(void) const;
137 result SetAppCid(const Tizen::Base::String& appCid);
139 const Tizen::Base::String& GetAppRootPath(void) const;
140 result SetAppRootPath(const Tizen::Base::String& rootPath);
142 int GetAppStorageType(void) const;
143 result SetAppStorageType(int storageType);
145 int GetCertType(void) const;
146 result SetCertType(int certType);
148 Tizen::Base::Collection::ArrayList* GetAppInfoListN(void) const;
149 Tizen::Base::Collection::ArrayList* GetAppInfoList(void);
150 result AddAppInfo(const _PackageAppInfoImpl& appInfoImpl);
152 result GetPrivileges(Tizen::Base::String& privileges, Tizen::Base::String& hmacPrivileges, Tizen::Base::Collection::ArrayList& privilegeList);
153 result GetPrivilegesValue(Tizen::Base::String& privileges, Tizen::Base::String& hmacPrivileges) const;
154 result SetPrivilegesValue(const Tizen::Base::String& privileges, const Tizen::Base::String& hmacPrivileges);
156 int GetApiVisibility() const;
158 const Tizen::Base::String& GetAppIconPath(void) const;
159 result SetAppIconPath(const Tizen::Base::String& appIconPath);
161 const Tizen::Base::DateTime& GetAppInstallationTime(void) const;
162 result SetAppInstallationTime(const Tizen::Base::DateTime& installationTime);
164 result GetUiScalabilityInfo(Tizen::Base::String& baseScreenSize, Tizen::Base::String& coordinateSystem, Tizen::Base::String& logicalCoordinate) const;
167 const Tizen::Base::String& GetAppPackageName(void);
169 const Tizen::Base::String& GetApiVersion(void) const;
170 result SetApiVersion(const Tizen::Base::String& apiVersion);
172 const Tizen::Base::String& GetName(void) const;
173 result SetName(const Tizen::Base::String& name);
175 result Construct(const PackageId& packageId);
177 int GetUniqueId(void) const;
179 static _PackageInfoImpl* GetInstance(PackageInfo* pPackageInfo);
180 static const _PackageInfoImpl* GetInstance(const PackageInfo* pPackageInfo);
183 static bool GetPackageAppInfo(const pkgmgrinfo_appinfo_h handle, PackageAppInfo* pPackageAppInfo);
186 Tizen::Base::String __id;
187 Tizen::Base::String __version;
188 Tizen::Base::String __type;
189 Tizen::Base::String __appMimeType;
190 Tizen::Base::String __appApiVersion;
191 Tizen::Base::String __displayName;
192 Tizen::Base::String __description;
193 Tizen::Base::String __author;
194 Tizen::Base::String __url;
195 Tizen::Base::String __appCid;
196 Tizen::Base::String __appParentId;
197 Tizen::Base::String __appRootPath;
198 Tizen::Base::String __appIconPath;
199 Tizen::Base::DateTime __dateTime;
201 int __appReadOnlySize;
203 int __appStorageType;
208 PackageId __storeClientId;
210 Tizen::Base::Collection::ArrayList* __pPrivilegeList;
211 Tizen::Base::Collection::ArrayList* __pAppInfoImplList;
212 Tizen::Base::Collection::ArrayList* __pPackageAppInfoList;
213 Tizen::Base::String __privileges;
214 Tizen::Base::String __hmacPrivileges;
217 Tizen::Base::String __appPackageName;
219 pkgmgrinfo_pkginfo_h __packageInfoHandle;
220 bool __uninstallable;
223 bool __iconAvailable;
224 bool __externalStorage;
227 PackageType __packageType;
229 PackageInfo* __pPackageInfo;
231 friend class PackageInfo;
233 }; // _PackageInfoImpl
235 } } } // Tizen::App::Package
237 #endif //_FAPP_PKG_INTERNAL_PACKAGE_INFO_IMPL_H_