--- a/installationservices/swi/source/swis/server/restoreprocessor.h Thu Aug 19 10:02:49 2010 +0300
+++ b/installationservices/swi/source/swis/server/restoreprocessor.h Tue Aug 31 15:21:33 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
@@ -139,7 +154,14 @@
Usif::RStsSession& iStsSession;
RSisRegistryWritableSession& iRegistrySession;
/** The list of software types to be registered found in the XML registration file. */
- RCPointerArray<CSoftwareTypeRegInfo> iSoftwareTypeRegInfoArray;
+ RCPointerArray<Usif::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__