installationservices/swi/source/sislauncher/server/swtypereginfoparser.cpp
branchRCL_3
changeset 26 8b7f4e561641
parent 25 7333d7932ef7
--- a/installationservices/swi/source/sislauncher/server/swtypereginfoparser.cpp	Tue Aug 31 15:21:33 2010 +0300
+++ b/installationservices/swi/source/sislauncher/server/swtypereginfoparser.cpp	Wed Sep 01 12:22:02 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2009 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"
@@ -33,11 +33,9 @@
 	_LIT8(KNodeLocalizedName, "localizedName");
 	_LIT8(KNodeMimeType, "mimeType");
 	_LIT8(KNodeSifPluginUid, "sifPluginUid");
-    _LIT8(KNodeCustomAcess, "CustomAcess");
-    _LIT8(KNodeSecureId, "SecureId");
-    _LIT8(KNodeAccessMode, "AccessMode");
-    _LIT8(KNodeLauncherExecutable, "launcherExecutable");
-    
+	_LIT8(KNodeInstallerSecureId, "installerSecureId");
+	_LIT8(KNodeExecutionLayerSecureId, "executionLayerSecureId");
+	
 	_LIT8(KAttrSoftwareTypeName, "name");
 	_LIT8(KAttrLanguage, "language");
 
@@ -120,7 +118,7 @@
 	iNodes.Close();
 	}
 
-void CSoftwareTypeRegInfoParser::ParseL(const TDesC8& aDocument, RPointerArray<Usif::CSoftwareTypeRegInfo>& aSwTypeRegInfoArray)
+void CSoftwareTypeRegInfoParser::ParseL(const TDesC8& aDocument, RPointerArray<CSoftwareTypeRegInfo>& aSwTypeRegInfoArray)
 	{
 	iSwTypeRegInfoArray = &aSwTypeRegInfoArray;
 	
@@ -177,7 +175,7 @@
 			{
 			PushNodeL(ENodeSoftwareType, ENodeSoftwareTypeRegistrationData);
 			HBufC* softwareTypeName = AttributeLC(aAttributes, KAttrSoftwareTypeName);
-			Usif::CSoftwareTypeRegInfo* regInfo = Usif::CSoftwareTypeRegInfo::NewL(*softwareTypeName);
+			CSoftwareTypeRegInfo* regInfo = CSoftwareTypeRegInfo::NewL(*softwareTypeName);
 			CleanupStack::PushL(regInfo);
 			iSwTypeRegInfoArray->AppendL(regInfo);
 			CleanupStack::Pop();
@@ -204,28 +202,16 @@
 			ASSERT(iSwTypeRegInfoArray->Count() > 0);
 			PushNodeL(ENodeSifPluginUid, ENodeSoftwareType);
 			break;
-			
-		case ENodeCustomAccess:
-		    {
-		    ASSERT(iSwTypeRegInfoArray->Count() > 0);
-		    PushNodeL(ENodeCustomAccess, ENodeSoftwareType);
-		    HBufC* secureId = AttributeLC(aAttributes, KNodeSecureId);
-		    secureId->Des().TrimAll();
-		    iSecureId = TUid::Uid(Str2IntL(*secureId, EHex));
-		    CleanupStack::PopAndDestroy(secureId);
-		    
-		    HBufC* accessMode = AttributeLC(aAttributes, KNodeAccessMode);
-		    iAccessMode = static_cast<TInt>(Str2IntL(*accessMode));
-		    CleanupStack::PopAndDestroy(accessMode);
-		    }
-		    break;
-		   
-		case ENodeLauncherExecutable:
-		    {
-		    ASSERT(iSwTypeRegInfoArray->Count() > 0);
-		    PushNodeL(ENodeLauncherExecutable, ENodeSoftwareType);
-		    }
-		    break;
+		
+		case ENodeInstallerSecureId:
+			ASSERT(iSwTypeRegInfoArray->Count() > 0);
+			PushNodeL(ENodeInstallerSecureId, ENodeSoftwareType);
+			break;
+		
+		case ENodeExecutionLayerSecureId:
+			ASSERT(iSwTypeRegInfoArray->Count() > 0);
+			PushNodeL(ENodeExecutionLayerSecureId, ENodeSoftwareType);
+			break;
 
 		default:
 			User::Leave(KErrInvalidSoftwareTypeRegistrationFile);
@@ -251,13 +237,13 @@
 		}
 	iNodes.Remove(lastIdx);
 
-	RPointerArray<Usif::CSoftwareTypeRegInfo>& infoArray = *iSwTypeRegInfoArray;
+	RPointerArray<CSoftwareTypeRegInfo>& infoArray = *iSwTypeRegInfoArray;
 	switch (node)
 		{
 		case ENodeLocalizedName:
 			{
 			ASSERT(iSwTypeRegInfoArray->Count() > 0);
-			Usif::CSoftwareTypeRegInfo& regInfo = *infoArray[infoArray.Count()-1];
+			CSoftwareTypeRegInfo& regInfo = *infoArray[infoArray.Count()-1];
 			HBufC* name = ConvertBufferTo16bitL(*iContentChunks);
 			CleanupStack::PushL(name);
 			name->Des().TrimAll();
@@ -269,7 +255,7 @@
 		case ENodeMimeType:
 			{
 			ASSERT(iSwTypeRegInfoArray->Count() > 0);
-			Usif::CSoftwareTypeRegInfo& regInfo = *infoArray[infoArray.Count()-1];
+			CSoftwareTypeRegInfo& regInfo = *infoArray[infoArray.Count()-1];
 			HBufC* mimeType = ConvertBufferTo16bitL(*iContentChunks);
 			CleanupStack::PushL(mimeType);
 			mimeType->Des().TrimAll();
@@ -282,31 +268,28 @@
 			{
 			ASSERT(iSwTypeRegInfoArray->Count() > 0);
 			iContentChunks->Des().TrimAll();
-			Usif::CSoftwareTypeRegInfo& regInfo = *infoArray[infoArray.Count()-1];
+			CSoftwareTypeRegInfo& regInfo = *infoArray[infoArray.Count()-1];
 			regInfo.SetSifPluginUid(Str2UidL(*iContentChunks));
 			}
 			break;
-
-		case ENodeCustomAccess:
-		    {
-		    ASSERT(iSwTypeRegInfoArray->Count() > 0);
-		    iContentChunks->Des().TrimAll();
-		    Usif::CSoftwareTypeRegInfo& regInfo = *infoArray[infoArray.Count()-1];
-		    regInfo.SetCustomAccessL(iSecureId, static_cast<Usif::TAccessMode>(iAccessMode));
-		    }
-		    break;
-		    
-		case ENodeLauncherExecutable:
-		    {
-		    ASSERT(iSwTypeRegInfoArray->Count() > 0);
-		    Usif::CSoftwareTypeRegInfo& regInfo = *infoArray[infoArray.Count()-1];
-		    HBufC* launcherExecutable = ConvertBufferTo16bitL(*iContentChunks);
-		    CleanupStack::PushL(launcherExecutable);
-		    launcherExecutable->Des().TrimAll();
-		    regInfo.SetLauncherExecutableL(*launcherExecutable);
-		    CleanupStack::PopAndDestroy(launcherExecutable);        
-		    }
-		    break;
+		
+		case ENodeInstallerSecureId:
+			{
+			ASSERT(iSwTypeRegInfoArray->Count() > 0);
+			iContentChunks->Des().TrimAll();
+			CSoftwareTypeRegInfo& regInfo = *infoArray[infoArray.Count()-1];
+			regInfo.SetInstallerSecureId(Str2UidL(*iContentChunks));
+			}
+			break;
+		
+		case ENodeExecutionLayerSecureId:
+			{
+			ASSERT(iSwTypeRegInfoArray->Count() > 0);
+			iContentChunks->Des().TrimAll();
+			CSoftwareTypeRegInfo& regInfo = *infoArray[infoArray.Count()-1];
+			regInfo.SetExecutionLayerSecureId(Str2UidL(*iContentChunks));
+			}
+			break;
 		}
 	
 	if (iContentChunks != NULL)
@@ -329,8 +312,8 @@
 		case ENodeLocalizedName:
 		case ENodeMimeType:
 		case ENodeSifPluginUid:
-		case ENodeCustomAccess:  
-		case ENodeLauncherExecutable:
+		case ENodeInstallerSecureId:
+		case ENodeExecutionLayerSecureId:
 			AddContentChunkL(aBytes);
 			break;
 
@@ -387,6 +370,14 @@
 		{
 		return ENodeSifPluginUid;
 		}
+	else if (aName == KNodeInstallerSecureId)
+		{
+		return ENodeInstallerSecureId;
+		}
+	else if (aName == KNodeExecutionLayerSecureId)
+		{
+		return ENodeExecutionLayerSecureId;
+		}
 	else if (aName == KNodeSoftwareType)
 		{
 		return ENodeSoftwareType;
@@ -395,14 +386,6 @@
 		{
 		return ENodeSoftwareTypeRegistrationData;
 		}
-	else if (aName == KNodeCustomAcess)
-	    {
-	    return ENodeCustomAccess;
-	    }
-	else if (aName == KNodeLauncherExecutable)
-	    {
-	    return ENodeLauncherExecutable;
-	    }
 	else
 		{
 		return ENodeNone;