--- 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;