2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
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
8 // http://www.apache.org/licenses/LICENSE-2.0
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.
18 * @file FAppPkg_PackageInfoImpl.h
19 * @brief This is the header file for the _PackageInfoImpl class.
22 #ifndef _FAPP_PKG_INTERNAL_PACKAGE_INFO_IMPL_H_
23 #define _FAPP_PKG_INTERNAL_PACKAGE_INFO_IMPL_H_
25 #include <pkgmgr-info.h>
27 #include <FBaseObject.h>
28 #include <FBaseString.h>
29 #include <FOspConfig.h>
30 #include <FBaseInternalTypes.h>
32 #include <FAppPkg_PackageManagerImpl.h>
34 namespace Tizen { namespace App
36 class _AppManagerProxy;
39 namespace Tizen { namespace App { namespace Package
43 class _PackageAppInfoImpl;
45 class _OSP_EXPORT_ _PackageInfoImpl
46 : public Tizen::Base::Object
49 const PackageId& GetId(void) const;
50 result SetId(const PackageId& id);
52 const Tizen::Base::String& GetVersion(void) const;
53 result SetVersion(const Tizen::Base::String& version);
55 PackageType GetType(void) const;
56 result SetType(PackageType packageType);
58 const Tizen::Base::String& GetDisplayName(void) const;
59 result SetDisplayName(const Tizen::Base::String& displayName);
61 const Tizen::Base::String& GetDescription(void) const;
62 result SetDescription(const Tizen::Base::String& description);
64 const Tizen::Base::String& GetAuthor(void) const;
65 result SetAuthor(const Tizen::Base::String& author);
67 const Tizen::Base::String& GetUrl(void) const;
68 result SetUrl(const Tizen::Base::String& url);
70 const Tizen::Base::DateTime& GetInstallationTime(void) const;
71 result SetInstallationTime(const Tizen::Base::DateTime& installationTime);
73 bool IsInstalledInExternalStorage(void) const;
74 result SetInstalledInExternalStorage(bool externalStorage);
76 bool IsUninstallable(void) const;
77 result SetUninstallable(bool uninstallable);
79 bool IsMovable(void) const;
80 result SetMovable(bool movable);
82 bool IsDownloaded(void) const;
83 result SetDownloaded(bool downloaded);
85 long long GetSize(void) const;
86 long long GetDataSize(void) const;
88 const AppId& GetMainAppId(void) const;
89 result SetMainAppId(const AppId& appId);
91 const PackageId& GetStoreClientId(void) const;
92 result SetStoreClientId(const PackageId& packageId);
94 Tizen::Base::Collection::ArrayList* GetPackageAppInfoListN(void);
95 PackageAppInfo* GetPackageAppInfoN(const AppId& appId) const;
97 static int PackageAppInfoListHandler(const pkgmgrinfo_appinfo_h handle, void* pUser_data);
99 Tizen::Base::Collection::IList* GetPrivilegeListN(void) const;
100 result AddPrivilege(const Tizen::Base::String& privilege);
102 result AddPackageAppInfo(const PackageAppInfo& appInfo);
105 _PackageInfoImpl(void);
106 virtual ~_PackageInfoImpl(void);
108 const Tizen::Base::String& GetAppId(void) const;
109 result SetAppId(const Tizen::Base::String& id);
111 const Tizen::Base::String& GetAppVersion(void) const;
112 result SetAppVersion(const Tizen::Base::String& version);
114 const Tizen::Base::String& GetAppType(void) const;
115 result SetAppType(const Tizen::Base::String& appType);
117 const Tizen::Base::String& GetAppMimeType(void) const;
118 result SetAppMimeType(const Tizen::Base::String& appMimeType);
120 const Tizen::Base::String& GetAppApiVersion(void) const;
121 result SetAppApiVersion(const Tizen::Base::String& appApiVersion);
123 const Tizen::Base::String& GetAppName(void) const;
124 result SetAppName(const Tizen::Base::String& appName);
126 const Tizen::Base::String& GetAppDescription(void) const;
127 result SetAppDescription(const Tizen::Base::String& appDescription);
129 const Tizen::Base::String& GetAppVendor(void) const;
130 result SetAppVendor(const Tizen::Base::String& appVendor);
132 const Tizen::Base::String& GetAppUrl(void) const;
133 result SetAppUrl(const Tizen::Base::String& AppUrl);
135 const Tizen::Base::String& GetAppCid(void) const;
136 result SetAppCid(const Tizen::Base::String& appCid);
138 const Tizen::Base::String& GetAppRootPath(void) const;
139 result SetAppRootPath(const Tizen::Base::String& rootPath);
141 int GetAppStorageType(void) const;
142 result SetAppStorageType(int storageType);
144 int GetCertType(void) const;
145 result SetCertType(int certType);
147 Tizen::Base::Collection::ArrayList* GetAppInfoListN(void) const;
148 Tizen::Base::Collection::ArrayList* GetAppInfoList(void);
149 result AddAppInfo(const _PackageAppInfoImpl& appInfoImpl);
151 result GetPrivileges(Tizen::Base::String& privileges, Tizen::Base::String& hmacPrivileges, Tizen::Base::Collection::ArrayList& privilegeList);
152 result GetPrivilegesValue(Tizen::Base::String& privileges, Tizen::Base::String& hmacPrivileges) const;
153 result SetPrivilegesValue(const Tizen::Base::String& privileges, const Tizen::Base::String& hmacPrivileges);
155 int GetApiVisibility() const;
157 const Tizen::Base::String& GetAppIconPath(void) const;
158 result SetAppIconPath(const Tizen::Base::String& appIconPath);
160 const Tizen::Base::DateTime& GetAppInstallationTime(void) const;
161 result SetAppInstallationTime(const Tizen::Base::DateTime& installationTime);
163 result GetUiScalabilityInfo(Tizen::Base::String& baseScreenSize, Tizen::Base::String& coordinateSystem, Tizen::Base::String& logicalCoordinate) const;
166 const Tizen::Base::String& GetAppPackageName(void);
168 const Tizen::Base::String& GetApiVersion(void) const;
169 result SetApiVersion(const Tizen::Base::String& apiVersion);
171 const Tizen::Base::String& GetName(void) const;
172 result SetName(const Tizen::Base::String& name);
174 result Construct(const PackageId& packageId);
176 int GetUniqueId(void) const;
178 static _PackageInfoImpl* GetInstance(PackageInfo* pPackageInfo);
179 static const _PackageInfoImpl* GetInstance(const PackageInfo* pPackageInfo);
182 static bool GetPackageAppInfo(const pkgmgrinfo_appinfo_h handle, PackageAppInfo* pPackageAppInfo);
185 Tizen::Base::String __id;
186 Tizen::Base::String __version;
187 Tizen::Base::String __type;
188 Tizen::Base::String __appMimeType;
189 Tizen::Base::String __appApiVersion;
190 Tizen::Base::String __displayName;
191 Tizen::Base::String __description;
192 Tizen::Base::String __author;
193 Tizen::Base::String __url;
194 Tizen::Base::String __appCid;
195 Tizen::Base::String __appParentId;
196 Tizen::Base::String __appRootPath;
197 Tizen::Base::String __appIconPath;
198 Tizen::Base::DateTime __dateTime;
200 int __appReadOnlySize;
202 int __appStorageType;
207 PackageId __storeClientId;
209 Tizen::Base::Collection::ArrayList* __pPrivilegeList;
210 Tizen::Base::Collection::ArrayList* __pAppInfoImplList;
211 Tizen::Base::Collection::ArrayList* __pPackageAppInfoList;
212 Tizen::Base::String __privileges;
213 Tizen::Base::String __hmacPrivileges;
216 Tizen::Base::String __appPackageName;
218 pkgmgrinfo_pkginfo_h __packageInfoHandle;
219 bool __uninstallable;
222 bool __iconAvailable;
223 bool __externalStorage;
226 PackageType __packageType;
228 PackageInfo* __pPackageInfo;
230 friend class PackageInfo;
232 }; // _PackageInfoImpl
234 } } } // Tizen::App::Package
236 #endif //_FAPP_PKG_INTERNAL_PACKAGE_INFO_IMPL_H_