installationservices/swi/source/swis/server/restoreprocessor.h
changeset 33 8110bf1194d1
parent 0 ba25891c3a9e
child 42 d17dc5398051
--- a/installationservices/swi/source/swis/server/restoreprocessor.h	Mon May 03 12:38:03 2010 +0300
+++ b/installationservices/swi/source/swis/server/restoreprocessor.h	Fri May 14 15:58:48 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2005-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"
@@ -39,6 +39,7 @@
 namespace Swi 
 	{
 	class CPlan;
+
 	
 	/**
 	 * State machine to handle securely restoring files the user
@@ -58,6 +59,9 @@
 			EProcessFiles,
 			EVerifyPaths,
 			EInstallFiles,
+#ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK
+			EParseApplicationRegistrationFiles,
+#endif
 			EUpdateRegistry,
 			EFinished,
 			ECurrentState=128, // Used to change to the current state
@@ -68,7 +72,7 @@
 		static CRestoreProcessor* NewL(const CPlan& aPlan, const TDesC8& aControllerBuffer, 
 			CSecurityManager& aSecurityManager,	
 #ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK
-			Usif::RStsSession& aStsSession, RSisRegistryWritableSession& aRegistrySession,
+			Usif::RStsSession& aStsSession, RSisRegistryWritableSession& aRegistrySession, RArray<TAppUpdateInfo>& aAppInfo,
 #else
 			CIntegrityServices& aIntegrityServices,
 #endif
@@ -78,7 +82,7 @@
 		static CRestoreProcessor* NewLC(const CPlan& aPlan, const TDesC8& aControllerBuffer,
 			CSecurityManager& aSecurityManager, 
 #ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK
-			Usif::RStsSession& aStsSession, RSisRegistryWritableSession& aRegistrySession,
+			Usif::RStsSession& aStsSession, RSisRegistryWritableSession& aRegistrySession, RArray<TAppUpdateInfo>& aAppInfo,
 #else
 			CIntegrityServices& aIntegrityServices,
 #endif
@@ -100,7 +104,7 @@
 		CRestoreProcessor(const CPlan& aPlan, const TDesC8& aControllerBuffer,
 			CSecurityManager& aSecurityManager,	
 #ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK
-			Usif::RStsSession& aStsSession, RSisRegistryWritableSession& aRegistrySession,
+			Usif::RStsSession& aStsSession, RSisRegistryWritableSession& aRegistrySession, RArray<TAppUpdateInfo>& aAppInfo,
 #else
 			CIntegrityServices& aIntegrityServices,
 #endif
@@ -108,7 +112,18 @@
 			RSwiObserverSession& aObserver);
 		
 		void ConstructL(RArray<TUid>& aSids);
-		void ProcessApplicationL(const CApplication& aApplication, TRequestStatus& aClientStatus);		
+		void ProcessApplicationL(const CApplication& aApplication, TRequestStatus& aClientStatus);	
+
+#ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK		
+		TBool FileIsApparcReg(const TDesC& aFilename) const;
+		void AddApparcFilesInListL(const TDesC& aTargetFileName, const CApplication& aApplication);
+		TInt UserSelectedLanguageIndexL(const CApplication& aApplication) const;
+		TBool DoParseApplicationRegistrationFilesL();
+		TBool ParseRegistrationResourceFileL(const TDesC& aTargetFileName);
+		void AddAppArcRegResourceFilesL();
+		void AddAppArcRegResourceFilesForRegEntryL( RSisRegistryEntry& aEntry);
+		TInt FindAppEntry(RArray<TAppUpdateInfo>& aAffectedApps, TUid& aNewAppUid);
+#endif
 	private:
 	
 		// Processor states, called by the state machine
@@ -140,6 +155,13 @@
 		RSisRegistryWritableSession& iRegistrySession;
 		/** The list of software types to be registered found in the XML registration file. */
 		RCPointerArray<CSoftwareTypeRegInfo> iSoftwareTypeRegInfoArray;
+		/**
+        * The list of Apparc registration files to parse to populate SCR
+        */ 
+        RPointerArray<CAppRegFileData> iApparcRegFilesForParsing;
+        CAppRegExtractor *iAppRegExtractor;  
+        RPointerArray<Usif::CApplicationRegistrationData> iApparcRegFileData;   
+        RArray<TAppUpdateInfo> iAppInfo;
 #else
 		CIntegrityServices& iIntegrityServices;
 #endif
@@ -148,8 +170,8 @@
 		
 		/// The drive on which to store device integrity data (hashes, registry etc) 
 		TChar iSystemDriveChar;
-		RSwiObserverSession& iObserver; ///< SWI Observer session handle provided by SWIS.
-		};
+		RSwiObserverSession& iObserver; ///< SWI Observer session handle provided by SWIS.				
+		};	
 	}
 
 #endif //__RESTOREPROCESSOR_H__