Add store client appId for installation
authorDuyoung Jang <duyoung.jang@samsung.com>
Wed, 17 Apr 2013 05:14:22 +0000 (14:14 +0900)
committerDuyoung Jang <duyoung.jang@samsung.com>
Wed, 17 Apr 2013 05:39:55 +0000 (14:39 +0900)
Change-Id: Ib9e47c4204241989e82da3dac471e73c8b404e5e
Signed-off-by: Duyoung Jang <duyoung.jang@samsung.com>
src/app/package/FAppPkg_PackageManagerImpl.cpp

index 0fd3e8d..e7fb39f 100755 (executable)
@@ -371,9 +371,6 @@ _PackageManagerImpl::InstallPackage(const PackageId& packageId, const String& pa
        std::unique_ptr<char[]> pExtension(_StringConverter::CopyToCharArrayN(extension));
        SysTryReturnResult(NID_APP, pExtension, E_OUT_OF_MEMORY, "pExtension is null.");
 
-       std::unique_ptr<char[]> pPackageId(_StringConverter::CopyToCharArrayN(packageId));
-       SysTryReturnResult(NID_APP, pPackageId, E_OUT_OF_MEMORY, "pPackageId is null.");
-
        if ((strcasecmp(pExtension.get(), "tpk") == 0) || (strcasecmp(pExtension.get(), "wgt") == 0))
        {
                SysLog(NID_APP, "packageId = [%ls], packagePath = [%s], extension = [%s]", packageId.GetPointer(), pPackagePath.get(), pExtension.get());
@@ -384,6 +381,18 @@ _PackageManagerImpl::InstallPackage(const PackageId& packageId, const String& pa
                return E_SYSTEM;
        }
 
+       // optionalData = 12345abcde:StoreClientId=XXXXX12345.TizenStore
+       AppId StoreClientId = _AppInfo::GetApplicationId();
+       String optionalData;
+       optionalData.Append(packageId);
+       optionalData.Append(":StoreClientId=");
+       optionalData.Append(StoreClientId);
+
+       std::unique_ptr<char[]> pOptionalData(_StringConverter::CopyToCharArrayN(optionalData));
+       SysTryReturnResult(NID_APP, pOptionalData, E_OUT_OF_MEMORY, "pOptionalData is null.");
+
+       SysLog(NID_APP, "optionalData = [%s]", pOptionalData.get());
+
        result r = E_SUCCESS;
        _PackageManagerProxy packageManagerProxy;
        r = packageManagerProxy.Construct();
@@ -398,7 +407,7 @@ _PackageManagerImpl::InstallPackage(const PackageId& packageId, const String& pa
                SysTryReturnResult(NID_APP, __pRequestClient != null, E_SYSTEM, "pkgmgr_client_new(PC_REQUEST) failed");
        }
 
-       int res = pkgmgr_client_install(__pRequestClient, pExtension.get(), null, pPackagePath.get(), pPackageId.get(), PM_QUIET, InstallationEventHandler, pListener);
+       int res = pkgmgr_client_install(__pRequestClient, pExtension.get(), null, pPackagePath.get(), pOptionalData.get(), PM_QUIET, InstallationEventHandler, pListener);
 
        if (res < PKGMGR_R_OK)
        {