diff -r aa99f2208aad -r b8d18c84f71c localisation/apparchitecture/apgrfx/APGAIR.H --- a/localisation/apparchitecture/apgrfx/APGAIR.H Wed Jul 28 16:03:37 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,258 +0,0 @@ -// Copyright (c) 2004-2009 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" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// - -#if !defined(__APGAIR_H__) -#define __APGAIR_H__ - -#if !defined(__APAID_H__) -#include -#endif -#if !defined(__APMSTD_H__) -#include -#endif - -#include -#include - -/** -@internalComponent -*/ -class ApaUtils - { -public: - IMPORT_C static TBool HandleAsRegistrationFile(const TUidType& aUidType); - }; - -/** The 2nd UID that defines a resource file as being an application registration resource file. - -@internalComponent -*/ -const TUid KUidAppRegistrationFile ={0x101F8021}; - -class CApaMaskedBitmap; -class CApaAppViewData; -class TEntry; -class RFs; -class CResourceFile; -class RResourceReader; -class CApaAppList; -class CApaAppIconArray; - -/** -@internalComponent -*/ - -NONSHARABLE_CLASS(CApaIconLoader) : public CBase - { -public: - static CApaIconLoader* NewL(RFs& aFs); - static CApaIconLoader* NewLC(RFs& aFs); - ~CApaIconLoader(); - - void AddIconArrayL(const CApaAppIconArray& aIcons); - void LoadAllIconsL(); - TBool LoadIconsL(TInt aNumOfIcons, const TDesC& aMbmFileName, CArrayPtr& aIcons); - -private: - CApaIconLoader(RFs& aFs); - void ConstructL(); - TInt IconIndexL(const TDesC& aFileName, TBool& aUseCache); - static TInt CompareIcons(const CApaMaskedBitmap& aFirst, const CApaMaskedBitmap& aSecond); - -private: - struct TKeyValuePair - { - public: - HBufC* iFileName; // key - TInt iIndex; // value - }; -private: - RFs& iFs; - RArray iIconIndexArray; - TInt iCachedArrayIndex; - RPointerArray iIconArrays; - }; - -/** -@internalComponent -*/ -NONSHARABLE_CLASS(CApaAppIconArray) : public CBase - { -public: - static CApaAppIconArray* NewL(); // creates a dummy icon array - static CApaAppIconArray* NewAppIconsL(TInt aNumOfIcons, const TDesC& aMbmFileName, CApaIconLoader& aIconLoader); - static CApaAppIconArray* NewViewIconsL(TInt aNumOfIcons, const TDesC& aMbmFileName, CApaIconLoader& aIconLoader); - static CApaAppIconArray* NewDefaultIconsL(); // creates a CApaAppIconArray that uses the default icons - static CApaAppIconArray* NewRealDefaultIconsLC(TInt aNumOfIcons, const TDesC& aMbmFileName, CApaIconLoader& aIconLoader); // creates the CApaAppIconArray that contains the default icons - ~CApaAppIconArray(); - - TBool LoadIconsL(); - - CApaMaskedBitmap* IconBySize(const TSize& aSize) const; - CArrayFixFlat* IconSizesL() const; - TInt Count() const; - TBool DefaultIconsUsed() const; - CApaMaskedBitmap* operator[](TInt aIndex) const; -#ifdef SYMBIAN_APPARC_APPINFO_CACHE - TBool AreAppIconsLoaded() const; - TBool AreViewIconsLoaded() const; -#endif // SYMBIAN_APPARC_APPINFO_CACHE - -private: - static CApaAppIconArray* NewL(TInt aNumOfIcons, const TDesC& aMbmFileName, CApaIconLoader& aIconLoader, TBool aFallbackToDefaultIcons); - static CApaAppIconArray* NewLC(TInt aNumOfIcons, const TDesC& aMbmFileName, CApaIconLoader& aIconLoader, TBool aFallbackToDefaultIcons); - CApaAppIconArray(); - CApaAppIconArray(TInt aNumOfIcons, CApaIconLoader& aIconLoader, TBool aFallbackToDefaultIcons); - void ConstructL(const TDesC& aMbmFileName); - void GetDefaultIconsL(); - const CApaAppIconArray& DefaultIcons() const; - -private: - TInt iNumOfIcons; - CApaIconLoader* iIconLoader; - TBool iFallbackToDefaultIcons; - HBufC* iMbmFileName; - TBool iDefaultIconsUsed; - CArrayPtrFlat* iIcons; - CApaAppList* iDefaultIconsProvider; - }; - -class CApaAppInfoReader : public CBase -/** -Abstract base class for application information readers. - -Concrete implementations should read information from some -data source and implement policy specific to each reader. - -@internalComponent -*/ - { -public: - ~CApaAppInfoReader(); -public: - HBufC* AppBinaryFullName(); - TUidType AppBinaryUidType() const; - TTime TimeStamp() const; - TTime IconFileTimeStamp() const; - void Capability(TDes8& aCapabilityBuf) const; - TUint DefaultScreenNumber() const; - HBufC* Caption(); - HBufC* ShortCaption(); - CApaAppIconArray* Icons(); -#ifdef SYMBIAN_APPARC_APPINFO_CACHE - TInt NumOfAppIcons() const; - virtual CApaIconLoader* IconLoader() = 0; -#else - TBool DefaultIconsUsed() const; -#endif // SYMBIAN_APPARC_APPINFO_CACHE - CArrayPtrFlat* Views(); - CDesCArray* OwnedFiles(); - HBufC* IconFileName(); - TBool NonMbmIconFile() const; - HBufC* LocalisableResourceFileName(); - TTime LocalisableResourceFileTimeStamp() const; - TLanguage AppLanguage() const; - CArrayFixFlat* ServiceArray(TInt& aIndexOfFirstOpenService); - HBufC8* OpaqueData(); - -public: - virtual TBool Read()=0; -protected: - CApaAppInfoReader(RFs& aFs, const TUid aAppUid); - -protected: - RFs& iFs; - TUid iAppUid; - HBufC* iAppBinaryFullName; - TUidType iAppBinaryUidType; - TTime iTimeStamp; - TTime iIconFileTimeStamp; - TApaAppCapability iCapability; - TUint iDefaultScreenNumber; - HBufC* iCaption; - HBufC* iShortCaption; - CApaAppIconArray* iIcons; -#ifdef SYMBIAN_APPARC_APPINFO_CACHE - TInt iNumOfAppIcons; -#else - TBool iDefaultIconsUsed; -#endif - CArrayPtrFlat* iViewDataArray; - CDesCArray* iOwnedFileArray; - HBufC* iIconFileName; - TBool iNonMbmIconFile; // ETrue if icon filename is not an MBM file, however, EFalse does not necessarily mean it is an MBM file - HBufC* iLocalisableResourceFileName; - TTime iLocalisableResourceFileTimeStamp; - TLanguage iApplicationLanguage; - CArrayFixFlat* iServiceArray; - TInt iIndexOfFirstOpenService; - TBool iOpenServiceIsLegacy; - HBufC8* iOpaqueData; - }; - -class CApaAppInfoReaderV2 : public CApaAppInfoReader -/** -Reads application information from a combination of registration file, -optional localisable resource file and optional icon file. -Application information stored in this way is referred to as version 2. - -@internalComponent -*/ - { -public: -#ifdef SYMBIAN_APPARC_APPINFO_CACHE - static CApaAppInfoReaderV2* NewL(RFs& aFs, const TDesC& aRegistrationFileName, const TUid aAppUid); - virtual CApaIconLoader* IconLoader(); -#else - static CApaAppInfoReaderV2* NewL(RFs& aFs, const TDesC& aRegistrationFileName, const TUid aAppUid,const TDesC& aDefaultAppIconFileName); -#endif // SYMBIAN_APPARC_APPINFO_CACHE - ~CApaAppInfoReaderV2(); - -public: - virtual TBool Read(); - static TBool FileIsMbm(const TDesC& aFileName); - -private: -#ifdef SYMBIAN_APPARC_APPINFO_CACHE - CApaAppInfoReaderV2(RFs& aFs, const TDesC& aRegistrationFileName, const TUid aAppUid); -#else - CApaAppInfoReaderV2(RFs& aFs, const TDesC& aRegistrationFileName, const TUid aAppUid, const TDesC& aDefaultAppIconFileName); -#endif - void ConstructL(); - void ReadMandatoryInfoL(CResourceFile*& aRegistrationFile, RResourceReader& aResourceReader); - void ReadNonLocalisableInfoL(RResourceReader& aResourceReader, CResourceFile*& aLocalisableResourceFile, TUint& aLocalisableResourceId); - void ReadNonLocalisableOptionalInfoL(RResourceReader& aResourceReader, const CResourceFile* aRegistrationFile, CResourceFile* aLocalisableResourceFile); - void ReadDataTypesL(RResourceReader& aResourceReader, CArrayFixFlat& aDatatypes); - void ReadLocalisableInfoL(const CResourceFile* aResourceFile, TUint aResourceId, TBool& aUseDefaultIcons); - HBufC* FullIconFileNameL(const TDesC& aIconFileName) const; - TBool HasWriteDeviceDataCap(); - void ReadAppSecurityInfo(); - - TBool FileIsMbmWithGenericExtensionL(const TDesC& aFileName) const; - static HBufC8* ReadOpaqueDataL(TUint aResourceId, const CResourceFile* aRegistrationFile, CResourceFile* aLocalisableResourceFile); - -private: - const TDesC& iRegistrationFileName; - TBool iHasWriteDeviceDataCap; - TBool iIsSidTrusted; - // This flag is used to determine if app security info was allready read - TBool iSecurityInfoHasBeenRead; - CApaIconLoader* iIconLoader; -#ifndef SYMBIAN_APPARC_APPINFO_CACHE - const TDesC& iDefaultAppIconFileName; -#endif - }; - -#endif