Merge "Update GetPackageAppInfoN() API" into tizen_2.1
authorDuyoung Jang <duyoung.jang@samsung.com>
Thu, 21 Mar 2013 01:34:26 +0000 (10:34 +0900)
committerGerrit Code Review <gerrit2@kim11>
Thu, 21 Mar 2013 01:34:26 +0000 (10:34 +0900)
src/app/package/FAppPkg_PackageInfoImpl.cpp

index fd97e11..4151206 100755 (executable)
@@ -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;