X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fapp%2Fpackage%2FFAppPkg_PackageInfoImpl.cpp;h=3cafda78cb23f71e75a49759e64d6755010a2311;hb=774195322181a70ec84cf0e8a1984b29ca786a06;hp=47478e4f997af56de2c651ae6406dec74545764f;hpb=7b6bda609246e968d473180896907de3933c774b;p=platform%2Fframework%2Fnative%2Fappfw.git diff --git a/src/app/package/FAppPkg_PackageInfoImpl.cpp b/src/app/package/FAppPkg_PackageInfoImpl.cpp index 47478e4..3cafda7 100755 --- a/src/app/package/FAppPkg_PackageInfoImpl.cpp +++ b/src/app/package/FAppPkg_PackageInfoImpl.cpp @@ -322,10 +322,10 @@ _PackageInfoImpl::GetPackageAppInfoListN(void) PackageAppInfo* pPackageAppInfo = dynamic_cast (__pPackageAppInfoList->GetAt(i)); if (pPackageAppInfo) { - PackageAppInfo* pInfo = new (std::nothrow) PackageAppInfo; + std::unique_ptr< PackageAppInfo > pInfo(new (std::nothrow) PackageAppInfo); SysTryReturn(NID_APP, pInfo, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Insufficient memory"); - _PackageAppInfoImpl* pPackageAppInfoImpl = _PackageAppInfoImpl::GetInstance(pInfo); + _PackageAppInfoImpl* pPackageAppInfoImpl = _PackageAppInfoImpl::GetInstance(pInfo.get()); SysTryReturn(NID_APP, pPackageAppInfoImpl, null, E_SYSTEM, "pPackageAppInfoImpl is null."); AppId appId = pPackageAppInfo->GetAppId(); @@ -340,7 +340,7 @@ _PackageInfoImpl::GetPackageAppInfoListN(void) pPackageAppInfoImpl->SetMenuIconVisible(menuIconVisible); pPackageAppInfoImpl->SetMainApp(mainApp); - r = pList->Add(*pInfo); + r = pList->Add(*pInfo.release()); } } } @@ -364,7 +364,7 @@ _PackageInfoImpl::GetPackageAppInfoN(const AppId& appId) const res = pkgmgrinfo_appinfo_get_appinfo(pAppId.get(), &appInfoHandle); if (res == 0) { - SysLog(NID_APP, "pkgmgrinfo_appinfo_get_appinfo(): appId = [%s]", pAppId.get()); + SysLog(NID_APP, "pkgmgrinfo_appinfo_get_appinfo(): app = [%s]", pAppId.get()); PackageAppInfo* pPackageAppInfo = new (std::nothrow) PackageAppInfo; SysTryReturn(NID_APP, pPackageAppInfo != null, 0, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Insufficient memory"); @@ -392,24 +392,29 @@ _PackageInfoImpl::GetPackageAppInfoN(const AppId& appId) const continue; } - PackageAppInfo* pInfo = new (std::nothrow) PackageAppInfo; + _PackageAppInfoImpl* pPackageAppInfoImpl = _PackageAppInfoImpl::GetInstance(pPackageAppInfo); + SysTryReturn(NID_APP, pPackageAppInfoImpl, null, E_SYSTEM, "pPackageAppInfoImpl is null."); + + std::unique_ptr< PackageAppInfo > pInfo(new (std::nothrow) PackageAppInfo); SysTryReturn(NID_APP, pInfo, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Insufficient memory"); - _PackageAppInfoImpl* pPackageAppInfoImpl = _PackageAppInfoImpl::GetInstance(pInfo); - SysTryReturn(NID_APP, pPackageAppInfoImpl, null, E_SYSTEM, "pPackageAppInfoImpl is null."); + _PackageAppInfoImpl* pImpl = _PackageAppInfoImpl::GetInstance(pInfo.get()); + SysTryReturn(NID_APP, pImpl, null, E_SYSTEM, "pImpl is null."); String appName = pPackageAppInfo->GetAppName(); String appDisplayName = pPackageAppInfo->GetAppDisplayName(); bool menuIconVisible = pPackageAppInfo->IsMenuIconVisible(); bool mainApp = pPackageAppInfo->IsMainApp(); + String tempIconPath = pPackageAppInfoImpl->GetAppTempIconPath(); - pPackageAppInfoImpl->SetAppId(appId); - pPackageAppInfoImpl->SetAppName(appName); - pPackageAppInfoImpl->SetAppDisplayName(appDisplayName); - pPackageAppInfoImpl->SetMenuIconVisible(menuIconVisible); - pPackageAppInfoImpl->SetMainApp(mainApp); + pImpl->SetAppId(appId); + pImpl->SetAppName(appName); + pImpl->SetAppDisplayName(appDisplayName); + pImpl->SetMenuIconVisible(menuIconVisible); + pImpl->SetMainApp(mainApp); + pImpl->SetAppTempIconPath(tempIconPath); - return pInfo; + return pInfo.release(); } } } @@ -445,7 +450,7 @@ _PackageInfoImpl::GetPackageAppInfo(const pkgmgrinfo_appinfo_h handle, PackageAp res = pkgmgrinfo_appinfo_get_appid(handle, &pAppId); if (res == 0) { - SysLog(NID_APP, "pkgmgrinfo_appinfo_get_appid(): appId = [%s]", pAppId); + SysLog(NID_APP, "pkgmgrinfo_appinfo_get_appid(): app = [%s]", pAppId); pPackageAppInfoImpl->Construct(pAppId); } else @@ -463,25 +468,33 @@ _PackageInfoImpl::GetPrivilegeListN(void) const result r = E_SUCCESS; - ArrayList* pPrivilegeList = new (std::nothrow) ArrayList; + std::unique_ptr< ArrayList > pPrivilegeList(new (std::nothrow) ArrayList); SysTryReturn(NID_APP, pPrivilegeList, null, E_OUT_OF_MEMORY, "pPrivilegeList must not be null."); pPrivilegeList->Construct(); for (int i = 0; i < __pPrivilegeList->GetCount(); i++) { - String* pPrivilege = dynamic_cast (__pPrivilegeList->GetAt(i)); + String* pPrivilege = dynamic_cast < String* >(__pPrivilegeList->GetAt(i)); if (pPrivilege) { - PrivilegeInfo* pPrivilegeInfo = new (std::nothrow) PrivilegeInfo; + std::unique_ptr< PrivilegeInfo > pPrivilegeInfo(new (std::nothrow) PrivilegeInfo); SysTryReturn(NID_APP, pPrivilegeInfo, null, E_OUT_OF_MEMORY, "pPrivilegeInfo must not be null."); - pPrivilegeInfo->Construct(*pPrivilege); + r = pPrivilegeInfo->Construct(*pPrivilege); + SysTryReturn(NID_APP, !IsFailed(r), null, E_SYSTEM, "pPrivilegeInfo->Construct() failed."); - r = pPrivilegeList->Add(*pPrivilegeInfo); + r = pPrivilegeList->Add(*pPrivilegeInfo.release()); + SysTryReturn(NID_APP, !IsFailed(r), null, E_SYSTEM, "pPrivilegeList->Add() failed."); } } - return pPrivilegeList; + if (pPrivilegeList->GetCount() <= 0) + { + SysLog(NID_APP, "pPrivilegeList->GetCount() is invalid."); + return null; + } + + return pPrivilegeList.release(); } result @@ -981,19 +994,19 @@ _PackageInfoImpl::Construct(const PackageId& packageId) int installedTime = 0; pkgmgrinfo_installed_storage storage = PMINFO_INTERNAL_STORAGE; bool removable = true; + bool preloaded = true; std::unique_ptr pPackageId(_StringConverter::CopyToCharArrayN(packageId)); SysTryReturnResult(NID_APP, pPackageId, E_OUT_OF_MEMORY, "pPackageId is null"); result = pkgmgrinfo_pkginfo_get_pkginfo(pPackageId.get(), &__packageInfoHandle); - SysTryReturnResult(NID_APP, result == PMINFO_R_OK, E_PKG_NOT_INSTALLED, "pkgmgrinfo_pkginfo_get_pkginfo() is failed. result=[%d], packageId=[%s]", result, pPackageId.get()); + SysTryReturnResult(NID_APP, result == PMINFO_R_OK, E_PKG_NOT_INSTALLED, "pkgmgrinfo_pkginfo_get_pkginfo() is failed. result=[%d], package=[%s]", result, pPackageId.get()); __fromDatabase = true; result = pkgmgrinfo_pkginfo_get_pkgname(__packageInfoHandle, &pPackage); if (result == PMINFO_R_OK) { - SysLog(NID_APP, "pkgmgrinfo_pkginfo_get_pkgname(): package = [%s]", pPackage); String package(pPackage); __id = package; } @@ -1005,7 +1018,6 @@ _PackageInfoImpl::Construct(const PackageId& packageId) result = pkgmgrinfo_pkginfo_get_version(__packageInfoHandle, &pVersion); if (result == PMINFO_R_OK) { - SysLog(NID_APP, "pkgmgrinfo_pkginfo_get_version(): version = [%s]", pVersion); String version(pVersion); __version = version; } @@ -1017,7 +1029,6 @@ _PackageInfoImpl::Construct(const PackageId& packageId) result = pkgmgrinfo_pkginfo_get_type(__packageInfoHandle, &pType); if (result == PMINFO_R_OK) { - SysLog(NID_APP, "pkgmgrinfo_pkginfo_get_type(): type = [%s]", pType); String type(pType); __type = type; } @@ -1029,7 +1040,6 @@ _PackageInfoImpl::Construct(const PackageId& packageId) result = pkgmgrinfo_pkginfo_get_label(__packageInfoHandle, &pName); if (result == PMINFO_R_OK) { - SysLog(NID_APP, "pkgmgrinfo_pkginfo_get_label(): name = [%s]", pName); String Name(pName); __displayName = Name; } @@ -1041,7 +1051,6 @@ _PackageInfoImpl::Construct(const PackageId& packageId) result = pkgmgrinfo_pkginfo_get_icon(__packageInfoHandle, &pIconPath); if (result == PMINFO_R_OK) { - SysLog(NID_APP, "pkgmgrinfo_pkginfo_get_icon(): iconpath = [%s]", pIconPath); String path(pIconPath); __appIconPath = path; } @@ -1053,8 +1062,6 @@ _PackageInfoImpl::Construct(const PackageId& packageId) result = pkgmgrinfo_pkginfo_is_removable(__packageInfoHandle, &removable); if (result == PMINFO_R_OK) { - SysLog(NID_APP, "pkgmgrinfo_pkginfo_is_removable(): removable = [%d]", removable); - if (removable == false) { __uninstallable = false; @@ -1065,10 +1072,22 @@ _PackageInfoImpl::Construct(const PackageId& packageId) SysLog(NID_APP, "pkgmgrinfo_pkginfo_is_removable() is failed. result = [%d]", result); } + result = pkgmgrinfo_pkginfo_is_preload(__packageInfoHandle, &preloaded); + if (result == PMINFO_R_OK) + { + if (preloaded == false) + { + __downloaded = true; + } + } + else + { + SysLog(NID_APP, "pkgmgrinfo_pkginfo_is_preload() is failed. result = [%d]", result); + } + result = pkgmgrinfo_pkginfo_get_description(__packageInfoHandle, &pDescription); if (result == PMINFO_R_OK) { - SysLog(NID_APP, "pkgmgrinfo_pkginfo_get_description(): description = [%s]", pDescription); String description(pDescription); __description = description; } @@ -1080,7 +1099,6 @@ _PackageInfoImpl::Construct(const PackageId& packageId) result = pkgmgrinfo_pkginfo_get_author_name(__packageInfoHandle, &pAuthor); if (result == PMINFO_R_OK) { - SysLog(NID_APP, "pkgmgrinfo_pkginfo_get_author_name(): author = [%s]", pAuthor); String author(pAuthor); __author = author; } @@ -1114,7 +1132,6 @@ _PackageInfoImpl::Construct(const PackageId& packageId) result = pkgmgrinfo_pkginfo_get_installed_storage(__packageInfoHandle, &storage); if (result == PMINFO_R_OK) { - SysLog(NID_APP, "pkgmgrinfo_pkginfo_get_installed_storage(): storage = [%d]", storage); if (storage == PMINFO_EXTERNAL_STORAGE) { __externalStorage = true; @@ -1128,7 +1145,6 @@ _PackageInfoImpl::Construct(const PackageId& packageId) result = pkgmgrinfo_pkginfo_get_url(__packageInfoHandle, &pUrl); if (result == PMINFO_R_OK) { - SysLog(NID_APP, "pkgmgrinfo_pkginfo_get_url(): url = [%s]", pUrl); String url(pUrl); __url = url; } @@ -1140,7 +1156,6 @@ _PackageInfoImpl::Construct(const PackageId& packageId) result = pkgmgrinfo_pkginfo_get_mainappid(__packageInfoHandle, &pMainAppId); if (result == PMINFO_R_OK) { - SysLog(NID_APP, "pkgmgrinfo_pkginfo_get_mainappid(): mainAppId = [%s]", pMainAppId); AppId mainAppId(pMainAppId); __mainAppId = mainAppId; } @@ -1152,7 +1167,6 @@ _PackageInfoImpl::Construct(const PackageId& packageId) result = pkgmgrinfo_pkginfo_get_storeclientid(__packageInfoHandle, &pStoreClientId); if (result == PMINFO_R_OK) { - SysLog(NID_APP, "pkgmgrinfo_pkginfo_get_storeclientid(): storeClientId = [%s]", pStoreClientId); String storeClientId(pStoreClientId); __storeClientId = storeClientId; } @@ -1164,7 +1178,6 @@ _PackageInfoImpl::Construct(const PackageId& packageId) result = pkgmgrinfo_pkginfo_get_root_path(__packageInfoHandle, &pRootPath); if (result == PMINFO_R_OK) { - SysLog(NID_APP, "pkgmgrinfo_pkginfo_get_root_path(): rootPath = [%s]", pRootPath); String rootPath(pRootPath); __appRootPath = rootPath; } @@ -1173,6 +1186,11 @@ _PackageInfoImpl::Construct(const PackageId& packageId) SysLog(NID_APP, "pkgmgrinfo_pkginfo_get_root_path() is failed. result = [%d]", result); } + SysLog(NID_APP, "package(%ls), version(%ls), type(%ls), displayName(%ls), uninstallable(%d), downloaded(%d), " + "externalStorage(%d), mainApp(%ls), storeClient(%ls), appRootPath(%ls)", + __id.GetPointer(), __version.GetPointer(), __type.GetPointer(), __displayName.GetPointer(), __uninstallable, __downloaded, + __externalStorage, __mainAppId.GetPointer(), __storeClientId.GetPointer(), __appRootPath.GetPointer()); + return r; }