diff -r 0818dd463d41 -r 924385140d98 appfw/apparchitecture/aplist/aplapplist.h --- 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 #include +#ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK +#include +#include +#include +#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* 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* aAppUpdateInfo, TUid aSecureID); + IMPORT_C void UpdateApplistByForceRegAppsL(RPointerArray& aForceRegAppsInfo); + IMPORT_C CArrayFixFlat* 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 iCustomAppList; CApaIconCaptionOverrides* iIconCaptionOverrides; CApaIconCaptionCenrepObserver* iIconCaptionObserver; - TBool iNNAInstallation; - CArrayFixFlat* iUninstalledApps; + CArrayFixFlat* iUninstalledApps; + +#ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK + Usif::RSoftwareComponentRegistry iScr; + CApaScrAppInfo *iScrAppInfo; + RArray iForceRegAppUids; + CArrayFixFlat* iAppsUpdated; +#else + CApaAppRegFinder* iAppRegFinder; + TBool iNNAInstallation; +#endif private: friend class CApaLangChangeMonitor;