From: Duyoung Jang Date: Thu, 21 Mar 2013 00:37:12 +0000 (+0900) Subject: Update GetPackageAppInfoN() API X-Git-Tag: accepted/tizen_2.1/20130425.034849~245^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=00c7c24021531edad470446e184ad5d857ef4272;p=framework%2Fosp%2Fappfw.git Update GetPackageAppInfoN() API Change-Id: I57204ed84403e4ac4b17480784502a1a06cc8cfc Signed-off-by: Duyoung Jang --- diff --git a/src/app/package/FAppPkg_PackageInfoImpl.cpp b/src/app/package/FAppPkg_PackageInfoImpl.cpp index fd97e11..4151206 100755 --- a/src/app/package/FAppPkg_PackageInfoImpl.cpp +++ b/src/app/package/FAppPkg_PackageInfoImpl.cpp @@ -380,7 +380,40 @@ _PackageInfoImpl::GetPackageAppInfoN(const AppId& appId) const } else { - SysLog(NID_APP, "GetPackageAppInfoN() is not available."); + SysTryReturn(NID_APP, __pPackageAppInfoList, null, E_SYSTEM, "__pPackageAppInfoList must not be null."); + + result r = E_SUCCESS; + + for (int i = 0; i < __pPackageAppInfoList->GetCount(); i++) + { + PackageAppInfo* pPackageAppInfo = dynamic_cast < PackageAppInfo* >(__pPackageAppInfoList->GetAt(i)); + if (pPackageAppInfo) + { + if (appId != pPackageAppInfo->GetAppId()) + { + continue; + } + + 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."); + + String appName = pPackageAppInfo->GetAppName(); + String appDisplayName = pPackageAppInfo->GetAppDisplayName(); + bool menuIconVisible = pPackageAppInfo->IsMenuIconVisible(); + bool mainApp = pPackageAppInfo->IsMainApp(); + + pPackageAppInfoImpl->SetAppId(appId); + pPackageAppInfoImpl->SetAppName(appName); + pPackageAppInfoImpl->SetAppDisplayName(appDisplayName); + pPackageAppInfoImpl->SetMenuIconVisible(menuIconVisible); + pPackageAppInfoImpl->SetMainApp(mainApp); + + return pInfo; + } + } } return null;