diff -r 5cc91383ab1e -r 7333d7932ef7 installationservices/swi/source/swis/server/installationprocessor.h --- a/installationservices/swi/source/swis/server/installationprocessor.h Thu Aug 19 10:02:49 2010 +0300 +++ b/installationservices/swi/source/swis/server/installationprocessor.h Tue Aug 31 15:21:33 2010 +0300 @@ -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" @@ -34,6 +34,9 @@ #ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK #include "registrywrapper.h" +#include "appregextractor.h" +#include +#include #else #include "sisregistrywritablesession.h" #endif @@ -53,7 +56,9 @@ class CFileExtractor; class CSidCache; class MSisDataProvider; - +#ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK +class CAppRegFileData; +#endif /** * This class processes a CApplication created by the installation planner * @released @@ -271,6 +276,14 @@ virtual TBool DoStateVerifyPathsL(); virtual TBool DoStateInstallFilesL(); virtual TBool DoStateDisplayFilesL(); +#ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK + virtual TBool DoParseApplicationRegistrationFilesL(); + TBool ParseRegistrationResourceFileL(const TDesC& aTargetFileName); + TBool GetComponentIdL(const Usif::RSoftwareComponentRegistry& aScrSession, const TUid& aPackageUid, const TInt aPackageIndex, Usif::TComponentId& aComponentId); + void AddAppArcRegResourceFilesL(); + void AddAppArcRegResourceFilesForRegEntryL( RSisRegistryEntry& aEntry); + TInt UserSelectedLanguageIndexL(const CApplication& aApplication) const; +#endif virtual TBool DoStateUpdateRegistryL(); virtual TBool DoStateProcessFilesL(); virtual TBool DoStateProcessSkipFilesL(); @@ -306,6 +319,7 @@ /// @return true if aFilename is an Apparc registration file bool FileIsApparcReg(const TDesC& aFilename) const; + private: /// Security Manager provided by SWIS CSecurityManager& iSecurityManager; @@ -334,7 +348,7 @@ * running an exe. */ RPointerArray iApparcRegFiles; - + RLoader iLoader; /** @@ -345,10 +359,33 @@ #ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK /** The list of the software types to be registered read from the XML registration file. */ - RCPointerArray iSoftwareTypeRegInfoArray; + RCPointerArray iSoftwareTypeRegInfoArray; + RPointerArray iApparcRegFileData; + /** + * The list of Apparc registration files to parse to populate SCR + */ + RPointerArray iApparcRegFilesForParsing; + + CAppRegExtractor *iAppRegExtractor; + #endif }; - +#ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK +class CAppRegFileData:public CBase + { +public: + static CAppRegFileData* NewLC(const TDesC& aAppRegFile, const CSisRegistryPackage& aSisRegistryPackage); + static CAppRegFileData* NewL(const TDesC& aAppRegFile, const CSisRegistryPackage& aSisRegistryPackage); + TDesC& GetAppRegFile(); + CSisRegistryPackage& GetSisRegistryPackage(); + ~CAppRegFileData(); +private: + CAppRegFileData(); + void ConstructL(const TDesC& aAppRegFile, const CSisRegistryPackage& aSisRegistryPackage); + HBufC *iAppRegFile; + CSisRegistryPackage *iSisRegistryPackage; + }; +#endif // inline functions