installationservices/swi/source/swis/server/installationprocessor.h
branchRCL_3
changeset 65 7333d7932ef7
parent 5 3eebb1e54d3a
child 66 8b7f4e561641
--- 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 <swi/sisregistrypackage.h>
+#include <swi/sisregistryentry.h>
 #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<TDesC> 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<CSoftwareTypeRegInfo> iSoftwareTypeRegInfoArray;
+	RCPointerArray<Usif::CSoftwareTypeRegInfo> iSoftwareTypeRegInfoArray;
+	RPointerArray<Usif::CApplicationRegistrationData> iApparcRegFileData;
+   /**
+     * The list of Apparc registration files to parse to populate SCR
+     */ 
+    RPointerArray<CAppRegFileData> 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