PackageAppInfo* pPackageAppInfo = dynamic_cast <PackageAppInfo*>(__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();
pPackageAppInfoImpl->SetMenuIconVisible(menuIconVisible);
pPackageAppInfoImpl->SetMainApp(mainApp);
- r = pList->Add(*pInfo);
+ r = pList->Add(*pInfo.release());
}
}
}
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");
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();
}
}
}
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
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 <String*>(__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
char* pUrl = null;
char* pMainAppId = null;
char* pStoreClientId = null;
+ char* pRootPath = null;
int installedTime = 0;
pkgmgrinfo_installed_storage storage = PMINFO_INTERNAL_STORAGE;
bool removable = true;
-
- // temp
- Database db;
- DbStatement* pStmt = null;
- DbEnumerator* pEnum = null;
- String query;
+ bool preloaded = true;
std::unique_ptr<char[]> 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;
}
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;
}
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;
}
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;
}
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;
}
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;
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;
}
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;
}
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;
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;
}
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;
}
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;
}
SysLog(NID_APP, "pkgmgrinfo_pkginfo_get_storeclientid() is failed. result = [%d]", result);
}
- // temp
- query.Format(1024, L"SELECT PkgInfo.*, AppInfo.APP_MAINMENU_ICON FROM AppInfo, PkgInfo WHERE AppInfo.ID = PkgInfo.UNIQUE_ID and AppInfo.APP_DEFAULT = 'True' and PkgInfo.PKG_ID = '%ls'", packageId.GetPointer());
-
- r = db.Construct(PACKAGE_DATABASE_FILE_NAME, "r");
- SysTryCatch(NID_APP, r == E_SUCCESS, , r, "[%s] An error occurs while opening a database.", GetErrorMessage(r));
-
- pStmt = _PackageManagerImpl::CreateStatementN(db, query);
- SysTryCatch(NID_APP, pStmt != null, GetLastResult(), GetLastResult(), "[%s] An error occurs while creating a database statement.", GetErrorMessage(GetLastResult()));
-
- pEnum = _PackageManagerImpl::ExecuteStatementN(db, pStmt);
- if (pEnum != null)
+ result = pkgmgrinfo_pkginfo_get_root_path(__packageInfoHandle, &pRootPath);
+ if (result == PMINFO_R_OK)
{
- if (pEnum->MoveNext() == E_SUCCESS)
- {
- String rootPath;
- int storageType = 0;
-
- if (pEnum->GetColumnType(16) != DB_COLUMNTYPE_NULL)
- {
- pEnum->GetStringAt(16, rootPath);
- }
- if (pEnum->GetColumnType(17) != DB_COLUMNTYPE_NULL)
- {
- pEnum->GetIntAt(17, storageType);
- }
-
- SetAppRootPath(rootPath);
- SetAppStorageType(storageType);
- }
-
- delete pEnum;
+ String rootPath(pRootPath);
+ __appRootPath = rootPath;
+ }
+ else
+ {
+ SysLog(NID_APP, "pkgmgrinfo_pkginfo_get_root_path() is failed. result = [%d]", result);
}
-CATCH:
- delete pStmt;
+ 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;
}