HashMap*
_PackageAppInfoImpl::GetAppMetadataListN(void) const
{
- HashMap* pMap = null;
-
if (__fromDatabase)
{
SysTryReturn(NID_APP, __pAppInfoHandle, null, E_SYSTEM, "__pAppInfoHandle is null.");
- result r = E_SUCCESS;
int res = PMINFO_R_OK;
- pMap = new (std::nothrow) HashMap();
+ std::unique_ptr< HashMap > pMap(new (std::nothrow) HashMap());
SysTryReturn(NID_APP, pMap, null, E_OUT_OF_MEMORY, "ArrayList creation failure.");
pMap->Construct();
- res = pkgmgrinfo_appinfo_foreach_metadata(__pAppInfoHandle, MetadataHandler, pMap);
- if (res != PMINFO_R_OK)
- {
- SysLog(NID_APP, "pkgmgrinfo_appinfo_foreach_metadata() is failed. result = [%d]", res);
- r = E_SYSTEM;
+ res = pkgmgrinfo_appinfo_foreach_metadata(__pAppInfoHandle, MetadataHandler, pMap.get());
+ SysTryReturn(NID_APP, res == PMINFO_R_OK, null, E_SYSTEM, "pkgmgrinfo_appinfo_foreach_metadata() failed. [%d]", res);
- pMap->RemoveAll(true);
- pMap = null;
+ if (pMap->GetCount() <= 0)
+ {
+ return null;
}
- SetLastResult(r);
+ return pMap.release();
}
else
{
SysLog(NID_APP, "GetAppMetadataListN() is not available.");
+ return null;
}
-
- return pMap;
}
ArrayList*
_PackageAppInfoImpl::GetAppCategoryListN(void) const
{
- ArrayList* pList = null;
-
if (__fromDatabase)
{
SysTryReturn(NID_APP, __pAppInfoHandle, null, E_SYSTEM, "[E_SYSTEM] __pAppInfoHandle is null.");
- result r = E_SUCCESS;
int res = PMINFO_R_OK;
- pList = new (std::nothrow) ArrayList();
+ std::unique_ptr< ArrayList > pList(new (std::nothrow) ArrayList());
SysTryReturn(NID_APP, pList, null, E_OUT_OF_MEMORY, "ArrayList creation failure.");
pList->Construct();
- res = pkgmgrinfo_appinfo_foreach_category(__pAppInfoHandle, CategoryHandler, pList);
- if (res != PMINFO_R_OK)
- {
- SysLog(NID_APP, "pkgmgrinfo_appinfo_foreach_category() is failed. result = [%d]", res);
- r = E_SYSTEM;
+ res = pkgmgrinfo_appinfo_foreach_category(__pAppInfoHandle, CategoryHandler, pList.get());
+ SysTryReturn(NID_APP, res == PMINFO_R_OK, null, E_SYSTEM, "pkgmgrinfo_appinfo_foreach_category() failed. [%d]", res);
- pList->RemoveAll(true);
- pList = null;
+ if (pList->GetCount() <= 0)
+ {
+ return null;
}
- SetLastResult(r);
-
+ return pList.release();
}
else
{
SysLog(NID_APP, "GetAppCategoryListN() is not available.");
+ return null;
}
-
- return pList;
}
bool
SysTryReturnResult(NID_APP, pAppId, E_OUT_OF_MEMORY, "pAppId is null");
res = pkgmgrinfo_appinfo_get_appinfo(pAppId.get(), &__pAppInfoHandle);
- SysTryReturnResult(NID_APP, res == 0, E_SYSTEM, "pkgmgrinfo_appinfo_get_appinfo failed, res = [%d], appId = [%s]", res, pAppId.get());
+ SysTryReturnResult(NID_APP, res == 0, E_SYSTEM, "pkgmgrinfo_appinfo_get_appinfo failed, res = [%d], app = [%s]", res, pAppId.get());
__fromDatabase = true;