installationservices/swi/source/swis/server/planner.cpp
branchRCL_3
changeset 19 7ca52d38f8c3
parent 0 ba25891c3a9e
child 34 741e5bba2bd1
child 42 d17dc5398051
--- a/installationservices/swi/source/swis/server/planner.cpp	Fri Mar 12 15:43:14 2010 +0200
+++ b/installationservices/swi/source/swis/server/planner.cpp	Mon Mar 15 12:41:05 2010 +0200
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2004-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -493,6 +493,27 @@
 		}
 	
 	UpdateAppForUninstallL(*rootApplication, aRootNode);
+	if(!(Swi::SecUtils::IsPackageUidPresent(aRootNode.PackageL().Uid(), iUidList)))
+	    {
+	    TInt err = SecUtils::PublishPackageUid(aRootNode.PackageL().Uid(), iUidList);
+		if(err==KErrNone)
+            {
+            DEBUG_PRINTF2(_L("CPlanner::CreatePlannedApplicationL published Uid is %x."),aRootNode.PackageL().Uid());
+		    }
+		else if(err == KErrOverflow)
+		    {
+            DEBUG_PRINTF2(_L("CPlanner::CreatePlannedApplicationL failed to publish Uid %x as the array, holding the uids, exceeded its upper limit."),aRootNode.PackageL().Uid());
+		    }
+        else if(err == KErrNotFound)
+            {
+            DEBUG_PRINTF2(_L("CPlanner::CreatePlannedApplicationL failed to publish Uid %x as the property is not defined."),aRootNode.PackageL().Uid());
+            }
+		else
+		    {
+            DEBUG_PRINTF3(_L("CPlanner::CreatePlannedApplicationL failed to publish Uid %x with error."),aRootNode.PackageL().Uid(), err);
+            User::Leave(err);
+		    }
+		}
 	CleanupStack::Pop(rootApplication);
 	
 	return rootApplication;