PackageId packageId = pContext->__packageId;
std::unique_ptr<char[]> pPackageId(_StringConverter::CopyToCharArrayN(packageId));
- TryReturn(pPackageId, false, "pPackageId is null");
+ TryReturn(pPackageId, false, "pPackageId is null.");
if (error == false)
{
- int err = 0;
-
- std::unique_ptr<char[]> pXmlPath(_StringConverter::CopyToCharArrayN(pContext->__coreXmlPath));
- TryReturn(pXmlPath != null, false, "pXmlPath is null");
-
- AppLog("------------------------------------------");
-
- if (pContext->__isUpdated == true)
- {
- AppLog("pkgmgr_parser_parse_manifest_for_upgrade(%s) - START", pXmlPath.get());
- err = pkgmgr_parser_parse_manifest_for_upgrade(pXmlPath.get(), null);
- TryReturn(err == 0, false, "pkgmgr_parser_parse_manifest_for_upgrade() is failed. error = [%d][%s]", err, pXmlPath.get());
-
- AppLog("pkgmgr_parser_parse_manifest_for_upgrade() - END");
- }
- else
- {
- AppLog("pkgmgr_parser_parse_manifest_for_installation(%s) - START", pXmlPath.get());
- err = pkgmgr_parser_parse_manifest_for_installation(pXmlPath.get(), null);
- TryReturn(err == 0, false, "pkgmgr_parser_parse_manifest_for_installation() is failed. error = [%d][%s]", err, pXmlPath.get());
-
- AppLog("pkgmgr_parser_parse_manifest_for_installation() - END");
- }
-
- AppLog("------------------------------------------");
-
- String roXmlPath;
- roXmlPath.Format(1024, DIR_RO_PACKAGE_SYSTEM_MANIFEST, pContext->__packageId.GetPointer());
-
- if ((File::IsFileExist(roXmlPath) == true) && (pContext->__isHybridService == false)
- && (pContext->__isPreloaded == false))
- {
- SetPreloadedProperty(packageId);
- }
-
- if (pContext->__isCsc == true)
- {
- SetPackageProperty(pContext);
- }
+ RegisterCoreXmlFile(pContext);
SmackManager smackManager;
smackManager.Construct(pContext);
}
bool
-ConfigurationManager::CreateCoreXmlFile(InstallationContext* pContext)
+ConfigurationManager::CreateCoreXmlFile(InstallationContext* pContext) const
{
AppLog("------------------------------------------");
AppLog("CreateCoreXmlFile() - START");
return ret;
}
+bool
+ConfigurationManager::RegisterCoreXmlFile(InstallationContext* pContext) const
+{
+ if (pContext->__isHybridService == true)
+ {
+ AppLog("HybridService is skipped.");
+ return true;
+ }
+
+ std::unique_ptr<char[]> pXmlPath(_StringConverter::CopyToCharArrayN(pContext->__coreXmlPath));
+ TryReturn(pXmlPath != null, false, "pXmlPath is null.");
+
+ int err = 0;
+
+ if (pContext->__isCsc == true)
+ {
+ char* pUpdateTag[3] = {null, };
+
+ String preload("preload=true");
+ String removable("removable=");
+ if (pContext->__isUninstallable == false)
+ {
+ removable.Append("false");
+ }
+ else
+ {
+ removable.Append("true");
+ }
+
+ std::unique_ptr<char[]> pPreload(_StringConverter::CopyToCharArrayN(preload));
+ TryReturn(pPreload, false, "pPreload is null.");
+
+ std::unique_ptr<char[]> pRemovable(_StringConverter::CopyToCharArrayN(removable));
+ TryReturn(pRemovable, false, "pRemovable is null.");
+
+ pUpdateTag[0] = pPreload.get();
+ pUpdateTag[1] = pRemovable.get();
+ pUpdateTag[2] = null;
+
+ for (int i = 0; pUpdateTag[i] != null; i++)
+ {
+ AppLog("pUpdateTag[%d] = [%s]", i, pUpdateTag[i]);
+ }
+
+ AppLog("pkgmgr_parser_parse_manifest_for_installation(%s) - START", pXmlPath.get());
+ err = pkgmgr_parser_parse_manifest_for_installation(pXmlPath.get(), pUpdateTag);
+ TryReturn(err == 0, false, "pkgmgr_parser_parse_manifest_for_installation() is failed. error = [%d][%s]", err, pXmlPath.get());
+
+ AppLog("pkgmgr_parser_parse_manifest_for_installation() - END");
+ }
+ else
+ {
+ if (pContext->__isUpdated == true)
+ {
+ AppLog("pkgmgr_parser_parse_manifest_for_upgrade(%s) - START", pXmlPath.get());
+ err = pkgmgr_parser_parse_manifest_for_upgrade(pXmlPath.get(), null);
+ TryReturn(err == 0, false, "pkgmgr_parser_parse_manifest_for_upgrade() is failed. error = [%d][%s]", err, pXmlPath.get());
+
+ AppLog("pkgmgr_parser_parse_manifest_for_upgrade() - END");
+ }
+ else
+ {
+ AppLog("pkgmgr_parser_parse_manifest_for_installation(%s) - START", pXmlPath.get());
+ err = pkgmgr_parser_parse_manifest_for_installation(pXmlPath.get(), null);
+ TryReturn(err == 0, false, "pkgmgr_parser_parse_manifest_for_installation() is failed. error = [%d][%s]", err, pXmlPath.get());
+
+ AppLog("pkgmgr_parser_parse_manifest_for_installation() - END");
+ }
+ }
+
+ return true;
+}
+
//bool
//ConfigurationManager::CreateHybridServiceDesktopFile(InstallationContext* pContext)
//{
return ret;
}
-
-bool
-ConfigurationManager::SetPreloadedProperty(const PackageId& packageId) const
-{
- TryReturn(packageId.IsEmpty() == false, false, "packageId is empty.");
-
- std::unique_ptr<char[]> pPackageId(_StringConverter::CopyToCharArrayN(packageId));
- TryReturn(pPackageId, false, "pPackageId is null.");
-
- bool ret = true;
- int res = PMINFO_R_OK;
- pkgmgrinfo_pkgdbinfo_h handle = null;
-
- res = pkgmgrinfo_create_pkgdbinfo(pPackageId.get(), &handle);
- TryCatch(res == PMINFO_R_OK, ret = false, "pkgmgrinfo_create_pkgdbinfo() failed. [%d]", res);
-
- res = pkgmgrinfo_set_preload_to_pkgdbinfo(handle, 1);
- TryCatch(res == PMINFO_R_OK, ret = false, "pkgmgrinfo_set_preload_to_pkgdbinfo() failed. [%d]", res);
-
- res = pkgmgrinfo_save_pkgdbinfo(handle);
- TryCatch(res == PMINFO_R_OK, ret = false, "pkgmgrinfo_save_pkgdbinfo() failed. [%d]", res);
-
- AppLog("Preloaded property is set. [%ls] ", packageId.GetPointer());
-
-CATCH:
- if (handle)
- {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
- }
-
- return ret;
-}
-
-bool
-ConfigurationManager::SetPackageProperty(InstallationContext* pContext) const
-{
- TryReturn(pContext, false, "pContext is null.");
-
- std::unique_ptr<char[]> pPackageId(_StringConverter::CopyToCharArrayN(pContext->__packageId));
- TryReturn(pPackageId, false, "pPackageId is null.");
-
- bool ret = true;
- int res = PMINFO_R_OK;
- int removable = 1;
- pkgmgrinfo_pkgdbinfo_h handle = null;
-
- if (pContext->__isUninstallable == false)
- {
- removable = 0;
- }
-
- res = pkgmgrinfo_create_pkgdbinfo(pPackageId.get(), &handle);
- TryCatch(res == PMINFO_R_OK, ret = false, "pkgmgrinfo_create_pkgdbinfo() failed. [%d]", res);
-
- res = pkgmgrinfo_set_preload_to_pkgdbinfo(handle, 1);
- TryCatch(res == PMINFO_R_OK, ret = false, "pkgmgrinfo_set_preload_to_pkgdbinfo() failed. [%d]", res);
-
- res = pkgmgrinfo_set_removable_to_pkgdbinfo(handle, removable);
- TryCatch(res == PMINFO_R_OK, ret = false, "pkgmgrinfo_set_removable_to_pkgdbinfo(%d) failed. [%d]", removable, res);
-
- res = pkgmgrinfo_save_pkgdbinfo(handle);
- TryCatch(res == PMINFO_R_OK, ret = false, "pkgmgrinfo_save_pkgdbinfo() failed. [%d]", res);
-
- AppLog("Preloaded property is set. [%s]", pPackageId.get());
- AppLog("Removable property is set. [%s]", removable?"true":"false");
-
-CATCH:
- if (handle)
- {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
- }
-
- return ret;
-}