appfw/apparchitecture/aplist/aplapplist.h
branchRCL_3
changeset 62 924385140d98
parent 0 2e3d3ce01487
child 63 c2c61fdca848
--- a/appfw/apparchitecture/aplist/aplapplist.h	Thu Aug 19 10:05:08 2010 +0300
+++ b/appfw/apparchitecture/aplist/aplapplist.h	Tue Aug 31 15:24:25 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 1997-2010 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
 // under the terms of "Eclipse Public License v1.0"
@@ -27,6 +27,12 @@
 #include <badesca.h>
 #include <s32file.h>
 
+#ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK
+#include <usif/scr/scr.h>
+#include <usif/scr/appregentries.h>
+#include <apgcli.h>
+#endif
+
 // classes defined:
 class CApaAppList;
 class CApaAppViewData;
@@ -34,7 +40,9 @@
 class CApaMaskedBitmap;
 class TEntry;
 class RFs;
+#ifndef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK
 class CApaAppRegFinder;
+#endif
 class CApaAppIconArray;
 class CApaIconLoader;
 class TApaAppEntry;
@@ -72,19 +80,26 @@
 */
 class CApaAppList : public CBase
 	{
-public: 
-	IMPORT_C static CApaAppList* NewL(RFs& aFs, TBool aLoadMbmIconsOnDemand, TInt aTimeoutDelay = 50000); // takes ownership of aAppRegFinder
 public:
+    IMPORT_C static CApaAppList* NewL(RFs& aFs, TBool aLoadMbmIconsOnDemand, TInt aTimeoutDelay = 50000); 
+#ifndef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK
 	IMPORT_C void PurgeL();
+    IMPORT_C CApaAppData* FindAndAddSpecificAppL(CApaAppRegFinder* aFinder, TUid aAppUid);	
+    IMPORT_C void StopScan(TBool aNNAInstall = EFalse);
+    IMPORT_C void RestartScanL(); 
+    IMPORT_C TBool AppListUpdatePending();    
+    IMPORT_C void AddForcedRegistrationL(const TDesC& aRegistrationFile);
+    IMPORT_C void ResetForcedRegistrations();
+#else
+    IMPORT_C CApaAppData* FindAndAddSpecificAppL(TUid aAppUid);    
+#endif
+    
 	IMPORT_C TInt Count() const;
 	IMPORT_C CApaAppData* FirstApp() const;
 	IMPORT_C CApaAppData* FirstApp(TInt aScreenMode) const; 
 	IMPORT_C CApaAppData* NextApp(const CApaAppData* aApp) const;
 	IMPORT_C CApaAppData* NextApp(const CApaAppData* aApp, TInt aScreenMode) const;
 	IMPORT_C CApaAppData* AppDataByUid(TUid aAppUid) const;
-	IMPORT_C void StopScan(TBool aNNAInstall = EFalse);
-	IMPORT_C void RestartScanL();
-	IMPORT_C TBool AppListUpdatePending();
 	// ER5
 	IMPORT_C TUid PreferredDataHandlerL(const TDataType& aDataType) const;
 	IMPORT_C void StartIdleUpdateL();
@@ -99,15 +114,12 @@
 	IMPORT_C CBufFlat* ServiceImplArrayBufferL(TUid aServiceUid, const TDataType& aDataType) const;	
 	IMPORT_C CBufFlat* ServiceUidBufferL(TUid aAppUid) const;
 	IMPORT_C CBufFlat* ServiceOpaqueDataBufferL(TUid aAppUid, TUid aServiceUid) const;
-	IMPORT_C CApaAppData* FindAndAddSpecificAppL(CApaAppRegFinder* aFinder, TUid aAppUid);
 	IMPORT_C TUid PreferredDataHandlerL(const TDataType& aDataType, const TUid* aServiceUid, 
 		TInt& aPriority) const;
 	IMPORT_C ~CApaAppList();
 	// 9.1
 	IMPORT_C CApaAppData* AppDataByFileName(const TDesC& aFullFileName) const;
 	/*IMPORT_C*/ RFs& ShareProtectedFileServer();
-	IMPORT_C void AddForcedRegistrationL(const TDesC& aRegistrationFile);
-	IMPORT_C void ResetForcedRegistrations();
 	IMPORT_C TBool IsLanguageChangePending() const;
 	IMPORT_C static CApaAppList* Self();
     IMPORT_C CArrayFixFlat<TUid>* UninstalledAppArray();
@@ -125,6 +137,15 @@
 	IMPORT_C void AddCustomAppInfoInListL(TUid aAppUid, TLanguage aLanguage, const TDesC& aShortCaption);
 	IMPORT_C void UpdateAppListByShortCaptionL();
 	IMPORT_C void UpdateAppListByIconCaptionOverridesL();
+
+#ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK
+	IMPORT_C void InitializeApplistL(MApaAppListObserver* aObserver);
+	void InitializeLangAppListL();
+	IMPORT_C void UpdateApplistL(MApaAppListObserver* aObserver, RArray<TApaAppUpdateInfo>* aAppUpdateInfo, TUid aSecureID);
+	IMPORT_C void UpdateApplistByForceRegAppsL(RPointerArray<Usif::CApplicationRegistrationData>& aForceRegAppsInfo);
+	IMPORT_C CArrayFixFlat<TApaAppUpdateInfo>* UpdatedAppsInfo();
+#endif
+	
 private:
 	enum
 		{
@@ -134,15 +155,11 @@
 		ELangChangePending = 0x08 // This flag is used to check if applist update is in progress on language change event.
 		};
 private:
-	CApaAppList(RFs& aFs, TBool aLoadMbmIconsOnDemand, TInt aIdlePeriodicDelay);
-	void UpdateNextAppL(const TApaAppEntry& aAppEntry,TBool& aHasChanged);
+    CApaAppList(RFs& aFs, TBool aLoadMbmIconsOnDemand, TInt aIdlePeriodicDelay); 
 	void AddToList( CApaAppData* aAppData );
-	static void SetPending(CApaAppData* aAppData);
-	static void SetNotFound(CApaAppData* aAppData, TBool& aHasChanged);
 	static TInt IdleUpdateCallbackL(TAny* aObject);
 	TInt IdleUpdateL();
 	void ScanComplete();
-	void UndoSetPending(CApaAppData* aAppData);
 
 	void StopIdler();
 	void DeleteAppData();
@@ -154,6 +171,16 @@
 	void DeleteAppsListBackUpAndTempFiles();
 	void ScanRemovableDrivesAndUpdateL();
 	void CreateDefaultAppIconFileNameL();
+	
+#ifndef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK
+    void UndoSetPending(CApaAppData* aAppData);
+    static void SetPending(CApaAppData* aAppData);
+    static void SetNotFound(CApaAppData* aAppData, TBool& aHasChanged);
+    void UpdateNextAppL(const TApaAppEntry& aAppEntry,TBool& aHasChanged);
+#else
+    TInt FindAndDeleteApp(TUid aAppUid);
+#endif
+    
 private: 
 	// Persistence Layer
 	void RestoreL();
@@ -236,13 +263,18 @@
 	MApaAppListObserver* iObserver;
 	CApaAppData* iValidFirstAppData; //First valid app data in linked list!
 	TInt iFlags;
-	CApaAppRegFinder* iAppRegFinder;
-	TInt iIdlePeriodicDelay; 	// idle timeout periodic delay
+	TInt iIdlePeriodicDelay;    // idle timeout periodic delay	
 	RFs iFsShareProtected;
 	mutable CApaAppIconArray* iDefaultIconArray;
 	mutable TInt iDefaultIconUsageCount;
-	CDesCArray* iForcedRegistrations;
 	class CApaLangChangeMonitor; //inner class of CApaAppList.
+	
+#ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK	
+	class CApaScrAppInfo;
+#else
+   CDesCArray* iForcedRegistrations;
+#endif
+	
 	CApaLangChangeMonitor* iAppLangMonitor; // Active Object used for language change monitoring.		
 
 	RBuf iAppsListCacheFileName;
@@ -256,8 +288,17 @@
 	RPointerArray<CCustomAppInfoData> iCustomAppList;
 	CApaIconCaptionOverrides* iIconCaptionOverrides;
 	CApaIconCaptionCenrepObserver* iIconCaptionObserver;
-	TBool iNNAInstallation;	
-    CArrayFixFlat<TUid>* iUninstalledApps; 	
+    CArrayFixFlat<TUid>* iUninstalledApps;
+    
+#ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK    
+    Usif::RSoftwareComponentRegistry iScr;
+    CApaScrAppInfo *iScrAppInfo;
+    RArray<TUid> iForceRegAppUids;
+    CArrayFixFlat<TApaAppUpdateInfo>* iAppsUpdated;
+#else
+    CApaAppRegFinder* iAppRegFinder;
+    TBool iNNAInstallation; 
+#endif
     
 private:
 	friend class CApaLangChangeMonitor;