diff -r 7333d7932ef7 -r 8b7f4e561641 installationservices/swi/source/sislauncher/server/swtypereginfoparser.cpp --- 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& aSwTypeRegInfoArray) +void CSoftwareTypeRegInfoParser::ParseL(const TDesC8& aDocument, RPointerArray& 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(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& infoArray = *iSwTypeRegInfoArray; + RPointerArray& 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(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;